# 埋め込みアカウント登録 連結アカウントに、現地に適応したデータ検証可能なアカウント登録フォームを提供します。 埋め込みアカウント登録は、テーマを適用できるアカウント登録 UI であり、Stripe のブランディングは限定的にしか表示されません。プラットフォームアプリケーションに[アカウント登録コンポーネント](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md)を埋め込むと、連結アカウントはアプリケーションから離れずに埋め込みコンポーネントを操作できます。 このコンポーネントは[ネットワーク経由のアカウント登録](https://docs.stripe.com/connect/networked-onboarding.md)に対応しており、複数の Stripe アカウントの所有者がアカウント間で事業情報を共有できます。アカウント登録時にそれらの情報を再提出する代わりに、既存のアカウントの情報を再利用できます。 埋め込みアカウント登録では、[Accounts API](https://docs.stripe.com/api/accounts.md) を使用して要件を読み取り、Stripe がサポートするすべての国に合わせて調整された、データ検証機能を持つアカウント登録フォームを生成します。さらに、埋め込みアカウント登録は、次のすべてを処理します。 - ビジネスのタイプ - 会社代表者の設定 - 確認書類のアップロード - 本人確認とステータス - 海外の銀行口座 - エラーの状態 このデモでは、埋め込みアカウント登録コンポーネントのインターフェイスを確認できます。 Note: The following is a preview/demo component that behaves differently than live mode usage with real connected accounts. The actual component has more functionality than what might appear in this demo component. For example, for connected accounts without Stripe dashboard access (custom accounts), no user authentication is required in production. ## アカウントを作成して情報回収を設定 [サーバー側] デフォルトの[コントローラー](https://docs.stripe.com/api/accounts/create.md#create_account-controller)プロパティーを使用して[連結アカウント](https://docs.stripe.com/api/accounts.md)を作成します。コントローラープロパティーの詳細については、[連携の設計](https://docs.stripe.com/connect/interactive-platform-guide.md)をご覧ください。または、アカウントの[種類](https://docs.stripe.com/api/accounts/create.md#create_account-type)を指定して連結アカウントを作成することもできます。 アカウントの国を指定するか、アカウントのケイパビリティをリクエストした場合、アカウント所有者は国を変更できません。それ以外の場合は、アカウントのダッシュボードへのアクセス権によって異なります。 - \** Stripe ダッシュボードの全機能:** アカウント登録時に、アカウント所有者は通常の Stripe アカウントへの登録時と同様に、任意の取引国を選択できます。Stripe は、選択された国に基づいて、アカウントのケイパビリティのセットを自動的にリクエストします。 - **Express ダッシュボード:** アカウント登録時に、アカウント所有者は、プラットフォームのダッシュボードの[アカウント登録オプション](https://dashboard.stripe.com/settings/connect/onboarding-options/countries)で設定された国のリストから選択できます。また、これらのオプションを設定して、各国のアカウントにリクエストするデフォルトのケイパビリティを指定することもできます。 - **Stripe ダッシュボードなし**:Stripe が要件収集を担当する場合、アカウント登録フローではアカウント所有者が任意の取引国を選択できます。それ以外の場合は、カスタムのアカウント登録フローで国を設定し、ケイパビリティをリクエストする必要があります。 #### コントローラープロパティを使用した場合 ```curl curl https://api.stripe.com/v1/accounts \ -u "<>:" \ -d "controller[fees][payer]=application" \ -d "controller[losses][payments]=application" \ -d "controller[stripe_dashboard][type]=express" ``` #### アカウントタイプを使用した場合 ```curl curl https://api.stripe.com/v1/accounts \ -u "<>:" \ -d type=standard ``` レスポンスには ID が含まれており、システム全体で `Account` を参照する場合はこれを使用します。 ### ケイパビリティをリクエストする アカウントの作成時に、必要なケイパビリティの `requested` プロパティを true に設定することで、[ケイパビリティ](https://docs.stripe.com/connect/account-capabilities.md#creating)をリクエストできます。Express ダッシュボードにアクセスできるアカウントの場合は、[アカウント登録オプション](https://dashboard.stripe.com/settings/connect/onboarding-options/countries)を設定して、アカウントの作成時に特定のケイパビリティを自動的にリクエストすることもできます。 Stripe のアカウント登録 UI は、リクエストされたケイパビリティの要件を自動的に収集します。アカウント登録の負荷を軽減するため、必要なケイパビリティのみをリクエストしてください。 ### 情報を事前入力する アカウント所有者に関する情報 (氏名、住所、その他の詳細など) を入手している場合、アカウントの作成時または更新時にそれを提供することで、アカウント登録をシンプルにできます。アカウント登録インターフェイスは、アカウント所有者に対して、[Connect 利用規約](https://docs.stripe.com/connect/service-agreement-types.md)に同意する前に、事前入力された情報を確認するよう求めます。アカウント所有者は、Accounts API を使用して情報を提供した場合でも、その事前入力された情報を利用規約に同意する前に編集することができます。 アカウント登録を行い、プラットフォームから URL が提供されている場合は、アカウントの [business_profile.url](https://docs.stripe.com/api/accounts/create.md#create_account-business_profile-url) を事前入力します。ビジネスに URL がない場合には、代わりに [business_profile.product_description](https://docs.stripe.com/api/accounts/create.md#create_account-business_profile-product_description) を事前入力できます。 実装内容をテストする際は、[テストデータ](https://docs.stripe.com/connect/testing.md)を使用して、本人確認、事業情報の確認、入金の失敗などのさまざまな結果をシミュレーションできます。 ### カスタム要件セットを収集する `exclude` と `only` 収集オプションを使用して、特定の要件セットを収集するように埋め込みコンポーネントを設定できます。これにより、特定の要件を収集するカスタムフローを構築し、その他のすべての要件に埋め込みコンポーネントを使用できます。以下に例を示します。 - `exclude` を使用すると、連結アカウントがコンポーネントを介して指定された要件にアクセスできなくなります。 - `only` を使用して、連結アカウントがコンポーネントを介して指定された要件にのみアクセスするように制限します。 これらの回収オプションの使用の詳細については、[アカウントユーザー登録コンポーネント](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md#requirement-restrictions)または[アカウント管理コンポーネント](https://docs.stripe.com/connect/supported-embedded-components/account-management.md#requirement-restrictions)のマニュアルを参照してください。 ## すべての情報を事前に収集するかどうかを決定する プラットフォームは、連結アカウントから必要な情報を事前に (*アップフロント* (Upfront onboarding is a type of onboarding where you collect all required verification information from your users at sign-up)) 収集するか、段階的に (*インクリメンタル* (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)) 収集するかを決定する必要があります。アップフロントアカウント登録ではアカウントの `eventually_due` 要件を収集しますが、インクリメンタルアカウント登録では `currently_due` 要件のみを収集します。 | アカウント登録のタイプ | メリット | | ------------ | --------------------------------------------------------------------------------------------------------------- | | **アップフロント** | - 通常、すべての情報に対して 1 回のみのリクエストが必要 - 期限に間に合わなかったために入金や処理に問題が生じる可能性を回避できる - アカウントが情報提供を拒否した場合の潜在的なリスクを、早期に可視化できる | | **インクリメンタル** | - アカウントは多くの情報を提供する必要がないため、素早くアカウント登録できる | アップフロントとインクリメンタルのどちらのアカウント登録を使用するかを決定するには、連結アカウントの所在地とケイパビリティに関する[要件](https://docs.stripe.com/connect/required-verification-information.md)を確認してください。Stripe は連結アカウントへの影響を最小限に抑えるように努めていますが、時間の経過とともに要件が変化する可能性があります。 お客様が必要な情報を収集する責任を負う連結アカウントの場合、`collection_options` パラメーターを使用して、[今後の要件](https://docs.stripe.com/connect/handle-verification-updates.md)の動作をカスタマイズできます。アカウントの将来の要件を収集するには、[`collection_options.future_requirements`](https://docs.stripe.com/api/account_links/create.md#create_account_link-collection_options-future_requirements) を `include` に設定します。 ### 追加の公開情報を収集する (プライベートプレビュー) Stripe は各連結アカウントに必要な公開情報を収集します。オンボーディング時に収集する追加フィールドは、ビジネスニーズに応じて選択できます。Stripe が必須としないフィールドはオプションとして表示され、連結アカウントは提供するかどうかを選択できます。 1. ダッシュボードの[公開情報](https://dashboard.stripe.com/settings/connect/onboarding-options/public-details)設定で、**公開情報を収集する**トグルを有効にします。 1. オンボーディング時に連結アカウントに表示するフィールドを選択します。 1. **保存** をクリックします。 #### 利用可能なフィールド 収集できる公開情報は次のとおりです。 | フィールド | 説明 | | ----------------------------------------------------------------- | ----------------------------------------- | | [明細書表記](https://docs.stripe.com/connect/statement-descriptors.md) | 連結アカウントへの決済に対して顧客のカードまたは銀行の明細書に表示されるテキスト。 | | 顧客サポート電話番号 | 連結アカウントに関連するサポートをお客様が依頼できる電話番号。 | | 顧客サポートの住所 | 顧客が連結アカウントへの連絡に使用できる郵送先住所。 | | 顧客サポートメール | 顧客が連結アカウントへの連絡に使用できるメールアドレス。 | > #### 要件はさまざま > > Stripe の要件は、連結アカウントの事業形態、国、リクエストされたケイパビリティによって異なります。必須かどうかにかかわらず、オンボーディング時に常にフィールドが表示されるようにフィールドを有効にしてください。 ## ユーザーに表示するポリシーをカスタマイズする Stripe の利用規約と[プライバシーポリシー](https://stripe.com/privacy)は、オンラインのアカウント登録で連結アカウントに提示されます。[Stripe の利用規約](https://docs.stripe.com/connect/service-agreement-types.md#accepting-the-correct-agreement)に同意していない連結アカウントは、アカウント登録の最後の画面で規約を受け入れるように求められます。また、オンラインのアカウント登録のフッターにも、Stripe の利用規約と[プライバシーポリシー](https://stripe.com/privacy)へのリンクが掲載されています。 プラットフォームが要件の収集を行う連結アカウントに対しては、アカウント登録フローをカスタマイズする追加オプションがあります。以下に概要を示します。 ### 自社で利用規約への同意を管理する プラットフォームとして、貴社が必要な情報を収集する責任を負う連結アカウントを登録している場合、Stripe のオンラインのアカウント登録コンポーネントではなく、自社のプロセスを使用して[利用規約への同意を収集](https://docs.stripe.com/connect/updating-service-agreements.md#tos-acceptance)できます。自社のプロセスを使用する場合、アカウント登録の最終画面では、連結アカウントには入力した情報の確認のみが求められます。Stripe の利用規約への同意は貴社で確実に取得する必要があります。 ただし、オンラインのアカウント登録には (フッターなどに) 利用規約へのリンクが表示されます。このリンクを、[自社の規約およびプライバシーポリシーへのリンク](https://docs.stripe.com/connect/embedded-onboarding.md#link-to-your-own-agreements-and-privacy-policy)で置き換えることを選択できます。 ### 利用規約とプライバシーポリシーへのリンク Stripe の利用規約と[プライバシーポリシー](https://stripe.com/privacy)はオンライン登録のいたるところで連結アカウントに提示されます。貴社が要件の収集に責任を負う連結アカウントの場合、これらのリンクを自社の規約とポリシーに置き換えることができます。以下の手順に従って [Stripe 利用規約を組み込み](https://docs.stripe.com/connect/updating-service-agreements.md#adding-stripes-service-agreement-to-your-terms-of-service)、[Stripe プライバシーポリシーにリンク](https://docs.stripe.com/connect/updating-service-agreements.md#disclosing-how-stripe-processes-user-data)します。 ## アカウント登録コンポーネントを実装する [サーバー側] [クライアント側] 連結アカウントの ID と、有効にするコンポーネントとして `account_onboarding` を指定し、[Account Session (アカウントセッション)](https://docs.stripe.com/api/account_sessions.md) を作成します。 ### アカウントセッションを作成する [アカウントセッションの作成](https://docs.stripe.com/api/account_sessions/create.md)時に、`components` パラメーターで `account_onboarding` を指定して、アカウント登録を有効にします。 ```curl curl https://api.stripe.com/v1/account_sessions \ -u "<>:" \ -d "account={{CONNECTEDACCOUNT_ID}}" \ -d "components[account_onboarding][enabled]=true" ``` ### アカウントのユーザ登録コンポーネントを表示する アカウントセッションを作成して [ConnectJS を初期化](https://docs.stripe.com/connect/get-started-connect-embedded-components.md#account-sessions)すると、フロントエンドにアカウント登録コンポーネントを表示できます。 #### JavaScript ```js // Include this element in your HTML const accountOnboarding = stripeConnectInstance.create('account-onboarding'); accountOnboarding.setOnExit(() => { console.log('User exited the onboarding flow'); }); container.appendChild(accountOnboarding); // Optional: make sure to follow our policy instructions above // accountOnboarding.setFullTermsOfServiceUrl('{{URL}}') // accountOnboarding.setRecipientTermsOfServiceUrl('{{URL}}') // accountOnboarding.setPrivacyPolicyUrl('{{URL}}') // accountOnboarding.setCollectionOptions({ // fields: 'eventually_due', // futureRequirements: 'include', // requirements: { // exclude: ['business_profile.product_description'] // } // }) // accountOnboarding.setOnStepChange((stepChange) => { // console.log(`User entered: ${stepChange.step}`); // }); ``` 次のようなユーザー登録機能については、[アカウントのユーザー登録](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md)を参照してください。 - 分析用の `setOnStepChange` などのハンドラを関連付ける。 - iOS SDK と Android SDK を使用してモバイルアプリにユーザー登録を埋め込む。 - 規約とプライバシー URL のカスタマイズ。 - 回収オプションを指定しています。 ## 要件の更新を特定して対処する [サーバー側] アカウント要件に対する[変更をリッスンする](https://docs.stripe.com/connect/handling-api-verification.md#verification-process)ようにシステムを設定します。[テストトリガーカード](https://docs.stripe.com/connect/testing.md#trigger-cards)を使用して、新しい要件への対応 (および支払いと入金を無効にする方法) をテストできます。 連結アカウントに `currently_due` または `eventually_due` の要件がある場合、アカウント登録フローに送り返します。アカウント登録インターフェイスで収集が必要な情報が認識されるため、具体的な要件を特定する必要はありません。たとえば、タイプミスによってアカウント所有者の本人確認ができない場合、アカウント登録で本人確認書類のアップロードが求められます。 Stripe は、連結アカウントに影響する[今後の要件の更新](https://support.stripe.com/user/questions/onboarding-requirements-updates)について通知します。アカウントの[今後の要件](https://docs.stripe.com/api/accounts/object.md#account_object-future_requirements)を確認することで、この情報を事前に収集できます。 [controller.requirement_collection](https://docs.stripe.com/api/accounts/object.md#account_object-controller-requirement_collection) が `stripe` である連結アカウントの場合は、[Account Link (アカウントリンク)](https://docs.stripe.com/api/account_links.md) または [Account Session (アカウントセッション)](https://docs.stripe.com/api/account_sessions.md) の作成後に本人確認情報の更新の受信を停止します。 アカウントは、本人確認情報を `company` ハッシュと `individual` ハッシュに保存します。 ### 確認エラーを処理する [account.updated](https://docs.stripe.com/api/events/types.md#event_types-account.updated) イベントをリッスンします。`current_deadline` が着信したときにアカウントに `currently_due` フィールドが含まれている場合は、対応する機能が無効になり、そのフィールドが `past_due` に追加されます。 [アカウント登録コンポーネント](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding.md)にアカウントを誘導して、確認要件を修正できるようにします。 (See full diagram at https://docs.stripe.com/connect/embedded-onboarding) ### Stripe ユーザー認証を無効にする 埋め込みアカウント登録を使用する場合、[Stripe ユーザー認証](https://docs.stripe.com/connect/get-started-connect-embedded-components.md#user-authentication-in-connect-embedded-components)がデフォルトで有効になります。[`disable_stripe_user_authentication`](https://docs.stripe.com/api/account_sessions/create.md#create_account_session-components-account_onboarding-features-disable_stripe_user_authentication) を使用して、この動作を削除できます。 [ベストプラクティス](https://docs.stripe.com/connect/risk-management/best-practices.md#prevent-account-take-overs)として、2 要素認証または同等のセキュリティ対策を導入することをお勧めします。Custom など、この機能をサポートするアカウント設定では、連結アカウントが[マイナス残高](https://docs.stripe.com/connect/risk-management/best-practices.md#decide-your-approach-to-negative-balance-liability)を返済できない場合、貴社がそのアカウントに対する責任を負うことになります。 ## See also - [Connect の埋め込みコンポーネントの使用を開始する](https://docs.stripe.com/connect/get-started-connect-embedded-components.md) - [埋め込みコンポーネントをカスタマイズする](https://docs.stripe.com/connect/customize-connect-embedded-components.md)