Stripe のホスティング登録
Stripe のホスティング登録は、連結アカウントからビジネス確認情報と本人確認情報を収集します。これは、Stripe がオンラインで提供するウェブフォームであり、各連結アカウントのケイパビリティ、国、ビジネスのタイプに基づいて動的に調整されます。Stripe のホスティング登録は、プラットフォームの負荷を抑えて Stripe にアカウント登録を任せる場合に推奨されるソリューションです。
Stripe の導入サンプルである Rocket Deliveries のホスティング登録フォームは以下のようになります。
アカウント登録フォームをカスタマイズするダッシュボード
ダッシュボードの Connect の設定ページに移動して、ブランド名、色、アイコンでフォームの視覚的なデザインをカスタマイズします。Stripe のホスティング登録にはこの情報が必要です。Stripe では、連結アカウントのアカウント登録を行う際に、その銀行口座情報を収集することもお勧めしています。
アカウントを作成し、情報を事前入力するサーバー側
デフォルトの controller (コントローラー) プロパティを使用して連結アカウントを作成します。コントローラープロパティについて、詳細はシステムの設計をご覧ください。または、アカウントの type (タイプ) を指定して、連結アカウントを作成することもできます。
連結アカウントの国が分かっている場合は、アカウントを作成する際にその情報を入力できます。入力しない場合、デフォルトでプラットフォームと同じ国に設定されます。
連結アカウントのケイパビリティをリクエストする必要がある場合は、アカウントの作成時にその情報を提供し、Stripe のアカウント登録 UI でそれらのケイパビリティの要件を収集できます。アカウント登録の負荷を軽減するため、必要なケイパビリティのみをリクエストしてください。ケイパビリティを省略して、連結アカウントが Express ダッシュボードにアクセスできる場合、Stripe のホスティング登録は設定を使用して、アカウントの国に応じてケイパビリティを自動的にリクエストします。
アカウント所有者に関する情報 (氏名、住所、その他の詳細など) を入手している場合、アカウントの create (作成) または update (更新) 時に、事前に情報を提供することができます。Stripe のホスティング登録では、Connect 利用規約に同意する前に、事前入力された情報を確認するようアカウント所有者に求めます。API を使用して追加情報を提供することにより、メッセージの数が減り、連結アカウントの登録フローが強化されます。
また、ウェブサイトを持たないアカウントを登録する際に、プラットフォームがアカウントに URL を提供している場合は、そのアカウントの business_profile.url を事前入力します。アカウントに URL がない場合は、代わりに business_profile.product_description を事前入力できます。
実装内容をテストする際は、テストデータを使用して、本人確認、事業情報の確認、入金の失敗などのさまざまな結果をシミュレーションできます。
収集する情報を決定する
プラットフォームは、連結アカウントから必要な情報を事前に収集するか (アップフロント)、段階的に収集するか (インクリメンタル) を決定する必要があります。アップフロントアカウント登録では、アカウントの eventually_due
要件を収集するのに対して、インクリメンタルアカウント登録では currently_due
要件のみを収集します。
アップフロントアカウント登録 | インクリメンタルアカウント登録 | |
---|---|---|
長所 |
|
|
短所 |
|
|
アップフロントまたはインクリメンタルのどちらのアカウント登録を使用するかを決定するには、連結アカウントが所在する国で必要な情報を確認して、今後期日を迎える要件を把握してください。Stripe は連結アカウントへの影響を最小限に抑えるように努めていますが、時間の経過につれて要件が変化する可能性があることに留意してください。
アカウントリンクを作成するサーバー側
連結アカウントの ID を使用して Account Link (アカウントリンク) を作成し、再読み込み URL と戻り先 URL を含めます。アカウントリンクの URL がすでに使用されているか、期限切れであるか、または無効である場合、Stripe は連結アカウントを再読み込み URL にリダイレクトします。Stripe は、連結アカウントがアカウント登録フローを完了または中断すると、戻り先 URL にリダイレクトします。さらに、収集する必要のある情報に基づいて、collection_options.fields
に currently_due
または eventually_due
のいずれかを渡します。この例では、アップフロントアカウント登録を使用するために eventually_due
を渡します。インクリメンタルアカウント登録を使用するには、currently_due
を設定します。
連結アカウントをアカウントリンク URL にリダイレクトする
連結アカウントをアカウントリンク URL にリダイレクトして、アカウント登録フローに送ります。各アカウントリンク URL は、アカウント所有者の個人情報へのアクセスを許可するため、1 度しか使用できません。この URL にリダイレクトする前に、アプリケーションでアカウントを認証してください。
期日が来た新しい要件に対応するサーバー側
アカウント要件の変更をリッスンするように実装内容を設定します。テスト環境トリガーカードを使用して、新しい要件 (およびそれらの要件によって支払いや入金がどのように無効になるか) の処理をテストできます。今後予定されている要件の更新が連結アカウントに影響する場合には、Stripe からご連絡いたします。
future requirements (今後の要件) を満たすための情報を前もって収集できます。申請の確認ニーズに基づき、必要に応じて連結アカウントをアカウント登録に送り返して currently_due
または eventually_due
の要件を満たします。これを、フローに連結アカウントを送り返すタイミングを示す合図として使用できます。
要件が何かを心配する必要はありません。連結アカウントをアカウント登録に送り返すと、適切な情報が収集されます。たとえば、ユーザーが情報を誤って入力して本人確認できない場合、本人確認書類 (アメリカの運転免許証など) の提出を求められる場合があります。このユーザーを Connect アカウント登録に送信すると、本人であることを確認できる書類のアップロードを求めるメッセージがユーザーに表示されます。
確認エラーを処理する
account.updated イベントをリッスンします。current_deadline
が着信したときにアカウントに currently_due
フィールドが含まれている場合は、対応する機能が無効になり、そのフィールドが past_due
に追加されます。
Stripe ホスティング登録フォームにアカウントを誘導して、確認要件を修正できるようにします。
プラットフォームに戻る連結アカウントに対応する
連結アカウントがプラットフォームにリダイレクトされるすべてのケースに対応するために、アカウントリンクには refresh_url
と return_url
が必要です。連結アカウントに最適なアカウント登録フローを提供するには、これらを正しく実装することが重要です。
注
テスト環境では (ローカルでテストする場合など)、refresh_url
と return_url
に HTTP を使用できますが、本番環境では HTTPS のみが使用可能です。本番移行前に、テスト用の URL を HTTPS の URL に入れ替えてください。
再読み込み URL
以下の場合、連結アカウントは refresh_url
にリダイレクトされます。
- リンクの期限が切れている (リンク作成後、数分が経過した)。
- リンクがすでに使用された (連結アカウントがページを更新したか、ブラウザーで戻るまたは進むボタンをクリックした)。
- リンクが、URL にアクセスしてプレビューを試みる、メッセージングクライアントなどのサードパーティーアプリケーションに共有された。または、多くのクライアントが自動的にリンクにアクセスすることにより、期限切れになった場合。
refresh_url
は、サーバーでメソッドを呼び出して、同じパラメーターを使用して新しい Account Link (アカウントリンク) を作成し、また連結アカウントを新しいアカウントリンクの URL にリダイレクトします。
戻り先 URL
ユーザーがアカウント登録フローを完了するか、フローの任意の時点で後で処理するために保存をクリックすると、Stripe はもう一度この URL に連結アカウントをリダイレクトします。これは、すべての情報が収集されたことを意味するものでも、アカウントの要件がすべて満たされたことを意味するものでもありません。ユーザーがフローに正常に入り、そこから正常に出たことのみを意味します。
この URL で状態は渡されません。連結アカウントが return_url
にリダイレクトされたら、アカウント登録が完了したかどうかを確認します。アカウントを Retrieve (取得) し、未対応の要件がないか requirements (要件) 属性を確認します。または、Webhook エンドポイントに送信された account.updated
イベントをリッスンし、アプリケーションでアカウントの状態をキャッシュします。アカウント登録を完了していない場合は、後で引き続きアカウント登録できるように、アプリケーションにメッセージを表示します。
連結アカウントによって開始された更新を処理する
Stripe ホスティング登録では、すでに提供した情報に対する、連結アカウントによって開始される更新もサポートされています。アカウントリンクを作成する際、type
を account_onboarding
または account_update
のいずれかに設定できます。
アカウント登録
このタイプのアカウントリンクは、未対応の要件を入力するためのフォームを提供します。新しい連結アカウントを登録する場合、または既存のユーザーに新しい要件がある場合 (たとえば、連結アカウントからすでに十分な情報が提供されていたが、お客様が追加情報を必要とする新しいケイパビリティをリクエストした場合など) に使用します。このタイプのアカウントリンクにユーザーを送ると、必要な新しい情報のみが収集されます。
アカウントの更新
このタイプのアカウントリンクは、プラットフォームが要件の収集について責任を負うアカウントに対して有効になります。account_update
リンクには、アカウントオブジェクトにすでに入力されている属性が表示され、連結アカウントは以前に提供した情報を編集できます (住所を更新する必要がある場合など)。ご使用のアプリケーションで、連結アカウントが自身で更新するためのオプション (「プロフィールの編集」や「本人確認情報の更新」など) を用意します。
サポートされるブラウザー
Stripe ホスティング登録は以下に対応しています。
- Chrome と Firefox の最新の 20 のメジャーバージョン
- Safari と Edge の最新の 2 つのメジャーバージョン
- iOS のモバイル Safari の最新の 2 つのメジャーバージョン
WebView を使用して埋め込む場合、Stripe のホスティング登録はサポートされません。スタンドアロンのブラウザーでのみご利用いただけます。