Amazon Pay によるサブスクリプションを設定する
Amazon Pay を使用したサブスクリプションの作成と請求の方法をご紹介します。
このガイドを使用して、支払い方法として Amazon Pay を使用するサブスクリプションを設定します。
2 回の API コールを使用してサブスクリプションを作成し、確定します。1 つ目の API コールは、Setup Intents API を使用して、Amazon Pay を支払い方法として設定します。2 つ目の API コールで、顧客、商品、支払い方法の情報を Subscriptions API に送信し、1 回のコールでサブスクリプションを作成し、支払いを確定します。
商品と価格を作成するダッシュボード
Products (商品) は、販売しているアイテムまたはサービスを表します。Prices (価格) は、商品の価格と請求頻度を定義します。これには、商品の価格、受け付ける通貨、および 1 回限りの支払いか継続支払いかが含まれます。商品と価格が数個のみの場合は、ダッシュボードでそれらを作成および管理します。
このガイドでは、例としてストックフォトサービスを使用し、15 USD の月次サブスクリプションを顧客に請求します。これをモデル化するには、次のようにします。
- 商品を追加ページに移動します。
- 商品の名前を入力します。
- 価格に 15 を入力します。
- 通貨として USD を選択します。
- 商品を保存をクリックします。
商品と価格を作成したら、価格 ID を記録しておき、後続のステップで使用できるようにします。ID は料金体系ページで price_
のように表示されます。
Customer を作成または取得するサーバー側
今後の支払いに備えて Amazon Pay の支払い方法を保存するには、これを Customer に関連付ける必要があります。
ビジネスで顧客がアカウントを作成した後に Customer
オブジェクトを作成します。Customer
オブジェクトの ID を自社固有の顧客の内部表記に関連付けることにより、後から保存済みの支払い方法情報を取得して使用できます。顧客がアカウントを作成していない場合でも Customer
オブジェクトを作成して、後でその顧客のアカウントの内部表記に関連付けることができます。
SetupIntent を作成するサーバー側
SetupIntent を作成して、今後の決済に備えて顧客の決済手段を保存します。SetupIntent (支払い方法設定インテント) は、今後の決済に備えて顧客の支払い方法を設定する意図を表すオブジェクトです。SetupIntent は、この設定プロセスのステップを追跡します。
サーバー側で payment_method_types を amazon_
に設定して SetupIntent を作成し、Customer の ID と usage=off_session または usage=on_
を指定します。
SetupIntent オブジェクトには client_
が含まれています。これは、同意書の承認を得るために買い手を Amazon Pay にリダイレクトする際に、クライアント側で Stripe.js に渡す必要がある一意のキーです。
client secret を取得する
SetupIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。
次に、Stripe.js を使用してクライアントに Amazon Pay を保存します。
Stripe.js スクリプトを決済ページに含めるには、このスクリプトを HTML ファイルの head
に追加します。
<head> <title>Checkout</title> <script src="https://js.stripe.com/v3/"></script> </head>
顧客が Amazon Pay での支払いをクリックしたときに、Stripe.js を使用してその支払いを Stripe に送信します。Stripe.js は、決済フローを構築するための基本的な JavaScript ライブラリです。このライブラリにより、以下で説明するリダイレクトなどの複雑な処理が自動的に行われ、他の決済手段にも対応できるように実装を拡張できます。Stripe.js スクリプトを決済ページに含めるには、HTML ファイルの head
にこのスクリプトを追加します。
<head> <title>Checkout</title> <script src="https://js.stripe.com/v3/"></script> </head>
決済ページで以下の JavaScript を使用して、Stripe.js のインスタンスを作成します。
// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
);'pk_test_TYooMQauvdEDq54NiTphI7jx'
stripe.
を使用し、return_url と mandate_data を指定して、クライアント側で SetupIntent を確定します。 return_url を使用して SetupIntent の成功後に顧客を指定のページにリダイレクトします。
// Redirects away from the client const {error} = await stripe.confirmAmazonPaySetup( '{{SETUP_INTENT_CLIENT_SECRET}}', { return_url: 'https://example.com/setup/complete', mandate_data: { customer_acceptance: { type: 'online', online: { infer_from_client: true } } }, } ); if (error) { // Inform the customer that there was an error. }
定期支払いの作成サーバー側
価格と顧客を含むサブスクリプションを作成します。default_
パラメーターの値を SetupIntent から返された PaymentMethod ID に設定します。
事前設定されたデフォルトの支払い方法があるため、サブスクリプションを作成すると顧客に自動的に請求されます。支払いが成功すると、Stripe ダッシュボードのステータスが有効に変わります。すでに設定済みの価格によって以降の請求額が決まります。無料のトライアル期間を利用してサブスクリプションを作成する方法をご覧ください。