Custom アカウントの登録ソリューション
ビジネスに適した Custom アカウントの登録方法を選択します。
Stripe は、Custom 連結アカウントのアカウント登録の方法をいくつか提供しています。ビジネスに最適なアカウント登録の方法を選択できます。
注
Stripe がホストするアカウント登録コンポーネントまたは埋め込み型アカウント登録コンポーネントを使用することをお勧めします。どちらも、連結アカウントに適用される要件の変更に合わせ、自動的に更新されます。埋め込みコンポーネントを使用することで、ブランドイメージに合わせたアカウント登録テーマの作成、および表示するポリシーと条件の設定が可能になります。
方法 | 長所 | 短所 |
---|---|---|
Stripe のホスティング登録 |
|
|
Embedded onboarding |
|
|
API ベースのアカウント登録 |
|
|
Stripe のホスティング登録
Stripe のホスティング登録では、ユーザーを Stripe にリダイレクトして、ブランド定型のインターフェイスでアカウント登録プロセスを完了できます。Account Link を作成して、ユーザーをホスティング登録フローに誘導します。return_url を使用すると、Stripe はユーザーをお客様のアプリケーションに戻せるようになるため、それに応じてお客様は連結アカウントの手順を先に進められるようになります。
Stripe のホスティング登録を実装するには、Stripe のホスティング登録に関するガイドに従ってください。
埋め込みアカウント登録
埋め込みベースのアカウント登録は、Stripe のブランディングが制限された、柔軟にテーマ設定可能なアカウント登録用 UI です。連結アカウントのユーザーは、アプリケーションを離れることなく埋め込みコンポーネントを操作できます。埋め込みベースのアカウント登録では、Accounts API で要件が読み取られた後、Stripe がサポートされているすべての国に適応し、堅牢なデータ検証機能を備えたアカウント登録フォームが生成されます。さらに、埋め込みベースのアカウント登録では、次のすべてが処理されます。
- ビジネスのタイプ
- 会社代表者の設定
- 確認書類のアップロード
- 本人確認とステータス
- 海外の銀行口座
- エラーの状態
埋め込みベースのアカウント登録は数行のコードで実装できますが、API ベースのアカウント登録ではカスタムロジックを構築する必要があります。埋め込みベースのアカウント登録を実装するには、埋め込みコンポーネントガイドに従い、アカウント登録用の埋め込みコンポーネントを実装します。
API ベースのアカウント登録
API ベースのアカウント登録には、対応する Stripe API を呼び出すための、お客様のサイトのアカウント登録ユーザーインターフェイスの各側面の構築が含まれます。実装は Stripe のアカウント登録要件のすべてを満たしている必要があります。
要件を定める
以下の要因は、連結アカウントの登録要件に影響します。
- 連結アカウントの所在国
- 連結アカウントに適用される利用規約タイプ
- 連結アカウントでリクエストされるケイパビリティ
- The business_type (for example, individual or company) and company.structure (for example,
public_
orcorporation private_
)partnership
対話型フォームを使用して、これらの要因を変更すると要件にどのような影響が出るかを確認できます。
要件フォーム
情報を収集するフォームを作成する
ベストプラクティスとして、必須パラメーターをアカウント登録フローの論理グループまたはフォームに分類します。Stripe のパラメーターと論理グループのマッピングをエンコードすることもできます。パラメーターに推奨される論理グループは、サンプルの要件表の 1 列目に表示されています。
必須パラメーターをアプリケーションにエンコードした後で、これらの要件に対応するパラメーターの UI を生成します。パラメーターごとに、以下を含む UI フォームを設計します。
- それぞれ対応する国と言語に合わせたパラメーターのラベル
- それぞれ対応する国と言語に合わせたパラメーターの説明
- 必要に応じてデータ検証ロジックと書類のアップロード機能を備えた、パラメーターの入力フィールド
今後パラメーターが追加される可能性を考慮して、アプリケーションロジックを構築することが重要です。たとえば、Stripe が新しいパラメーター、新しい確認、新しいしきい値を導入し、それらを徐々にアカウント登録フローに組み込む必要がある場合が考えられます。
連結アカウントの要件を決定する要因のいずれかを変更すると、回収フォームの調整も必要になります。 国 と利用規約の種類 は不変ですが、capabilities とビジネスタイプ は変更できません。
- 国や利用規約の種類などの変更不可のフィールドを変更するには、新しい値で連結アカウントを新規作成します。こうすることで、収集フローに組み込む新しい要件が作成されます。
- ケイパビリティやビジネスタイプなどの変更可能なフィールドを変更するには、連結アカウントを更新します。こうすることで、収集フローに組み込む新しい要件が作成されます。
Stripe 利用規約への同意を含める
連結アカウントは、有効化する前に Stripe 利用規約に同意する必要があります。Stripe 利用規約を自社の利用規約に含めることができます。
連結アカウントを作成する
Create Account API を使用して、国、利用規約への同意 、希望するケイパビリティ、ビジネスタイプ、要件に合ったその他の情報を指定して連結アカウントを作成します。少なくとも capabilities
と type
は指定する必要があります。その他のパラメーターを指定しない場合は、以下のデフォルト値が割り当てられます。
- 利用規約への同意 (
tos_
) は、デフォルトでacceptance. service_ agreement full
に設定されます。 country
は、デフォルトでプラットフォームと同じ国に設定されます。
次のコード例は、個人用の利用規約の全文に基づき、card_
と transfers
ケイパビリティを指定して、Custom の連結アカウントを作成します。
注
この例には、アカウント作成時に設定できるフィールドの一部のみが含まれています。 address
や website_
など、設定可能なフィールドの一覧については、Create Account API リファレンス をご覧ください。
アカウントにアカウント登録フローをガイドする
連結アカウントを有効にするには次の 2 種類の方法を使用できます。
- インクリメンタルアカウント登録方式: 最小限の必要な情報を事前に収集して、残りの情報を後で収集する
- アップフロントアカウント登録方式: すべての情報を事前に収集する
インクリメンタルアカウント登録方式は、アカウントの初期登録のスピードを上げますが、後から追加の情報収集が必要になります。アップフロントアカウント登録方式は、申請プロセスが長くはなりますが、それと引き換えに連結アカウントのライフサイクル全体で利用の中断を最小限に抑えます。実際のユースケースに合った方式を選択してください。
アカウント登録方式を実装するには、作成した連結アカウントの要件ハッシュを調査します。要件ハッシュは、連結アカウントを有効化するために収集する必要があるパラメーターの一覧を提供します。
- インクリメンタルアカウント登録方式を選択する場合、要件ハッシュの
currently_
フィールドを確認して、リストに表示されたパラメーターのみを収集するアカウント登録フローを構築します。due - アップフロントアカウント登録方式を選択する場合、要件ハッシュの
eventually_
フィールドを確認して、リストに表示されたすべてのパラメーターを収集するアカウント登録フローを構築します。due
{ ... "requirements": { "alternatives": [], "current_deadline": null, "currently_due": [ "business_profile.product_description", "business_profile.support_phone", "business_profile.url", "external_account", "tos_acceptance.date", "tos_acceptance.ip" ], "disabled_reason": "requirements.past_due", "errors": [], "eventually_due": [ "business_profile.product_description", "business_profile.support_phone", "business_profile.url", "external_account", "tos_acceptance.date", "tos_acceptance.ip" ], "past_due": [], "pending_verification": [] }, ... }
連結アカウントを更新する
アカウント登録フローを進む中で、連結アカウントオブジェクトを新しい情報で更新します。Update Account コールを実行し、以前保存した id
値で連結アカウントを識別します。
Stripe は連結アカウントに対するすべての更新を検証します。アカウント登録のステップごとにアカウントを更新することで、ユーザーがアカウント登録フローを継続している間に、Stripe は情報が追加され次第、検証することができます。Stripe が利用規約への同意を確認した後で、連結アカウントに対する変更が発生すると、再確認が実行されます。たとえば、連結アカウントの名前と ID 番号を変更した場合、Stripe は本人確認を再実行します。
連結アカウントを更新する際、Accounts API によって返されるすべての確認エラーや HTTP エラーコードを処理する必要があります。
確認の処理
When the connected account’s data is submitted, Stripe verifies it. This process might take minutes or hours, depending on the nature of the verification. During this process, the capabilities you requested have a status
of pending
.
ステータスを確認する
連結アカウントのケイパビリティのステータスは、以下によって取得できます。
- Account オブジェクトの capabilities ハッシュで、関連するケイパビリティを確認します。
- Capabilities API から直接ケイパビリティをリクエストし、関連するケイパビリティのステータスを確認します。
- Webhook エンドポイントで
account.
イベントをリッスンし、関連するケイパビリティのupdated capabilities
ハッシュを確認します。
After verifications are complete, a capability becomes active
and available to the connected account. Account verifications run continuously, and if a future verification fails, a capability can transition out of active
. Listen for account.
events to detect changes to capability states.
構築済みの Connect の実装内容が法令を遵守し、稼働中であることを確認するには、アカウントの charges_
と payouts_
が両方とも true であることを確認します。API を使用するか、account.
イベントをリッスンすることができます。その他の関連フィールドについて、詳細はアカウントの requirements (要件) ハッシュを確認してください。アプリケーションおよび関連ポリシーに応じてステータスが変化する可能性があるため、単一の値に基づいて実装を確認することはできません。
- charges_enabled は、支払いと送金を含む全体的な支払いパスが正しく機能することを確認し、
card_
とpayments transfers
ケイパビリティのどちらがアクティブになっているかを評価します。 - payouts_enabled は連結アカウントが外部口座に入金できるかを評価します。リスクポリシーによっては、連結アカウントが入金を有効にせずに取引を開始することを許可できます。連結アカウントに支払うには、最終的には入金を有効にする必要があります。
以下のロジックは、連結アカウントに表示するサマリーのステータスを定義するための開始ポイントとして使用できます。
確認エラーを処理する
アカウント登録フローに応じて、確認失敗に対する対処方法を変えます。
注
API を使用して Stripe のリスク審査に対応することはできません。埋め込みコンポーネント、Stripe のホスティング登録、または修復リンクを使用して、連結アカウントが対応できるように設定できます。ダッシュボードを使用して、連結アカウントの代わりにリスク審査に対応することもできます。