Stripe のホスティング登録
Stripe のホスティング登録フローにリダイレクトして連結アカウントを登録します。
Stripe のホスティング登録は、連結アカウントからビジネス確認情報と本人確認情報を収集します。これは、Stripe がオンラインで提供するウェブフォームであり、各連結アカウントのケイパビリティ、国、ビジネスのタイプに基づいて動的に調整されます。Stripe のホスティング登録は、プラットフォームの負荷を抑えて Stripe にアカウント登録を任せる場合に推奨されるソリューションです。
Stripe の導入サンプルである Rocket Deliveries のホスティング登録フォームは以下のようになります。
アカウント登録フォームをカスタマイズするダッシュボード
ダッシュボードの Connect の設定ページに移動して、ブランド名、色、アイコンでフォームの視覚的なデザインをカスタマイズします。Stripe のホスティング登録にはこの情報が必要です。Stripe では、連結アカウントのアカウント登録を行う際に、その銀行口座情報を収集することもお勧めしています。
アカウントを作成し、情報を事前入力するサーバー側
デフォルトの controller (コントローラー) プロパティを使用して連結アカウントを作成します。コントローラープロパティについて、詳細はシステムの設計をご覧ください。または、アカウントの type (タイプ) を指定して、連結アカウントを作成することもできます。
連結アカウントの国が分かっている場合は、アカウントを作成する際にその情報を入力できます。入力しない場合、デフォルトでプラットフォームと同じ国に設定されます。
To request capabilities for your connected account, you can provide that information when you create the account. Stripe’s onboarding UIs automatically collect the requirements for those capabilities. To reduce onboarding effort, request only the capabilities you need. If you omit capabilities, and your connected account has access to the full Stripe Dashboard or the Express Dashboard, capabilities are automatically requested. For accounts with access to the Express dashboard, Stripe-hosted onboarding uses the Configuration settings to request capabilities based on the account’s country.
アカウント所有者に関する情報 (氏名、住所、その他の詳細など) を入手している場合、アカウントの create (作成) または update (更新) 時に、事前に情報を提供することができます。Stripe のホスティング登録では、Connect 利用規約に同意する前に、事前入力された情報を確認するようアカウント所有者に求めます。API を使用して追加情報を提供することにより、メッセージの数が減り、連結アカウントの登録フローが強化されます。
また、ウェブサイトを持たないアカウントを登録する際に、プラットフォームがアカウントに URL を提供している場合は、そのアカウントの business_profile.url を事前入力します。アカウントに URL がない場合は、代わりに business_profile.product_description を事前入力できます。
実装内容をテストする際は、テストデータを使用して、本人確認、事業情報の確認、入金の失敗などのさまざまな結果をシミュレーションできます。
収集する情報を決定する
プラットフォームは、連結アカウントから必要な情報を事前に収集するか (アップフロント)、段階的に収集するか (インクリメンタル) を決定する必要があります。アップフロントアカウント登録では、アカウントの eventually_
要件を収集するのに対して、インクリメンタルアカウント登録では currently_
要件のみを収集します。
アップフロントアカウント登録 | インクリメンタルアカウント登録 | |
---|---|---|
長所 |
|
|
短所 |
|
|
アップフロントまたはインクリメンタルのどちらのアカウント登録を使用するかを決定するには、連結アカウントが所在する国で必要な情報を確認して、今後期日を迎える要件を把握してください。Stripe は連結アカウントへの影響を最小限に抑えるように努めていますが、時間の経過につれて要件が変化する可能性があることに留意してください。
アカウントリンクを作成するサーバー側
連結アカウントの ID を使用して Account Link (アカウントリンク) を作成し、再読み込み URL と戻り先 URL を含めます。アカウントリンクの URL がすでに使用されているか、期限切れであるか、または無効である場合、Stripe は連結アカウントを再読み込み URL にリダイレクトします。Stripe は、連結アカウントがアカウント登録フローを完了または中断すると、戻り先 URL にリダイレクトします。さらに、収集する必要のある情報に基づいて、collection_
に currently_
または eventually_
のいずれかを渡します。この例では、アップフロントアカウント登録を使用するために eventually_
を渡します。インクリメンタルアカウント登録を使用するには、currently_
を設定します。
連結アカウントをアカウントリンク URL にリダイレクトする
連結アカウントをアカウントリンク URL にリダイレクトして、アカウント登録フローに送ります。各アカウントリンク URL は、アカウント所有者の個人情報へのアクセスを許可するため、1 度しか使用できません。この URL にリダイレクトする前に、アプリケーションでアカウントを認証してください。
期日が来た新しい要件に対応するサーバー側
Set up your integration to listen for changes to account requirements. You can test handling new requirements (and how they might disable charges and payouts) with the test mode trigger cards.
Based on your application’s verification requirements, send the connected account back through onboarding when it has currently_
or eventually_
requirements. Use these signals to determine when it’s necessary to re-initiate onboarding for a connected account.
You don’t need to worry about determining which requirements are missing. Onboarding collects the necessary information. For example, if there’s a typo preventing verification, onboarding prompts the connected account to upload an identity document (such as a Driver’s License in the United States). If any information is missing, onboarding requests it.
Stripe notifies you about any upcoming requirements updates that affect your connected accounts. You can proactively collect this information by reviewing the future requirements for your accounts.
確認エラーを処理する
account.updated イベントをリッスンします。current_
が着信したときにアカウントに currently_
フィールドが含まれている場合は、対応する機能が無効になり、そのフィールドが past_
に追加されます。
Stripe ホスティング登録フォームにアカウントを誘導して、確認要件を修正できるようにします。
プラットフォームに戻る連結アカウントに対応する
連結アカウントがプラットフォームにリダイレクトされるすべてのケースに対応するために、アカウントリンクには refresh_
と return_
が必要です。連結アカウントに最適なアカウント登録フローを提供するには、これらを正しく実装することが重要です。
注
テスト環境では (ローカルでテストする場合など)、refresh_
と return_
に HTTP を使用できますが、本番環境では HTTPS のみが使用可能です。本番移行前に、テスト用の URL を HTTPS の URL に入れ替えてください。
再読み込み URL
以下の場合、連結アカウントは refresh_
にリダイレクトされます。
- リンクの期限が切れている (リンク作成後、数分が経過した)。
- リンクがすでに使用された (連結アカウントがページを更新したか、ブラウザーで戻るまたは進むボタンをクリックした)。
- リンクが、URL にアクセスしてプレビューを試みる、メッセージングクライアントなどのサードパーティーアプリケーションに共有された。または、多くのクライアントが自動的にリンクにアクセスすることにより、期限切れになった場合。
refresh_
は、サーバーでメソッドを呼び出して、同じパラメーターを使用して新しい Account Link (アカウントリンク) を作成し、また連結アカウントを新しいアカウントリンクの URL にリダイレクトします。
戻り先 URL
ユーザーがアカウント登録フローを完了するか、フローの任意の時点で後で処理するために保存をクリックすると、Stripe はもう一度この URL に連結アカウントをリダイレクトします。これは、すべての情報が収集されたことを意味するものでも、アカウントの要件がすべて満たされたことを意味するものでもありません。ユーザーがフローに正常に入り、そこから正常に出たことのみを意味します。
この URL で状態は渡されません。連結アカウントが return_
にリダイレクトされたら、アカウント登録が完了したかどうかを確認します。アカウントを Retrieve (取得) し、未対応の要件がないか requirements (要件) 属性を確認します。または、Webhook エンドポイントに送信された account.
イベントをリッスンし、アプリケーションでアカウントの状態をキャッシュします。アカウント登録を完了していない場合は、後で引き続きアカウント登録できるように、アプリケーションにメッセージを表示します。
連結アカウントによって開始された更新を処理する
Stripe ホスティング登録では、すでに提供した情報に対する、連結アカウントによって開始される更新もサポートされています。アカウントリンクを作成する際、type
を account_
または account_
のいずれかに設定できます。
アカウント登録
このタイプのアカウントリンクは、未対応の要件を入力するためのフォームを提供します。新しい連結アカウントを登録する場合、または既存のユーザーに新しい要件がある場合 (たとえば、連結アカウントからすでに十分な情報が提供されていたが、お客様が追加情報を必要とする新しいケイパビリティをリクエストした場合など) に使用します。このタイプのアカウントリンクにユーザーを送ると、必要な新しい情報のみが収集されます。
アカウントの更新
このタイプのアカウントリンクは、プラットフォームが要件の収集について責任を負うアカウントに対して有効になります。account_
リンクには、アカウントオブジェクトにすでに入力されている属性が表示され、連結アカウントは以前に提供した情報を編集できます (住所を更新する必要がある場合など)。ご使用のアプリケーションで、連結アカウントが自身で更新するためのオプション (「プロフィールの編集」や「本人確認情報の更新」など) を用意します。
サポートされるブラウザー
Stripe ホスティング登録は以下に対応しています。
- Chrome と Firefox の最新の 20 のメジャーバージョン
- Safari と Edge の最新の 2 つのメジャーバージョン
- iOS のモバイル Safari の最新の 2 つのメジャーバージョン
Stripe がオンラインで提供するアカウント登録は、ウェブブラウザーでのみサポートされ、モバイルまたはデスクトップアプリケーション内の埋め込みウェブビューでは使用できません。