カナダでの将来のプレオーソリデビットによる支払いに備えて支払い方法の詳細を保存する
将来のカナダのプレオーソリデビット支払いに備えて支払い方法の詳細を保存します。
Setup Intents API を使用して、事前に支払い方法の詳細を収集し、後から最終的な金額や支払い日を確定できます。この機能が役立つ用途を紹介します。
- 支払い方法をウォレットに保存して、以降の購入を効率化する
- サービスの提供後に追加料金を回収する
- サブスクリプションの無料トライアルを開始する
注
Pre-authorized debit in Canada は遅延通知型の支払い方法であるため、支払い後すぐには売上が利用可能になりません。通常、支払いがお客様のアカウントに入金されるまでに 5 business days かかります。
カナダのほとんどの銀行口座で保有されているのはカナダドル (CAD) ですが、少数ながら米ドル (USD) などの他の通貨を保有する口座もあります。PAD では CAD と USD のどちらでの支払いも可能ですが、支払いの失敗を避けるため、顧客に適切な通貨を選択することが重要です。
多くのカードベースの支払い方法とは異なり、CAD の口座からの USD での引き落としや、USD の口座からの CAD での引き落としは成功しない可能性があります。多くの場合、このような引き落としを試行すると、遅延して支払い失敗が発生します。この遅延は最大 5 営業日です。
このような支払い失敗を避けるには、顧客の口座が間違いなく USD での引き落としに対応している場合を除き、PAD の銀行口座の引き落としは CAD に設定するのが最も安全です。
Customer を作成または取得するサーバ側
将来の支払いに銀行口座を再利用するには、銀行口座を Customer (顧客) に関連付ける必要があります。
顧客がお客様のビジネスでアカウントを作成するときに、Customer オブジェクトを作成します。Customer オブジェクトの ID を、独自の内部的な顧客の表記に関連付けることにより、保存された決済手段の詳細を後で取得して使用できます。顧客がアカウントを作成していない場合でも、すぐに Customer オブジェクトを作成し、後でこのオブジェクトを顧客のアカウントの内部表記に関連付けることができます。
新しい Customer を作成するか、または既存の Customer を取得して、この支払い詳細に関連付けます。サーバに以下のコードを含め、新しい Customer を作成します。
支払いを事前設定する
注
このガイドは、支払いを事前設定する Checkout の基本的な実装が存在することを前提としています。
このガイドでは、カナダのプレオーソリデビット (PAD) を有効にする方法を紹介し、将来のカードによる支払いの設定と PAD の使用の違いを説明します。
支払い方法としてカナダのプレオーソリデビットを有効にする
新しい Checkout Session (セッション) を作成する際は、以下を行う必要があります。
Pre-authorized debit in Canada
acss_
をdebit payment_
のリストに追加します。method_ types - 追加の payment_method_options パラメーターを指定して、取引を説明します。詳細は以下をご覧ください。
Payments では、顧客が決済時に承認する Payment Schedule (支払いスケジュール) を指定する必要があります。ビジネスに適した同意書オプションの選択方法については、PAD 同意書を参照してください。
パラメータ | 値 | 必要 |
---|---|---|
payment_ | この支払い方法で将来の支払いに使用する通貨。顧客の銀行口座の通貨と一致する必要があります。使用可能な値は cad または usd です。 | はい |
payment_ | 同意書の支払いスケジュール。使用可能な値は interval 、sporadic 、combined です。ビジネスに適したスケジュールを選択するには、PAD 同意書の概要を参照してください。 | はい |
payment_ | 支払いスケジュールについて説明するテキスト。ビジネスに適した間隔の説明を作成するには、PAD 同意書の概要を参照してください。 | payment_ の値が interval または combined の場合は必須 |
payment_ | 作成する同意書のタイプ。personal (顧客が個人の場合) または business (顧客がビジネスの場合) のいずれかです。 | はい |
Checkout セッションを作成する
Checkout セッション中に、銀行口座の詳細の収集と即時の確認を処理する UI モーダルが顧客に表示されます。オプションで少額入金を使用した確認へのフォールバックも可能です。顧客が少額入金による確認を選択した場合、Stripe は指定された銀行口座に 2 回の少額入金を自動的に送金します。この少額入金は、顧客のオンライン銀行明細書に表示されるまでに 1 〜 2 営業日かかります。入金が到着する予定になると、金額を確定し、Stripe で銀行口座を確認するためのリンクが記載されたメールが顧客に届きます。確認が完了すると、その決済手段は、今後の決済に使用できるようになります。
組み込みをテストする
少額入金の確認メールを受信する
In order to receive the micro-deposit verification email in a sandbox after collecting the bank account details and accepting a mandate, provide an email in the payment_
field in the form of {any_
when confirming the payment method details.
テスト用の口座番号
Stripe では、手動入力の銀行口座の組み込みが本番環境に移行する準備が整ったかどうかを確認するため、テスト用の口座番号をいくつか用意しています。支払いが自動的に成功または失敗するすべてのテスト用の口座は、以下のテスト用の少額入金を使用して確認してから設定を完了する必要があります。
銀行番号 | 支店番号 | 口座番号 | シナリオ |
---|---|---|---|
000 | 11000 | 000123456789 | 少額入金が確認された後、支払いが直ちに成功します。 |
000 | 11000 | 900123456789 | 少額入金が確認された後、3 分遅延してから支払いが成功します。 |
000 | 11000 | 000222222227 | 少額入金が確認された後、支払いが直ちに失敗します。 |
000 | 11000 | 900222222227 | 少額入金が確認された後、3 分遅延してから支払いが失敗します。 |
000 | 11000 | 000666666661 | 確認用の少額入金の送金が失敗します。 |
000 | 11000 | 000777777771 | Fails the payment due to the payment amount causing the account to exceed its weekly payment volume limit. |
000 | 11000 | 000888888881 | Fails the payment due to the payment amount exceeding the account’s transaction limit. |
To mimic successful or failed bank account verifications in a sandbox, use these meaningful amounts for micro-deposits:
少額入金の金額 | シナリオ |
---|---|
32 および 45 | 口座が無事に確認されます。 |
10 および 11 | 許容された確認回数の超過をシミュレーションします。 |
その他の任意の数字の組み合わせ | 口座の確認が失敗します。 |
支払い方法を使用するサーバ側
Checkout セッションが完了すると、PaymentMethod ID と Mandate ID を収集できます。これらを使用して、顧客に銀行口座の入力を再度求めることなく将来の決済を開始できます。
警告
今後のプレオーソリの引き落としによる決済は、既存の同意書の条件に従って請求する必要があります。同意書の条件を満たさないタイミングでの引き落としは、支払いに関する不審請求の申請の原因となる可能性があります。
オフセッションで顧客に請求する準備ができたら、PaymentIntent の作成時に payment_
、customer
、mandate
ID を指定します。