既存の顧客の支払い
顧客がオンセッションの間に既存の決済手段に請求する方法をご紹介します。
Checkout セッションでは、買い手が各自の支払いの詳細を入力できます。買い手が既存の顧客の場合、Checkout セッションを設定して、顧客の保存済みのカードのいずれかを使って詳細に事前入力可能です。

Checkout セッションを作成クライアント側サーバー側
サーバー側のエンドポイントを呼び出して Checkout セッションを作成する購入ボタンをウェブサイトに追加します。
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
Checkout は、customer
パラメーターを指定した既存の Customer オブジェクトの再利用をサポートします。既存の顧客を再利用すると、Payment Intents や Subscriptions など、Checkout によって作成されたすべてのオブジェクトがその Customer オブジェクトに関連付けられます。
success_
に {CHECKOUT_
テンプレート変数を追加することで、顧客が Checkout セッションを正常に完了した後でセッション ID にアクセスできます。Checkout セッションを作成したら、レスポンスで返された URL に顧客をリダイレクトします。
支払いページのフィールドを事前入力
以下のすべての条件を満たしている場合、顧客が保存しているカード情報を基に、Checkout の決済ページのメールアドレス、名前、カード、請求先住所フィールドが事前入力されます。
- Checkout が
payment
モードまたはsubscription
モードで使用されている (setup
モードではフィールドの事前入力はサポートされていません)。 - 顧客がカードを保存している。カードの決済手段の事前入力のみ Checkout でサポートされている。
- 保存されているカードの
allow_
がredisplay always
に設定されているか、デフォルトの表示設定が調整されている。 - 決済手段に、Checkout セッションの
billing_
値に必要なaddress_ collection billing_
が含まれている。details auto
の場合、email
、name
、address[country]
フィールドに値が必要です。アメリカ、カナダ、イギリスの請求先住所にもaddress[postal_
が必要です。code] required
の場合、email
、name
、address
フィールドに値が必要です。
顧客が複数のカードを保存している場合、Checkout では以下の優先順位に従ってカード情報が事前入力されます。
payment
モードでは、顧客が前回保存したカードがフィールドに事前入力されます。subscription
モードでは、顧客のデフォルトの決済手段がカードである場合に事前入力が行われます。それ以外の場合、Stripe は前回保存されたカードを事前入力します。
Checkout は配送先住所を収集する際に、顧客の shipping.address が Checkout セッションで対応している国と一致しているなら、配送先住所フィールドに事前入力します。
事前入力のタイムアウト
事前入力された決済手段は、Checkout セッションの作成後 30 分間表示されます。有効期限が切れると、セキュリティ上の理由から、同じ Checkout セッションを読み込んでも決済手段が事前入力されなくなります。
支払い後のイベントを処理サーバー側
顧客が Checkout セッションの支払いを完了すると、Stripe は checkout.session.completed イベントを送信します。ダッシュボードの Webhook ツールを使用するか、Webhook ガイドに従ってこれらのイベントを受信して処理します。これにより、次のアクションがトリガーされます。
- 顧客に注文確認メールを送信します。
- 取引をデータベースに記録します。
- 配送ワークフローを開始します。
顧客がリダイレクトされ、ウェブサイトに戻るのを待たずに、これらのイベントはリッスンできます。Checkout のランディングページからのみフルフィルメントをトリガーする場合、確実性に欠けます。非同期型のイベントをリッスンするようシステムを設定すると、1 回の実装で異なるタイプの決済手段を受け付けられるようになります。
詳しくは、Checkout のフルフィルメントガイドをご覧ください。
Checkout で支払いを回収する際には、以下のイベントを処理します。
イベント | 説明 | アクション |
---|---|---|
checkout.session.completed | 顧客が Checkout セッションを正常に完了すると送信されます。 | 注文確認書を顧客に送信し、注文のフルフィルメントを実行します。 |
checkout.session.async_payment_succeeded | ACH Direct Debt など、遅延型の決済手段による支払いが成功した場合に送信されます。 | 注文確認書を顧客に送信し、注文のフルフィルメントを実行します。 |
checkout.session.async_payment_failed | ACH Direct Debt など、遅延型の決済手段による支払いが失敗した場合に送信されます。 | 顧客に失敗を通知して、顧客をオンセッションに戻し、支払いを再試行できるようにします。 |