将来の Revolut Pay による支払いを設定する
Revolut Pay の詳細を保存し、後で顧客に請求する方法をご紹介します。
このガイドでは、Stripe 上のオンライン決済ページである Checkout を使用して、Revolut Pay の支払い情報を保存する方法を説明します。
Revolut Pay で支払うサブスクリプションを設定し、Checkout で決済手段を保存した後に継続支払いを作成する方法をご紹介します。
支払い方法を保存する許可を得るサーバー側
将来の使用に備えて顧客の支払い方法を保存する場合は、顧客の許可を得る必要があります。あらかじめ契約 (同意書とも呼ばれます) を作成しておくことで、顧客の支払い情報を保存し、顧客がウェブサイトやアプリを能動的に使用していないときでも請求できるようになります。
顧客の支払い方法の保存をどのように計画しているかを示す規約をウェブサイトやアプリに追加し、顧客が承認できるようにします。顧客がオフラインのときに請求する予定である場合は、規約に以下の内容も含める必要があります。
- 指定された取引で顧客の代理として単独の支払いまたは一連の支払いを開始することを許可する、顧客からお客様への許可
- 予測される支払い頻度 (1 回限り、継続支払い) とタイミング
- 支払い金額の決定方法
- サブスクリプションサービスに使用される支払い方法を設定する場合は、キャンセルに関するポリシー
これらの条件に関する顧客の書面による同意の記録を必ず保管してください。
Customer を作成または取得するサーバー側
今後の支払いで Revolut Pay 支払い方法を再利用できるようにするには、これを Customer に関連付けます。
顧客がアカウントを作成するときに、Customer オブジェクトを作成して、この Customer オブジェクトの ID を貴社独自の内部表記と関連付けてください。あるいは、将来の支払いに備えて決済手段を保存する前に、新しい Customer を作成することもできます。
新しい Customer を作成するか、または既存の Customer を取得して、この決済に関連付けます。サーバーに以下のコードを含め、新しい Customer を作成します。
Checkout セッションを作成するサーバー側
Stripe Checkout での将来の支払いに Revolut アカウントを使用する許可を顧客から得る必要があります。これにより、Revolut 決済の受け付けが可能になります。サーバー側のエンドポイントを呼び出す決済ボタンをウェブサイトに追加して Checkout セッション を作成します。
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
setup
モードで Checkout セッションを作成して、必要な情報を収集します。Checkout セッションを作成したら、レスポンスで返された URL に顧客をリダイレクトします。
実装をテストする
支払い方法として Revolut Pay を選択してから、Continue to Revolut Pay (Revolut Pay に進む) をクリックします。リダイレクトページで SetupIntent を認証することで、設定の成功ケースをテストできます。SetupIntent のステータスが requires_action から succeeded に移行します。