カスタムの決済手段を追加する
Payment Element にカスタムの決済手段を追加します。
Stripe の Payment Element lを使用すると、ユーザーは一度の導入でさまざまな決済手段による支払いが可能になります。Stripe で処理されない追加の決済手段を表示する必要がある場合は、カスタムの決済手段を使用します。カスタムの決済手段を使用している場合は、オプションで、Stripe 以外で処理された購入を Stripe アカウントに記録して、レポート作成に利用できます。
カスタムの決済手段を設定するには、Stripe ダッシュボードでカスタムの決済手段を作成し、Payment Element にも表示される表示名とアイコンを指定します。Stripe ダッシュボードでは、50 種類以上あるプリセットの決済手段を利用できます。決済手段を作成したら、以下のガイドに従って Payment Element を設定します。カスタムの決済手段を使用した取引は Stripe の外部で処理および確定されるため、Payment Element を設定する場合、追加の作業が必要です。
注
When integrating with a third party payment processor, you’re responsible for complying with applicable legal requirements, including your agreement with your PSP, applicable laws, and so on.
このガイドでは、インテントを作成する前に支払いの詳細を収集するガイドから HTML または JS の例を使用してカスタムの決済手段を追加します。
はじめに
- Stripe アカウントを作成するかサインインします。
- インテントを作成する前に支払いの詳細を収集するガイドに従って決済機能の導入を完了します。
- 次に、指定するカスタムの決済手段ごとに、以下のステップに従います。
ダッシュボードでカスタムの決済手段を作成するダッシュボード
設定 > Payments > Custom の決済手段に移動して、カスタムの決済手段のページにアクセスします。新しいカスタムの決済手段を作成し、Payment Element が表示する表示名とロゴを指定します。
適切なロゴを選択
- 透明な背景のロゴを提供する場合は、ページの Payment Element の背景色を考慮して、それが目立つようにしてください。
- 背景の色が入ったロゴを指定する場合、丸い角は指定されません。ファイルに含めてください。
- 16 ピクセル x 16 ピクセルに拡大縮小できるロゴのバリアントを選択します。多くの場合、これはブランドのスタンドアロンのロゴマークです。
カスタムの決済手段を作成すると、ステップ 2 で必要なカスタムの決済手段の ID (cpmt_
で始まる) がダッシュボードに表示されます。
Stripe の Elements 設定にカスタムの決済手段タイプを追加クライアント側
Stripe Elements を初期化する checkout.
ファイルで、Payment Element に追加する customPaymentMethods を指定します。ステップ 1 の ID (cpmt_
で始まる) を指定するだけでなく、options.
とオプションの subtitle
も指定できます。
const elements = stripe.elements({ // ... customPaymentMethods: [ { id:
, options: { type: 'static', subtitle: 'Optional subtitle', } } ] });'{{CUSTOM_PAYMENT_METHOD_TYPE_ID}}'
Payment Element が読み込まれると、カスタムの決済手段が表示されます。

決済手段の送信を処理クライアント側
ユーザーがウェブサイトの支払いボタンをクリックしたときに呼び出される handleSubmit
関数を更新して、カスタムの決済手段の取引が Stripe 以外で処理されるようにします。
elements.submit() 関数は、現在選択されている決済手段のタイプを取得します。選択した決済手段がカスタムの決済手段である場合は、それに応じて取引を処理します。たとえば、モーダルを表示してから自社のサーバーで支払いを処理したり、顧客を外部の支払いページにリダイレクトしたりできます。
async function handleSubmit(e) { const { submitError, selectedPaymentMethod } = await elements.submit(); if (selectedPaymentMethod ===
) { // Process CPM payment on merchant server and handle redirect const res = await fetch("/process-cpm-payment", { method: 'post' }); ... } else { // Process Stripe payment methods ... } }'{{CUSTOM_PAYMENT_METHOD_TYPE_ID}}'