Express Checkout Element で決済を受け付ける
単一の導入を使用して、ワンクリックの支払いボタンで決済を受け付けます。
Express Checkout Element は、ワンクリックの決済手段ボタンで決済を受け付ける実装です。対応している決済手段には、Link、Apple Pay、Google Pay、PayPal、Klarna、Amazon Pay などがあります。
顧客が使用するデバイスとブラウザーの組み合わせのサポート状況に応じて、表示される支払いボタンが異なります。互換性のあるデバイスでは、Google Pay と Link が自動的にサポートされます。Apple Pay と PayPal のサポートには追加のステップが必要です。
オプション | 説明 |
---|---|
加盟店の所在国 | Stripe.js の初期化に使用する公開可能キーを使用して設定します。国を変更するには、Express Checkout Element のマウントを解除し、公開可能キーを更新してから、Express Checkout Element を再マウントする必要があります。 |
背景色 | Elements Appearance API を使用して色を設定します。ボタンテーマは Appearance API から継承されますが、Element の作成時に直接定義することもできます。 |
デスクトップとモバイルのサイズ | ドロップダウンを使用して、Express Checkout Element がマウントされる親エレメントの最大ピクセル幅を設定します。750px (デスクトップ) または 320px (モバイル) を設定できます。 |
最大列数と最大行数 | これらの値を設定するには、Express Checkout Element を作成するときに、layout パラメーターを使用します。 |
オーバーフローメニュー | これを設定するには、Express Checkout Element を作成するときに、layout パラメーターを使用します。 |
配送先住所を収集する | 配送先情報を収集するには、Express Checkout Element の作成時にオプションを渡す必要があります。顧客の詳細情報の収集と項目の表示の詳細をご覧ください。 |
Express Checkout Element を使用する際は、Intent の作成前に支払いの詳細を収集することをお勧めします。これまでに Payment Element を導入している場合に、このアプローチを行うにはStripe システムの更新が必要になる場合があります。
はじめに
- ブラウザーに支払い方法を追加します。たとえば、カードを Google Pay アカウントや Safari のウォレットに追加できます。
- アプリケーションは HTTPS 経由で提供します。これは、開発環境と本番環境で必須です。ngrok などのサービスを利用できます。
- サンドボックスと本番環境の両方でドメインを登録します。
- PayPal サンドボックスアカウントを作成して、実装をテストします。
支払い方法を有効にする
デフォルトでは、Stripe はお客様の決済手段の設定を使用して、Express Checkout Element ででどの決済手段を有効にするかを決定します。
有効になっている決済手段を手動で上書きするには、payment_
属性を使用して、有効にする決済手段をすべてリストします。
- インテントを作成する前に支払いを回収する場合は、Elementsプロバイダーオプションの
paymentMethodTypes
属性に決済手段のリストを作成します。 - Elements をレンダリングする前にインテントを作成する場合は、インテントの
payment_
属性に決済手段のリストを作成します。method_ types
サポートされている決済手段
支払い方法タイプ card
を使用すると、Apple Pay と Google Pay が自動的に有効になります。Link を使用する場合は、必ず card
支払い方法タイプも渡します。
支払い方法名 | Payment method API パラメーター |
---|---|
Apple Pay | card |
Google Pay | card |
Link | link, card |
PayPal | paypal |
Amazon Pay | amazon_ |
Klarna | klarna |
オプション追加の Elements オプションクライアント側
Elements オブジェクトは、支払いの回収に影響する追加オプションを受け入れます。指定したオプションを基に Express Checkout Element は、有効化した決済手段の中から利用可能なものを表示します。詳しくは、決済手段のサポートをご覧ください。
プロパティー | タイプ | 説明 | 必須 |
---|---|---|---|
mode |
| Express Checkout Element が PaymentIntent、SetupIntent、またはサブスクリプションで使用されているかどうかを示します。 | はい |
currency | string | 顧客に請求する金額の通貨。 | はい |
amount | number | Apple Pay、Google Pay、または BNPL の UI で示される、顧客に請求する金額。 | payment および subscription のモードの場合 |
setupFutureUsage |
| Express Checkout Element によって収集された決済情報を使用して、今後の支払いを行う意図を示します。Express Checkout Element を使用する PayPal または Klarna ではサポートされていません。 | いいえ |
captureMethod |
| 顧客の口座から売上をキャプチャーするタイミングを管理します。 | いいえ |
onBehalfOf | string | Connect のみ。取引に関する金銭的責任を負う Stripe アカウント ID。このオプションが実装に関連するかを判断するには、ユースケースをご覧ください。 | いいえ |
paymentMethodTypes | string[] | 表示する決済手段タイプのリスト。この属性を省略して、Stripe ダッシュボードで決済手段を管理できます。 | いいえ |
paymentMethodConfiguration | string | Stripe ダッシュボードで決済手段を管理するときに使用する決済手段の設定。指定しない場合は、既定の構成が使用されます。 | いいえ |
paymentMethodCreation | manual | stripe.createPaymentMethod を使用して、Elements インスタンスから PaymentMethods が作成されるようにします。 | いいえ |
paymentMethodOptions | {us_ | us_ 決済手段の確認オプション。Payment Intents と同じ確認手段を受け入れます。 | いいえ |
paymentMethodOptions | {card: {installments: {enabled: boolean}}} | Stripe ダッシュボードで決済手段を管理していないときに、カード分割払いプランの選択 UI を手動で有効化できるようにします。mode='payment' を設定し、「さらに」paymentMethodTypes を明示的に指定する必要があります。それ以外の場合は、エラーが発生します。paymentMethodCreation='manual' とは互換性がありません。 | いいえ |
Express Checkout Element を作成してマウントするクライアント側
Express Checkout Element には、HTTPS 接続を介して支払い情報を Stripe に安全に送信する iframe が含まれています。実装を機能させるには、決済ページのアドレスの先頭を http://
ではなく https://
にする必要があります。
顧客の詳細情報を収集してラインアイテムを表示するクライアント側
Express Checkout Element 作成時にオプションを渡します。
オプションready イベントをリッスンするクライアント側
マウント後、しばらくの間は Express Checkout Element にボタンが表示されません。ボタンを表示するときに Element をアニメーション表示するには、ready イベントをリッスンし、availablePaymentMethods
の値を調べて、Express Checkout Element に表示するボタン (ある場合) を決定します。
オプション支払いボタンを表示するタイミングを管理するクライアント側
Express Checkout Element に表示する支払い方法は、次のいくつかの方法で管理できます。
- Stripe ダッシュボードの支払い方法の設定。
- paymentMethods property を使用して、支払いボタンを無効化します。このプロパティを使用すると、顧客に表示する内容をより細かく管理できます。
Express Checkout Element は、顧客がサポート対象のプラットフォームを使用していて、有効なカードを保有している場合に Apple Pay または Google Pay を表示します。顧客が有効なカードを保有していない場合でも、常に Apple Pay と Google Pay を表示するには、paymentMethods
を使用してこれを設定することもできます。
オプションボタンのスタイルを設定するクライアント側
支払い方法の各ボタンのスタイルを個別に設定できます。ボタンのテーマとタイプの例については、Google Pay と Apple Pay のリソースをご確認ください。borderRadius
変数は、Appearance API で使用することもできます。
オプションConfirmationToken を作成するクライアント側
支払いが顧客によって承認されると、ConfirmationToken を作成できます。追加の検証またはビジネスロジックのために、確定前にこれをサーバーに送信します。作成された ConfirmationToken をすぐに使用して、PaymentIntent または SetupIntent を確定する必要があります。
PaymentIntent を作成するサーバー側
Stripe は PaymentIntent オブジェクトを使用して、顧客から支払いを回収するお客様の意図を示し、プロセス全体を通して請求の実施と支払い状態の変化を追跡します。
サーバーで金額と通貨を指定し、PaymentIntent を作成します。これは、ステップ 3 で stripe.
インスタンスに設定した内容と一致している必要があります。請求金額は、クライアント側ではなく、常に信頼できる環境のサーバー側で指定してください。これにより、悪意のある顧客が金額を恣意的に選択できないようにします。
返される PaymentIntent には client secret が含まれています。これは、PaymentIntent オブジェクト全体を渡すことなく安全に決済プロセスを完了するために、クライアント側で使用されます。client secret をクライアント側に渡す際には、いくつかの方法を使用できます。
Stripe に支払いを送信するクライアント側
stripe.confirmPayment を使用し、Express Checkout Element からの詳細を使って支払いを完了します。
注
Amazon Pay、Klarna、PayPal の場合、PaymentIntent で確定した金額と買い手が事前承認した金額が一致している必要があります。金額が一致しないと、支払いは拒否されます。
支払いの完了後に Stripe がユーザーをリダイレクトする場所を指定するには、この関数に return_url を指定します。ユーザーは、最初に中間サイトにリダイレクトされてから、return_
にリダイレクトされる場合があります。支払いが正常に完了するとすぐに return_
にリダイレクトされます。
支払いの完了後にリダイレクトを行わない場合は、redirect を if_
に設定します。これで、リダイレクトベースの支払い方法で購入する顧客のみがリダイレクトされます。
実装をテストする
本番環境に移行する前に、各支払い方法の組み込みをテストします。支払い方法のブラウザーとの互換性を判断するには、サポートされるブラウザーをご覧ください。iframe で Express Checkout Element を使用している場合、iframe で allow 属性を payment *
に設定する必要があります。
オプションStripe Connect で Express Checkout Element を使用する
連結アカウントの Customer
に対してダイレクト支払いの作成や、トークンの追加を行う Connect プラットフォームでは、追加のステップを実行する必要があります。
フロントエンドで、
ExpressCheckoutElement
を作成する前に、Stripe インスタンスでstripeAccount
オプションを設定します。const stripe = Stripe(
, { apiVersion: "2025-08-27.basil", stripeAccount:'pk_test_TYooMQauvdEDq54NiTphI7jx', });'{{CONNECTED_ACCOUNT_ID}}'Express Checkout Element を表示する予定のすべてのドメインを登録します。
顧客に Stripe を開示する
Stripe は顧客の Elements とのやり取りに関する情報を収集して、サービスを提供し、不正利用を防止し、サービスを向上します。これには、Cookie と IP アドレスを使用して、1 つの決済フローセッションで顧客に表示する Elements を特定することが含まれます。Stripe がこのような方法でデータを使用するために必要なすべての権利と同意について開示し、これらを取得することはお客様の責任です。詳細については、プライバシーセンターをご覧ください。