銀行振込を受け付ける
Payment Intents API を使用して、銀行振込による支払いを受け付けます。
顧客からの銀行振込による決済を初めて受け付ける際に、Stripe はその顧客用に仮想銀行口座を生成します。この口座は、顧客と直接共有できます。この顧客からの以降のすべての銀行振込による支払いは、この銀行口座に送金する必要があります。一部の国では、Stripe は、一意の送金照会番号も提供します。未払いの支払いと振込の照合を簡単にするため、顧客は各振込にこの番号を含める必要があります。国によっては、無料で作成できる仮想銀行口座番号の数に制限があります。
以下のシーケンス図は、銀行振込による決済を受け付ける際の一般的なステップの概要を示しています。
支払い不足と過払いを処理する
銀行振込による決済では、顧客の振込額が予想される支払い金額よりも多い場合や少ない場合があります。顧客の振込額が少ない場合、Stripe は、未払いの支払いインテントに部分的に資金を充当します。請求書に部分的に資金が充当されることはありません。入金された売上によって請求額の全額が支払われるまで、請求書は未払いのままになります。
顧客から予想される金額よりも多く振り込まれた場合、Stripe は、未払いの支払いに対して入金された売上の消し込みを試行し、残りの超過額を顧客の現金残高に保持します。Stripe による消し込み処理について、詳細はドキュメントの消し込みセクションをご覧ください。
複数の未払いの支払いまたは請求書を処理する
銀行振込で支払うことができる未払いの支払いや請求書が複数ある場合があります。デフォルトの設定の場合、Stripe が振込の参照コードや送金額などの情報を使用して、銀行振込の自動消し込みを試行します。
自動消し込みを無効にして、支払いと請求書を手動で消し込むことができます。reconciliation mode (消し込みモード) を manual に設定すると、顧客ごとに自動消し込み動作を上書きできます。
注意
Stripe は、顧客の通貨、決済手段の制限、その他のパラメーターを評価して、決済手段オプションを自動的に提示します。決済を受け付けるの手順を使用して、Stripe ダッシュボードから決済手段を設定することをお勧めします。
引き続き、Checkout で顧客に提示する決済手段を手動で設定する場合は、このガイドを使用します。それ以外の場合は、ダッシュボードで決済手段を設定できるように、構築済みのシステムを更新してください。
銀行振込は、Checkout の 1 回限りの使用の支払い方法であり、顧客は提示された決済手順を使用して銀行振込で支払います。支払いを選択すると、ユーザーはオンラインページにリダイレクトされ、そこに銀行振込の手順と送金のステータスが表示されます。
銀行振込は、通知遅延型の支払い方法でもあるため、決済後すぐには売上が利用可能になりません。
注意
Bank transfers aren’t available on Checkout Sessions that didn’t include an existing Customer object as part of the of the session creation request.
決済を受け付ける
注
このガイドを使用する前に、まず Checkout で決済を受け付けるための実装を構築します。
このガイドを使用して Bank Transfer を有効化します。
Customer を作成または取得する
銀行振込による各支払いを消し込むには、Customer (顧客) オブジェクトを関連付ける必要があります。すでに Customer オブジェクトが存在する場合は、このステップをスキップできます。ない場合は、新しい Customer オブジェクトを作成します。
支払い方法として Bank Transfer を有効にする
新しい Checkout Session (セッション) を作成する際は、以下を行う必要があります。
customer
を設定しますcustomer_
をbalance payment_
のリストに追加しますmethod_ types - すべての
line_
が同じ通貨を使用していることを確認しますitems
Stripe がオンラインで提供する銀行振込の手順ページにリダイレクトする
注
カード決済と異なり、銀行振込による決済では顧客が常に success_url にリダイレクトされるわけではありません。
Checkout フォームの送信に成功すると、
- 顧客の残高にリクエストに対応するための十分な金額がある場合、支払いはすぐに成功し、顧客は success_url にリダイレクトされます。
- 顧客の残高にリクエストに対応するための十分な金額がない場合、顧客は hosted_instructions_url にリダイレクトされます。このページには、送金を完了できるよう顧客に説明する手順が含まれています。
Stripe では、ブランディング設定ページで顧客に表示される UI をカスタマイズすることができます。オンラインの手順ページには、以下のブランド設定を適用できます。
- アイコン: ブランド画像と公開ビジネス名
- ブランドカラー: 背景色として使用されます
注文のフルフィルメントを実行する
Because bank transfer is a delayed notification payment method, you need to use a method such as webhooks to monitor the payment status and handle order fulfillment. Learn more about setting up webhooks and fulfilling orders.
支払いステータスに変化があると、以下のイベントが送信されます。
イベント名 | 説明 | 次のステップ |
---|---|---|
checkout.session.completed | 顧客は Checkout フォームの送信を完了し、hosted_ にリダイレクトされます。 | 顧客が銀行振込を行うのを待っています。 |
checkout.session.async_payment_succeeded | 顧客は銀行振込の支払いを完了しました。PaymentIntent は succeeded に移行します。 | 顧客が購入した商品またはサービスのフルフィルメントを行います。 |
組み込みをテストする
API、ダッシュボード、または Stripe CLI のベータバージョンを使用して、銀行振込の受け取りをシミュレーションすることにより、実装をテストできます。