Charges API と PaymentIntents API
Stripe の 2 つの主要な支払い API の違いと、それぞれを使用するタイミングは以下のとおりです。
Stripe の支払いのための API について
現在 Stripe で支払いを受け付けるには、3 通りの方法があります。
- Stripe Checkout
- Charges API
- Payment Intents API
Stripe Checkout は事前に構築された支払いページであり、購入とサブスクリプションを簡単にするために顧客をこのページにリダイレクトできます。Apple Pay、Google Pay、国際化、フォーム検証など、多くの機能を提供します。
Charges (支払い) API および Payment Intents (支払いインテント) API を使用すると、カスタムの支払いフローと体験を構築できます。
Payment Intents API は、すべての Stripe 製品と支払い方法の統合 API です。Charges API を廃止する予定はありませんが、新機能は Payment Intents API のみで使用できます。
すべての機能の比較については、以下の表を参照してください。
Charges API | Payment Intents API |
---|---|
カードの受け付けにシンプルな方法を好む米国 / カナダの顧客を主とするビジネスが使用。 | 認証を必要とする複数の支払い方法とカードに対応するビジネスで必要です (ヨーロッパの強力な顧客認証 (SCA) に対応するためなど)。 |
Web、iOS、Android で動作。 | Web、iOS、Android で動作します。Terminal で実店舗での支払いを受け付ける際にも使用できます。 |
Sources API でカードとあらゆる支払いをサポート。 | 3DS を必要とするカード、iDEAL、SEPA、およびその他の多くの支払い方法をサポートします。 |
SCA 未対応 | SCA 対応 |
支払いから読み取るコードを移行する
アプリケーションに複数の支払いフローがあり、それぞれを Charges API から Payment Intents API に段階的に移行する場合は、最初に Charge (支払い) オブジェクトから読み取るコードを更新する必要があります。これを支援するために、Charge オブジェクトには payment_method_details と billing_details という 2 つの新しいプロパティがあり、支払いに使用された支払い方法の詳細を読み取るための一貫したインターフェイスを提供します。
これらのフィールドは、すべての API バージョン、および Charges API と Payment Intents API の両方で作成された支払いオブジェクトで使用できます。
次の表は、支払いで通常使用されるプロパティと、追加プロパティを使用して同じ情報にアクセスする方法を示しています。