Payment Methods API
この API は、グローバルな支払い方法を幅広くサポートします。
Payment Methods API を使用すると、1 つの API でさまざまな支払い方法を受け付けることができます。PaymentMethod (支払い方法) オブジェクトには、支払いを作成するための支払い方法詳細が含まれます。Payment Methods API を使用すると、PaymentMethod を以下と組み合わせることができます。
- PaymentIntent (支払いインテント) と組み合わせて支払いを受け付ける
- SetupIntent (支払い方法設定インテント) および Customer (顧客) と組み合わせて、支払い詳細を保存して後で使用する
サポートされる支払い方法
特定のロケールで使用する支払い方法を決定するには、支払い方法ガイドをご参照ください。
このガイドでは、さまざまな支払い方法、各支払い方法の特徴、各支払いが適している地域について詳しく説明されています。使用可能な支払い方法はダッシュボードで有効にできます。一般的に有効化は即時に行われ、他の契約は必要ありません。
顧客アクション
一部の支払い方法では、支払いを完了するために、顧客が追加のステップを行う必要があります。PaymentIntent オブジェクトの next_
パラメータは、顧客のアクションの種類を指定します。
以下は、顧客が実行する必要のある一般的なアクションです。
- 銀行のオンラインサービスにリダイレクトして認証し、支払いを承認します。
- Stripe API に一度限りのコード (少額入金など) を入力して、アカウントの所有者であることを確認します。
- 銀行のオンラインサービスを通じて資金 (銀行振込の場合など) を追加します。
すべての支払い方法で顧客の追加アクションが必要となるわけではありません。たとえば、カード支払い (3D セキュアを除く) では、カード詳細を収集する以外に追加の認証は必要ありません。
注
顧客アクションが必要な支払い方法では、支払いが成功したかどうかの通知を受け取るためにイベントの送信先を設定します。
支払い成功の即時通知または遅延通知
一部の支払い方法では、取引が試行されるとすぐに支払いステータスが返される場合もありますが (カード支払いなど)、それ以外の方法では、ACH デビットのように遅延が生じます。支払いステータスが直ちに返される支払い方法では、PaymentIntent ステータスは、succeeded
または requires_
に変わります。succeeded
ステータスでは、お客様が顧客から売上を受け取ることが保証されます。
通知が遅延する支払い方法では、通知されるまでの期間は支払いは保証されません。PaymentIntent オブジェクトのステータスは、支払いステータスが成功または失敗になるまで processing
になります。一般的に、ビジネスはこの間、注文を「保留中」の状態にし、支払いが成功するまで注文のフルフィルメントを行いません。
注
遅延通知型の決済手段の場合、支払いが成功したかどうかの通知を受け取るためにイベントの送信先を設定します。
1 回限りの使用または再利用可能
特定の支払い方法 (カードや口座引き落としなど) は、支払いの詳細を再度承認して収集することなく再利用できます。
将来の支払い拒否や支払いの負担 (認証の要求など) を減らすために、常に再利用可能な支払い方法を設定する必要があります。再利用可能な支払い方法は、決済を受け付ける際に将来使用するために設定したり、支払いを受けずに将来使用するために設定したりできます。
1 回限りの支払い方法 (一部の銀行振込など) は顧客に関連付けできません。これらは一度支払いに使用するともう使用できなくなります。
イベントの送信先を使用して支払いステータスを追跡する
顧客アクションが必要な支払い方法や、支払い通知が遅延する支払いでは、イベントの送信先を設定します。Stripe では、PaymentIntent
ステータスが更新されると以下のイベントを送信します。
イベント | 説明 | 次のステップ |
---|---|---|
payment_ | 顧客の支払いは Stripe に無事に送信されました。これは遅延通知の支払い方法のみに該当します。 | 開始された支払いが成功するか、失敗するかの結果を待ちます。 |
payment_ | 支払いが成功しました。 | 顧客が購入した商品またはサービスの発送を行います。 |
payment_ | 支払いが失敗しました。 | 別の支払い方法をリクエストするメールまたはプッシュ通知を送信します。 |
または、イベントをリッスンするためにイベントの送信先を設定するのではなく、以下のオプションを使用することもできます。
- お客様のビジネスで、遅延通知の支払い方法の注文が少ない場合には、Stripe ダッシュボードで支払いステータスを手動で追跡します。ダッシュボードでは、すべての Stripe 支払いの表示、メールでの領収書の送信、入金処理、および失敗した支払いの再試行が可能です。
- ポーリング (PaymentIntent を繰り返し取得してそのステータスを確認するなど) を使用します。ポーリングは他の方法に比べて信頼性が著しく低く、大規模スケールでは機能しない可能性があることにご注意ください。Stripe では API リクエストのレート制限を施行しているため、ポーリングを使用する際には注意が必要です。
- パートナーアプリケーションを使用し、オートメーションやマーケティングとセールスなどの一般的なビジネスイベントを、パートナーアプリケーションとの連携によって処理します。
PaymentMethod オブジェクト
PaymentMethod には、支払いを作成するための再利用可能な支払い方法の詳細 (カードの有効期限や請求先住所など) が含まれますが、取引特有の情報 (金額や通貨など) は含まれません。PaymentMethod は PaymentIntent に関連付けされ、支払いライフサイクルの状態を示します。各 PaymentMethod には type 属性 ("type": "sepa_
など) とそのタイプに一致する名前の追加ハッシュがあり、PaymentMethod タイプ ("sepa_
など) に特有の情報が含まれます。以下は、sepa_
PaymentMethod オブジェクトの例です。
{ "id": "pm_123456789", "object": "payment_method", "billing_details": { "address": {...}, "email": "jenny@example.com", "name": "Jenny Rosen", "phone": "+335555555555" }, "sepa_debit": { "bank_code": "37040044", "branch_code": "94832", "country": "FR", "fingerprint": "ygEJfUjzWMGyWnZg", "last4": "3000" }, "type": "sepa_debit", (...) }
注
機密情報である支払い情報を安全に取り扱い、顧客アクションを自動的に処理するには、Stripe では、Stripe.js を使用して支払い方法を作成することをお勧めします。