SetupIntent、PaymentMethod、BankAccount を使用する
Treasury で資金移動を設定します。
PaymentMethod オブジェクトを使用して、将来の使用に備えてアメリカに拠点を置く銀行口座のアカウント認証情報を保存できます。PaymentMethod
を作成すると、同じオブジェクトを繰り返し使用して、金融口座の入出金を行うことができます。ユースケースに応じて、PaymentMethod
をCustomer (顧客) オブジェクトまたはStripe アカウントのいずれかに関連付けることができます。
- 支払い方法を、サードパーティーへのアウトバウンド支払いに使用するには、
PaymentMethod
をCustomer
オブジェクトに関連付けします。 - 支払い方法を、Stripe アカウントと同じビジネスに属する外部口座間のインバウンド送金またはアウトバウンド送金に使用する場合には、
PaymentMethod
を連結アカウントまたはプラットフォームアカウントに関連付けます。
注
Customer
オブジェクトは、外部銀行口座の所有者を表す第三者 (法人) を定義します。
以前に BankAccount オブジェクトを使用して、Stripe で顧客の支払い詳細を収集したことがある場合は、これらのリクエストで、BankAccount
の代わりに PaymentMethod
を使用できます。InboundTransfers
の場合、このケースでは、BankAccount
status
の値は verified
である必要があります。全機能をご利用いただくために、可能な限り PaymentMethods
のご使用をお勧めします。
場合によっては、ACH 送金を受け取る側の銀行から、口座情報 (口座番号や金融番号など) が変更されたことが Stripe に通知されます。Stripe は、PaymentMethod
オブジェクトまたは BankAccount
オブジェクトに関連付けられている口座に対してこのような通知を受け取った場合、オブジェクトを自動的に更新します。詳細については、ACH の変更通知の処理ガイドをご覧ください。
SetupIntent を作成して us_bank_account の詳細を保存する
SetupIntents を使用すると、Stripe API の資金移動エンドポイントで使用するための支払い方法を設定できます。SetupIntents
を使用し、顧客やアカウントの認証情報を支払い方法として保存して、それを使用する予定のオブジェクトに合わせて最適化します。たとえば、アメリカの銀行口座を設定する際に、インバウンド送金を使用してその外部口座から引き落としを行う予定の場合、銀行口座を確認する必要があります。Stripe は、その設定プロセス全体を通じて SetupIntent
オブジェクトを更新します。
以下の例では、双方向への資金移動が可能な銀行口座を持つ SetupIntent
を使用しています。支払いの作成と銀行口座の確認のために支払い方法を設定する方法の詳細については、ACH ダイレクトデビットによる将来の支払いに備えて詳細を保存するガイドをご覧ください。SetupIntents
で金融口座の資金を管理するするための支払い方法を設定する際には、以下のフィールドが重要です。
- flow_directions: この配列は、支払い方法のフローの方向性を定義します。設定可能な値は
inbound
とoutbound
で、その支払い方法が金融口座で出金または入金、あるいはその両方向で資金を移動できるかどうかを示します。また、既存の支払い方法を双方向として設定することもできます。 - attach_to_self: この支払い方法をコンテキスト内の
Account
オブジェクトに関連付けるかどうかを示すブール値フラグ。この値を true に設定すると、アカウントに関連付けられた支払い方法を作成し、インバウンド送金やアウトバウンド送金など、このアカウントが保有する資金移動フローを管理できます。 - customer: 設定完了時に支払い方法が関連付けられる
Customer
オブジェクトの ID。Customer
に関連付けられた支払い方法を、アウトバウンド支払いで使用して、サードパーティーや顧客に送金できます。また、これらの支払い方法を Stripe PaymentsPaymentIntents
で使用して資金を受け取ることもできます。顧客に関連付けられた支払い方法を作成する際には、attach_
属性を false に設定するか、ブランクのままにする必要があります。to_ self
権限
‘inbound’ フロー方向 (InboundTransfers
など) の支払い方法を使用するには、アカウント所有者から許可を得る必要があります。この同意書 (Mandate
オブジェクト) を事前に作成し、それを支払い方法と関連付けしておくことで、それ以降の支払い方法への請求が可能になります。
外部口座から資金を引き落とす方法を示す規約を Web サイトおよびアプリに追加し、連結アカウントがオプトインできるようにします。規約には、少なくとも以下の内容が含まれている必要があります。
- 連結アカウントの代わりに 1 回の引き落としまたは一連の引き落としを開始することについての連結アカウントからの許可
- 予測される引き落とし頻度 (1 回限りまたは継続)
- 引き落とし金額の決定方法
インバウンド送金では、アメリカの外部の銀行口座から引き落としをするには同意書が必要ですが、アウトバウンド送金またはアウトバウンド支払いでの銀行口座への送金には必要ありません。
SetupIntent を作成する
SetupIntent
を作成するには、payment_
パラメーターで既存の支払い方法を使用するか、インラインの payment_
パラメーターを使用して新しい認証情報を指定する必要があります。
POST /v1/setup_
を使用して SetupIntent
を作成します。
成功するとレスポンスで、新しく作成された SetupIntent
オブジェクトが返されます。
SetupIntent
は、以下のいずれかのステータスになります。
ステータス | 説明 | 次のステップ |
---|---|---|
succeeded | 銀行口座が即座に確認されたか、確認が不要でした。 | アクションは不要です。 |
requires_ | 銀行口座の確認を完了するには、追加のアクションが必要です。 | 詳細な設定ステップについては、next_ をご覧ください。 |
SetupIntent
の確定に成功した後、Stripe は、同意書と収集された銀行口座情報の確認メールを連結アカウントに送信します。デフォルトのメールでは Stripe Payments に言及するため、Stripe Payments を使用せずに Stripe Treasury を使用する場合は、Stripe のメールをオフにして、代わりにカスタムメッセージを送信することができます。