アカウントタイプの代わりにコントローラープロパティを使用するように Connect の実装を移行する
アカウントタイプを指定する代わりに、アカウントコントローラープロパティを使用する方法をご紹介します。
連結アカウントを Standard、Express、または Custom として定義する代わりに、アカウントコントローラープロパティを使用してアカウントを設定することもできます。これらのコントローラープロパティを使用すると、各アカウントの仕様 (Stripe ダッシュボードへのアクセス権や、Stripe がアカウントとプラットフォームのどちらから手数料を徴収するかの設定など) を指定できるようになります。このモジュールにより、より柔軟な設定が可能になります。
アカウントコントローラープロパティを使用するために、API バージョンを更新する必要はありません。**コントローラープロパティを使用するための既存のシステムの移行は任意です。**使用している連結アカウントが 1 つのタイプのみで、新しい設定の使用を希望しない場合、構築済みのシステムを更新する必要はありません。
既存のシステムを更新して、モジュール方式の向上と利用可能な新しい設定のメリットを活用することをお勧めします。新しいプロパティは完全な下位互換性があるため、アカウントタイプを引き続き処理しながら、段階的にシステムを移行できます。
各アカウントタイプは、一連のコントローラープロパティにマッピングされます。既存の連結アカウントと、今後のアカウントタイプで作成するすべてのアカウントに、これらのプロパティが自動的に設定されます。構築済みのシステムを更新してコントローラープロパティを処理する際に、連結アカウントを更新する必要はありません。
メモ
このガイドに記載されている変更を行わずに、埋め込みコンポーネントなどの機能の使用を開始できます。
はじめに
- コントローラープロパティの仕組みと、既存の連結アカウントへのマッピング方法をご紹介します。
- 新しいアカウント設定のうち、どれが既存のシステムに適しているかを判断します。
組み込みのアップグレードでは以下の作業を行います。
- 既存のシステムでアカウントタイプを参照するコードを特定し、代わりに対応するコントローラープロパティを参照するようにそのコードを更新します。
typeの代わりにコントローラープロパティを指定するようにアカウント作成プロセスを更新します。typeの指定は必須ではなくなりました。
アカウントコントローラープロパティ
Accounts API を使用して連結アカウントを作成する際に、コントローラープロパティの値を指定できます。指定していないプロパティは、導入要件の複雑さが最も低いデフォルト値に設定されます。
新しい Stripe システムを構築する場合は、Connect プラットフォームのアカウント登録を完了すると推奨の設定を取得できます。
| プロパティ | デフォルト値 | 説明 |
|---|---|---|
| controller.losses.payments | stripe | 使用可能な値:
|
| 使用可能な値:
アカウントを作成する際には、
Stripe 手数料の支払いモデルに関する総合的な説明については、手数料の動作に関するドキュメントをご覧ください。 | |
| 使用可能な値:
値が | |
| controller.stripe_dashboard.type | full | 使用可能な値:
|
説明を見る | 使用可能な値:
|
アカウントタイプをコントローラーパラメーターにマッピングする
3 つのアカウントタイプはそれぞれ、そのタイプの動作と一致する v1/accounts の controller ハッシュの値にマッピングされます。
Standard
コントローラープロパティを指定せずにアカウントを作成した場合、デフォルト値は Standard アカウントの動作と一致します。また、Standard アカウントの動作にマッピングされる値を指定して、Standard アカウントに相当するアカウントを作成することもできます。
これらの値は、Standard アカウントの動作にマッピングされます。
losses.:payments stripefees.:payer accountrequirement_:collection stripestripe_:dashboard. type full
Express
これらの値は、Express アカウントの動作にマッピングされます。
losses.:payments applicationfees.:payer application(メモ参照)requirement_:collection stripestripe_:dashboard. type express
メモ
type を使用して Express アカウントを作成し、controller. プロパティを、application ではなく application_ に設定します。この違いは、プラットフォームでダイレクト支払いが使用されている場合における Stripe の手数料請求機能の違いを表します。
Custom
これらの値は、Custom アカウントの動作にマッピングされます。
losses.:payments applicationfees.:payer application(メモ参照)requirement_:collection applicationstripe_:dashboard. type none
また、Custom アカウントを作成する際はアカウントの国を指定し、card_ ケイパビリティと transfers ケイパビリティをリクエストする必要もあります。
メモ
type を使用して Custom アカウントを作成し、controller. プロパティを、application ではなく application_ に設定します。この違いは、プラットフォームでダイレクト支払いが使用されている場合における Stripe の手数料請求機能の違いを表します。
コードを移行してコントローラープロパティを使用する
コントローラープロパティを使用するようにアカウント作成プロセスを更新するだけでなく、コードを見直してアカウントタイプへの参照を探し、既存のシステムを更新します。
アカウントタイプへの参照ごとに、関連するコントローラープロパティを特定し、それに応じてコードを更新します。
たとえば、マイナスの残高に責任を負うプラットフォームに関連するため、Express と Custom のアカウントに適用される条件付きの声明文をコードに含めるとします。そのロジックを if type == express または if type == custom から if controller. に更新します。
アカウントタイプと一致しない連結アカウントを作成する場合は、コードを更新する際に、そのコントローラープロパティも考慮してください。これらのアカウントを処理するロジックは、アカウントタイプに基づく既存のロジックとは異なることがあります。
この表を使用して、各アカウントタイプに関連付けられているコントローラープロパティを識別できます。
| アカウントタイプ | losses.payments | fees.payer | requirement_collection | stripe_dashboard.type |
|---|---|---|---|---|
| Custom | application | application_ | application | none |
| Express | application | application_ | stripe | express |
| Standard | stripe | account | stripe | full |
メモ
Express アカウントと Custom アカウントでは、コントローラープロパティを使用して作成された同等のアカウントとは fees. の値が異なることに注意してください。手数料の徴収に関連するコードを更新するときは、この動作の違いを考慮する必要があります。
サポート対象外の設定
コントローラープロパティを指定してアカウントを作成する際、以下の組み合わせはサポートされません。
controller. = application は、次のいずれの値とも互換性がありません。
controller.=losses. payments stripecontroller.=fees. payer accountcontroller.=stripe_ dashboard. type expresscontroller.=stripe_ dashboard. type full
controller. = express は、次のいずれの値とも互換性がありません。
controller.=losses. payments stripecontroller.=fees. payer accountcontroller.=requirement_ collection application
controller. = full は、次のいずれの値とも互換性がありません。
controller.=losses. payments applicationcontroller.=fees. payer applicationcontroller.=requirement_ collection application
controller. = none は、次の両方の値が設定されている場合はサポートされません (いずれか 1 つのみが設定されている場合はサポートされます)。
controller.=requirement_ collection stripecontroller.=losses. payments application