# Custom アカウントの Stripe がホストするユーザー登録 Stripe が連結された Custom アカウントの本人確認情報を収集できるようにします。 > #### 新しい Connect の連携機能 > > このページの情報は、レガシーの連結アカウントタイプをすでに使用しているプラットフォームにのみ該当します。Stripe がホストするユーザー登録を利用して連結アカウントを登録する場合は、[Stripe がホストするユーザー登録](https://docs.stripe.com/connect/hosted-onboarding.md)をご覧ください。 [Custom アカウント向けの Connect アカウント登録](https://stripe.com/connect/onboarding)とは、Stripe がオンラインで提供するウェブフォームで、ユーザーから本人確認情報を収集するものです。収集した情報を動的に調整して、連結アカウントのケイパビリティ、国、およびビジネスタイプを反映します。*Connect* (Connect is Stripe's solution for multi-party businesses, such as marketplace or software platforms, to route payments between sellers, customers, and other recipients) アカウント登録は、Custom アカウントの本人確認情報を収集するための推奨ソリューションであり、フローは以下に対して最適化されています。 - モバイルブラウザ - アクセシビリティ - 国際化とローカリゼーション - コンバージョン率 - アカウントですでに提供されている情報に基づいて適切に判断して要件を要求 Stripe のサンプル統合である [Furever](https://furever.dev/) のフォームは次のようになります。 ![Connect アカウント登録フォームのスクリーンショット](https://b.stripecdn.com/docs-statics-srv/assets/hosted_onboarding_form.e59ba8300f563e43489953f06127f52c.png) ## Custom アカウントに Connect アカウント登録を使用する方法 1. [アカウント登録の設定](https://dashboard.stripe.com/settings/connect/onboarding-interface)に移動し、フォームのデザインをカスタマイズします。自社ブランドの名前、色、アイコンを指定してください。[Stripe Financial Connections](https://docs.stripe.com/financial-connections.md) を使用して手動または即時に[フォーム内で銀行口座の詳細を収集](https://dashboard.stripe.com/settings/connect/payouts/external_accounts)する必要があります。 1. 新しいアカウントを作成してアカウント ID を取得するか、既存のアカウント ID (`acct_XXXXXXXX`の形式) を使用します。 1. アカウント所有者に関する情報 (氏名、住所、その他詳細など) を入手している場合、[account create or update methods (アカウントの作成メソッドまたは更新メソッド)](https://docs.stripe.com/api/accounts.md) を使用して、事前に情報を提供することができます。API で提供する情報が多ければ多いほど、Connect アカウント登録でユーザーが入力を求められる情報が少なくなります。 1. 以下のパラメータを使用して、[Account Link (アカウントリンク)](https://docs.stripe.com/api/account_links.md) を呼び出します (詳細については、[API リファレンス](https://docs.stripe.com/api/account_links.md)を参照してください)。 - `account` - `refresh_url` - `return_url` - `type` - `collection_options` (オプション) 1. お客様のプラットフォームのアカウント登録フローで、[Account Link (アカウントリンク)](https://docs.stripe.com/api/account_links.md) によって返された `url` にユーザをリダイレクトします。 1. アカウントのその他の状態を処理し、必要に応じてユーザーを Connect アカウント登録フローにリダイレクトします。ユーザーがすでに提供した情報をユーザー自身で更新できるようにするには、お客様のプラットフォームのダッシュボードからユーザーが Connect アカウント登録フォームに新たにリダイレクトできる方法を作成します。 ## 収集する情報を決定する Custom アカウント向けの Connect アカウント登録は、アップフロントアカウント登録や*インクリメンタルアカウント登録* (Incremental onboarding is a type of onboarding where you gradually collect required verification information from your users. You collect a minimum amount of information at sign-up, and you collect more information as the connected account earns more revenue)をサポートしています。*アップフロントアカウント登録* (Upfront onboarding is a type of onboarding where you collect all required verification information from your users at sign-up)は、アカウントの `eventually_due` 要件を収集し、インクリメンタルアカウント登録は `currently_due` 要件を収集します。それぞれのメリットとデメリットについては、[アカウント登録フローのドキュメント](https://docs.stripe.com/connect/identity-verification.md#onboarding-flows)をご覧ください。 `currently_due` 要件は、この特定の時点での確認に必要なユーザ情報のみを要求します。`eventually_due` 要件には、最終的に収集する必要があるすべての質問が含まれています。 プラットフォームのニーズに基づいて、`currently_due` または `eventually_due` を [Account Link (アカウントリンク)](https://docs.stripe.com/api/account_links.md) への呼び出し時の `collection_options.fields` パラメーターの値として渡します。次にリクエストの例を示します。 ```curl curl https://api.stripe.com/v1/account_links \ -u "<>:" \ -d "account={{CONNECTEDACCOUNT_ID}}" \ --data-urlencode "refresh_url=https://example.com/reauth" \ --data-urlencode "return_url=https://example.com/return" \ -d type=account_onboarding \ -d "collection_options[fields]=eventually_due" ``` ## ユーザをアカウントリンク URL にリダイレクトする [Account Link](https://docs.stripe.com/api/account_links.md) リクエストへのレスポンスには、`url` キーの値が含まれています。ユーザーをこのリンクにリダイレクトして、フローに合流させます。Account Link の URL は、アカウント所有者の個人情報へのアクセスを許可するため、1 回しか使用できません。この URL にリダイレクトする前に、アプリケーションでユーザーを認証します。[入金アカウントの設定](https://dashboard.stripe.com/settings/connect/payouts/external_accounts)から**、プラットフォームが要件収集を担当するアカウントで外部アカウント情報を収集する**を有効にした場合、または `treasury` ケイパビリティがリクエストされた場合、ユーザーはアカウント登録フローに入る前に Stripe で追加の認証を設定する必要があります。 > アカウントリンクの URL をメールやショートメッセージ、またはその他の方法で、プラットフォームのアプリケーション外に送信しないでください。URL は、アプリケーション内で認証済みのアカウント所有者に提供してください。 ## プラットフォームに戻るユーザに対応する Connect アカウント登録では、`return_url` と `refresh_url` の両方を渡して、ユーザーがプラットフォームにリダイレクトされるすべてのケースを処理する必要があります。ユーザーの操作性を最適化できるように、これらを正しく実装することが重要です。 > テスト環境 (たとえば、ローカルホストでテストする場合など) では、`return_url` と `refresh_url` に HTTP を使用できますが、本番環境で受け付けられるのは HTTPS のみです。本番環境へ移行する前に、テスト用 URL を HTTPS URL に更新する必要があります。 #### return_url Stripe は、ユーザーが Connect Onboarding フローを完了したとき、またはフロー内の任意の時点で **後で保存** をクリックしたときに、この URL へのリダイレクトを発行します。これは、すべての情報が収集されたこと、またはアカウントに未解決の要件がないことを意味するもの_ではありません_。フローが適切に開始され、終了したことを意味するだけです。 この URL を介して状態が渡されることはありません。ユーザーが `return_url` にリダイレクトされた後、アカウントの `requirements` 属性の状態を確認します。`account.updated` Webhook をリッスンするか、[Account (アカウント)](https://docs.stripe.com/api/accounts.md) オブジェクトを取得して、`requirements` 属性の状態を調べることができます。詳細については、以下のステップ 4 を参照してください。 #### refresh_url 以下のケースでは、ユーザは `refresh_url` にリダイレクトされます。 - リンクの期限が切れた (リンク作成後、数分が経過した) - リンクがすでに使用された (ユーザがページを更新したか、ブラウザで**戻る**または**進む**ボタンをクリックした)。 - リンクが、URL にアクセスしてプレビューを試みる、メッセージングクライアントなどのサードパーティーアプリケーションに共有された。または、多くのクライアントが自動的にリンクにアクセスすることにより、期限切れになった場合。 `refresh_url` はサーバでメソッドをトリガーし、同じパラメータを使用して [Account Link (アカウントリンク)](https://docs.stripe.com/api/account_links.md) を再度呼び出し、シームレスな体験を作成するためにユーザを Connect アカウント登録フローにリダイレクトする必要があります。 ## 新しい要件の期日が来た場合に対応する まだ行っていない場合は、アカウント要件の変更をリッスンするように組み込みを設定します。[Webhook を使用して行う](https://docs.stripe.com/connect/handling-api-verification.md#verification-process)ことをお勧めします。[テスト環境トリガーカード](https://docs.stripe.com/connect/testing.md#trigger-cards)を使用して、新しい要件の処理 (および決済と*入金* (A payout is the transfer of funds to an external account, usually a bank account, in the form of a deposit)を無効にする方法) をテストできます。 [今後予定されている要件の更新](https://support.stripe.com/user/questions/onboarding-requirements-updates)が連結アカウントに影響する場合は、お知らせいたします。 埋め込みアカウント登録または Stripe ホスティング登録を使用する場合、[future requirements (今後の要件)](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements) を満たす情報を前もって収集できます。埋め込みアカウント登録の場合は、[埋め込みアカウント登録コンポーネント](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md)に `collectionOptions` 属性を含めます。Stripe ホスティング登録の場合は、[アカウントリンクを作成する](https://docs.stripe.com/api/account_links/create.md#create_account_link-collection_options)際に `collection_options` ハッシュを指定します。 アプリケーションの検証ニーズに基づいて、必要に応じてユーザを Connect アカウント登録に送り返し、ステップ 1 で説明した `currently_due` または `eventually_due` の要件を満たします。これをユーザをフローに「いつ」戻すかの信号として使用できます。Connect アカウント登録を使用すると、要件が「何か」を心配する必要がなくなることにご留意ください。ユーザを Connect アカウント登録に送り返すと、適切な情報が収集されます。 たとえば、ユーザーが情報を誤って入力して本人確認できない場合、本人確認書類 (アメリカの運転免許証など) の提出を求められる場合があります。このユーザーを Connect アカウント登録に送信すると、本人であることを確認できる書類のアップロードを求めるメッセージがユーザーに表示されます。 > Custom アカウントで Connect アカウントを登録する場合は、デフォルトでは `external_account` の要件は収集されません。`external_account` を収集するには、[入金アカウントの設定](https://dashboard.stripe.com/settings/connect/payouts/external_accounts)から**、プラットフォームが要件収集を担当するアカウントで外部アカウント情報を収集する**を有効にします。詳しくは、[銀行口座とデビットカードの管理](https://docs.stripe.com/connect/payouts-bank-accounts.md)をご覧ください。 ## ユーザが開始した更新を処理する これまでに説明してきた Connect アカウント登録の使用方法の大部分は、ユーザーに新しい情報を提供するように促すものでした。Connect アカウント登録は、[Account Link (アカウントリンク)](https://docs.stripe.com/api/account_links.md) の `type` パラメーターを介してユーザーがすでに提供した情報をユーザー主導で更新することもサポートしています。`type` は、`account_onboarding` または `account_update` の 2 つの値のいずれかを受け入れます。 #### account_onboarding `type` のこの値は、まだ満たされていない要件を入力するためのフォームを提供します。これは、新しいユーザをアカウント登録する場合、または既存のユーザに新しい要件がある場合 (ユーザはすでに十分な情報を提供していたが、お客様が追加の情報を必要とする新しいケイパビリティを要求したときなど) に使用します。この環境でユーザをフォームに送ると、必要な新しい情報のみが収集されます。 #### account_update `type` にこの値を指定すると、アカウントオブジェクトにすでに入力されている属性が表示され、前に入力した情報をユーザーが編集できるようになります。プラットフォームのウェブサイトのアクセスポイントを `type=account_update` アカウントリンクに指定して、(ユーザーのアドレスに変更があったときなどに) ユーザーが自分で更新できるようにします。「プロフィールの編集」または「本人確認情報の更新」としてリンクをフレーム化することを検討してください。 ## サポート対象のブラウザー ホスティング登録は、[Stripe ダッシュボードが現在サポートしている](https://docs.stripe.com/dashboard/basics.md)ブラウザーで利用できます。: - Chrome と Firefox の最新の 20 の主要バージョン - Safari と Edge の最新の 2 つの主要バージョン - iOS のモバイル Safari の最新の 2 つの主要バージョン ホスティング登録は、Webview から埋め込まれた場合にはサポート対象外です。スタンドアロンのブラウザーでのみサポートされます。 ## See also - [本人確認](https://docs.stripe.com/connect/identity-verification.md)