# Payment Methods API さまざまなグローバルな支払い方法を受け付けることができる API についてご紹介します。 Payment Methods API を使用すると、1 つの API でさまざまな支払い方法を受け付けることができます。[PaymentMethod (支払い方法)](https://docs.stripe.com/api/payment_methods/object.md) オブジェクトには、支払いを作成するための支払い方法詳細が含まれます。Payment Methods API を使用すると、*PaymentMethod* (PaymentMethods represent your customer's payment instruments, used with the Payment Intents or Setup Intents APIs) を以下と組み合わせることができます。 - [PaymentIntent (支払いインテント)](https://docs.stripe.com/api/payment_intents.md) と組み合わせて支払いを受け付ける - [SetupIntent (支払い方法設定インテント)](https://docs.stripe.com/api/setup_intents.md) および *Customer (顧客)* (Customer objects represent customers of your business. They let you reuse payment methods and give you the ability to track multiple payments) と組み合わせて、支払い詳細を保存して後で使用する ## サポートされる支払い方法 特定のロケールで使用する支払い方法を決定するには、[支払い方法ガイド](https://stripe.com/payments/payment-methods-guide)をご参照ください。 このガイドには、各地域で利用できる決済手段、各決済手段の特徴、決済手段と関連性の高い[地域](https://stripe.com/payments/payment-methods-guide#payment-methods-fact-sheets)が詳しく説明されています。[ダッシュボード](https://dashboard.stripe.com)で利用可能な決済手段はお客様で有効にすることができます。通常、有効化は即時に反映され、追加の契約も必要ありません。 ## 顧客アクション 一部の支払い方法では、支払いを完了するために、顧客が追加のステップを行う必要があります。PaymentIntent オブジェクトの `next_action` パラメータは、顧客のアクションの種類を指定します。 以下は、顧客が実行する必要のある一般的なアクションです。 - 銀行のオンラインサービスにリダイレクトして認証し、支払いを承認します。 - Stripe API に一度限りのコード (少額入金など) を入力して、アカウントの所有者であることを確認します。 - 銀行のオンラインサービスを通じて資金 (銀行振込の場合など) を追加します。 すべての支払い方法で顧客の追加アクションが必要となるわけではありません。たとえば、カード支払い (3D セキュアを除く) では、カード詳細を収集する以外に追加の認証は必要ありません。 > 顧客のアクションを必要とする決済手段の場合、決済が成功したかどうかを通知する [Webhook エンドポイント](https://docs.stripe.com/payments/payment-methods.md#webhooks)を設定します。 ## 支払い成功の即時通知または遅延通知 一部の決済手段では、取引が試行されるとすぐに決済ステータスが返される場合もありますが (カード決済など)、それ以外の手段では、ACH デビットのように遅延が生じます。決済ステータスが直ちに返される決済手段では、PaymentIntent ステータスは、`succeeded` または `requires_payment_method` に変わります。`succeeded` ステータスでは、顧客から売上を受け取ることが保証されます。 通知が遅延する支払い方法では、通知されるまでの期間は支払いは保証されません。PaymentIntent オブジェクトのステータスは、支払いステータスが成功または失敗になるまで `processing` になります。一般的に、ビジネスはこの間、注文を「保留中」の状態にし、支払いが成功するまで注文のフルフィルメントを行いません。 > ​​通知が遅延する決済手段の場合、決済が成功したかどうかを通知する [Webhook エンドポイント](https://docs.stripe.com/payments/payment-methods.md#webhooks)を設定します。 ## 1 回限りの使用または再利用可能 特定の支払い方法 (カードや口座引き落としなど) は、支払いの詳細を再度承認して収集することなく再利用できます。 将来の支払い拒否や支払いの負担 ([認証の要求](https://docs.stripe.com/strong-customer-authentication.md)など) を減らすために、常に再利用可能な支払い方法を設定する必要があります。再利用可能な支払い方法は、[決済を受け付ける際に将来使用するために設定](https://docs.stripe.com/payments/save-during-payment.md)したり、[支払いを受けずに将来使用するために設定](https://docs.stripe.com/payments/save-and-reuse.md)したりできます。 1 回限りの支払い方法 (一部の銀行振込など) は顧客に関連付けできません。これらは一度支払いに使用するともう使用できなくなります。 ## Webhook を使用して支払いステータスを追跡する 顧客のアクションを必要とする決済手段、または決済通知が遅延する決済手段に対し、[Webhook エンドポイントまたはその他のタイプのイベント送信先](https://docs.stripe.com/event-destinations.md)を作成して、Webhook を設定します。Stripe は、`PaymentIntent` のステータスが更新されると、次のイベントを送信します。 | イベント | 説明 | 次のステップ | | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | | `payment_intent.processing` | 顧客の支払いは Stripe に無事に送信されました。これは[遅延通知](https://docs.stripe.com/payments/payment-methods.md#payment-notification)の支払い方法のみに該当します。 | 開始された支払いが成功するか、失敗するかの結果を待ちます。 | | `payment_intent.succeeded` | 支払いが成功しました。 | 顧客が購入した商品またはサービスの発送を行います。 | | `payment_intent.payment_failed` | 支払いが失敗しました。 | 別の支払い方法をリクエストするメールまたはプッシュ通知を送信します。 | ​​または、イベントをリッスンするためにイベントの送信先を設定するのではなく、以下のオプションを使用することもできます。 - お客様のビジネスで、遅延通知の支払い方法の注文が少ない場合には、Stripe ダッシュボードで支払いステータスを手動で追跡します。ダッシュボードでは、[すべての Stripe 支払いの表示](https://dashboard.stripe.com/test/payments)、メールでの領収書の送信、入金処理、および失敗した支払いの再試行が可能です。 - ポーリング (PaymentIntent を繰り返し取得してそのステータスを確認するなど) を使用します。ポーリングは他の方法に比べて信頼性が著しく低く、大規模スケールでは機能しない可能性があることにご注意ください。Stripe では API リクエストのレート制限を施行しているため、ポーリングを使用する際には注意が必要です。 - パートナーアプリケーションを使用し、[オートメーション](https://stripe.partners/?f_category=automation)や[マーケティングとセールス](https://stripe.partners/?f_category=marketing-and-sales)などの一般的なビジネスイベントを、パートナーアプリケーションとの連携によって処理します。 ## PaymentMethod オブジェクト PaymentMethod には、支払いを作成するための再利用可能な支払い方法の詳細 (カードの有効期限や請求先住所など) が含まれますが、取引特有の情報 (金額や通貨など) は含まれません。PaymentMethod は PaymentIntent に関連付けされ、[支払いライフサイクルの状態](https://docs.stripe.com/payments/paymentintents/lifecycle.md)を示します。各 PaymentMethod には [type 属性](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-type) (`"type": "sepa_debit"` など) とそのタイプに一致する名前の追加ハッシュがあり、PaymentMethod タイプ (`"sepa_debit":{}` など) に特有の情報が含まれます。以下は、`sepa_debit` PaymentMethod オブジェクトの例です。 ```json { "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](https://docs.stripe.com/js.md#stripe-create-payment-method) を使用して支払い方法を作成することをお勧めします。 ## See also - [支払い方法ガイド](https://stripe.com/payments/payment-methods-guide) - [Payment Methods API リファレンス](https://docs.stripe.com/api/payment_methods.md)