PayTo 支払いの事前設定招待のみ
PayTo 支払いを事前設定する方法をご紹介します。
PayTo を使用すると、オーストラリアの顧客は、銀行アプリで 1 回限りの支払いと継続支払いの PayTo 契約を承認できます。顧客は、保留中の契約リクエストについての通知を受け取り、契約条件を承認してからアプリに戻り、そこで支払います。
将来の支払いに備えて PayTo の契約を設定することで、将来の支払いの回収に向けて現時点で顧客の承認を得ることができます。顧客はバンキングアプリで PayTo の同意書を表示、管理、一時停止、取り消すことができます。
注意
Stripe は顧客による PayTo の同意書の変更や一時停止に対応していません。顧客が契約を一時停止または変更しようとした場合、Stripe は契約を取り消して、mandate.
Webhook をお客様に送信します。Webhook を受信した後で、顧客に連絡を取って契約を調整した理由を確認するとともに、新しい契約を設定できます。
注意
Stripe は、顧客の通貨、決済手段の制限、その他のパラメーターを評価して、決済手段オプションを自動的に提示します。決済を受け付けるの手順を使用して、Stripe ダッシュボードから決済手段を設定することをお勧めします。
If you want to continue manually configuring the payment methods you present to your customers with Checkout, use this guide. Otherwise, update your integration to configure payment methods in the Dashboard.
顧客を作成するサーバー側
顧客がビジネスでアカウントを作成したら、顧客を作成し、アカウントを表す内部表記と関連付けます。このようにすると、保存されている支払い方法の詳細を後で取得して使用することができます。
SetupIntent を作成するサーバー側
SetupIntent (支払い方法設定インテント) は顧客から将来の支払いを回収する意図を示すオブジェクトであり、承認プロセスを追跡します。PayTo による決済手段を受け付ける SetupIntent を作成するには、契約条件を指定し、payment_method_types のリストに payto
を指定します。SetupIntent の作成時に渡す決済手段タイプのリストを保持している場合は、それに payto
を追加します。
決済手段オプションを使用して、顧客に同意を求める契約条件を指定します。
Stripe はさまざまな種類の同意書に対応し、同意書の金額、期間、頻度、目的を管理できます。できる限り忠実に要件に一致する同意条件を指定します。これらの詳細な条件は承認時に顧客に表示されるため、正確にすることで購入完了率を向上できます。
ベータ
デフォルトの purpose
は retail
に設定されています。retail
が契約の目的を正確に表していない場合は、有効値のいずれかを使用してこのフィールドを上書きします。
client secret を取得する
SetupIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。
支払い方法の詳細を収集してオーソリリクエストを送信するクライアント側
Payment Element を使用してクライアント側で支払い詳細を収集します。Payment Element は事前構築された UI コンポーネントであり、さまざまな決済手段の詳細の収集をシンプルにします。
Payment Element には、HTTPS 接続を介して支払い情報を Stripe に安全に送信する iframe が含まれています。一部の支払い方法では、支払いを確定するために別のページにリダイレクトする必要があるため、Payment Element を別の iframe 内に配置しないでください。
構築済みのシステムを機能させるには、決済ページのアドレスの先頭を http://
ではなく https://
にする必要があります。HTTPS を使用しなくてもシステムをテストできますが、本番環境で決済を受け付ける準備が整ったら、必ず、HTTPS を有効にしてください。
stripe.confirmSetup を使用し、Payment Element の詳細を使用して設定を完了します。これにより、オーソリリクエストが買い手に送信されます。
注
顧客による支払いの承認を待っている間、stripe.
の完了には数秒かかる場合があります。この間、フォームが再送信されないように無効化し、スピナーのような待機中のインジケーターを表示します。エラーが発生した場合は、それを顧客に表示し、フォームを再度有効化し、待機中のインジケーターを非表示にします。
PayTo PaymentMethod に後で請求する
顧客に請求する必要がある場合は、新たに PaymentIntent を作成します。以前の SetupIntent を取得して、同意書 ID、顧客 ID、決済手段 ID を確認します。
以下のレスポンスで必要な ID を確認してください。
{ // ... "customer": "cus_PW6rQWRGAaBD7z", // <---- Here is the customer "mandate": "mandate_1Ok6ZrA8DuEjWaGw2nrO9xeS", // <---- Here is the mandate "metadata": {}, "next_action": null, "on_behalf_of": null, "payment_method": "pm_1Ok4l9A8DuEjWaGwhB4SGrWh", // <---- Here is the payment method "payment_method_configuration_details": null, "payment_method_options": { "payto": { "mandate_options": { "amount": 150000, "amount_type": "maximum", "start_date": "2026-12-25", "end_date": "2036-12-25", "payment_schedule": "annual", "payments_per_period": 13, "purpose": "mortgage", } } }, "payment_method_types": [ "payto" ], "single_use_mandate": null, "status": "succeeded", "usage": "off_session" // ... }
PaymentMethod ID、同意書 ID、顧客 ID を指定して PaymentIntent を作成します。
実装内容をテストする
以下のさまざまなテスト用 PayID と銀行口座情報を使用して、テスト API キーで PayTo の実装内容をテストします。各セットによって、本番環境でシステムが直面する各種シナリオが再現されています。