コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
バージョン管理
変更ログ
API バージョンのアップグレード
SDK バージョンをアップグレードする
Essentials
SDK
API
テスト
Stripe CLI
ツール
ワークベンチ
開発者ダッシュボード
Stripe Shell
Visual Studio Code をご利用の場合
機能
ワークフロー
イベントの送信先
Stripe 健全性アラートファイルのアップロード
AI ソリューション
エージェントツールキット
セキュリティとプライバシー
セキュリティ
プライバシー
Stripe を拡張する
Build Stripe apps
Use apps from Stripe
    概要
    Stripe-built apps
    Adobe Commerce
      ガイド
      Payments and tax app for Adobe Commerce
        税金の徴収とレポート作成の自動化
        カスタムのストアフロントを構築
        設定
        インストール
        トラブルシューティング
        サブスクリプションを使用する
        管理パネルを使用する
        バージョン履歴
      Standalone tax app for Adobe Commerce
    Cegid
    Commercetools
    Mirakl
    NetSuite
    Oracle Opera
    PrestaShop
    Salesforce
    SAP
    Shopware 6
    Stripe Tax for BigCommerce
    Stripe Tax for WooCommerce
    Partner apps
    Build your own app
パートナー
Partner Ecosystem
パートナー認定
ホーム開発者向けリソースUse apps from StripeAdobe CommercePayments and tax app for Adobe Commerce

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

カスタムのストアフロントを構築

Stripe 決済機能に対応したカスタムのストアフロントを構築する方法をご紹介します。

Adobe Commerce は、ストアフロントから切り離されたヘッドレスコマースプラットフォームとして動作します。REST API または GraphQL API を使用することで、プログレッシブウェブアプリ (PWA)、モバイルアプリ、React や Vue などのフレームワークをベースとするフロントエンドなど、カスタムのストアフロントを構築できます。

Stripe モジュールは、次のように REST API および GraphQL API を拡張します。

  • 注文時の支払い方法トークンの設定
  • 3D セキュア顧客認証の実行
  • 顧客の保存済みの支払い方法の管理

Stripe モジュールは購入ページで REST API を使用します。API を使用する方法の例については、Stripe モジュールディレクトリーの resources/examples/ サブディレクトリーをご覧ください。このガイドでは、GraphQL API を使用してカスタムのストアフロントを構築します。

初期化パラメーターを取得する

フロントエンドで Stripe.js と決済フォームを初期化するには、管理エリアで設定した Stripe の公開可能な API キーが必要です。次の GraphQL ミューテーションを使用して、このキーとその他の初期化パラメーターを取得できます。

query { getStripeConfiguration { apiKey locale appInfo options { betas apiVersion } elementsOptions } }

決済フローで支払い方法をトークン化する

PaymentElement を使用すると、決済フローで顧客から支払い方法を収集できます。顧客が支払い方法の詳細を指定して注文するをクリックした後に、支払い方法をトークン化して使用し、注文を行うことができます。createPaymentMethod を呼び出して、PaymentElement で指定された詳細から支払い方法トークンを生成します。

var stripe = Stripe(API_PUBLISHABLE_KEY); var options = { mode: 'payment', amount: 1099, currency: 'eur' }; var elements = stripe.elements(options); var paymentElement = elements.create('payment'); paymentElement.mount('#payment-element'); var placeOrder = function() { elements.submit().then(function() { stripe.createPaymentMethod({ elements: elements, params: { billing_details: { name: 'Jenny Rosen' } } }).then(function(result) { if (result && result.paymentMethod) { // Success } }); }); }

トークン化された支払い方法を渡す

支払い方法トークンの取得後に、setPaymentMethodOnCart を呼び出して注文で支払い方法を設定する必要があります。

mutation { setPaymentMethodOnCart(input: { cart_id: "CART_ID" payment_method: { code: "stripe_payments" stripe_payments: { payment_method: "PAYMENT_METHOD_ID" save_payment_method: true } } }) { cart { selected_payment_method { code } } } }

setPaymentMethodOnCart の以下のパラメーターを使用します。

パラメータータイプ説明
payment_method文字列このパラメーターを使用して、トークン化された支払い方法 ID を渡します。顧客が決済フローで保存済みの支払い方法を選択した場合は、保存済みの支払い方法のトークンを渡すこともできます。
save_payment_methodブール値支払い方法を保存するかどうかを指定します。
cvc_token文字列保存済みのカードに対してセキュリティコードが有効になっている場合は、このパラメーターを使用してセキュリティコードトークンを渡して確認を実行します。

注文する

支払い方法トークンの設定後は、Adobe Commerce placeOrder ミューテーションを使用して注文を行うことができます。

mutation { placeOrder(input: {cart_id: "CART_ID"}) { order { order_number client_secret } } }

上記の例では、client_secret をリクエストしています。これはデフォルトの placeOrder ミューテーションパラメーターではありません。Stripe モジュールでこれが追加されているのは、注文が行われた後にこのパラメーターを使用して、選択した支払い方法に固有の詳細を確定できるようにするためです。stripe.handleNextAction(client_secret) メソッドを使用して支払いを確定できます。クレジットカードに対してインライン 3D セキュア認証を実行したり、特定の支払い方法で印刷可能なクーポンを表示したり、認証のために顧客を外部にリダイレクトしたりするといったオプションをご利用いただけます。

発注フロー

支払い方法のタイプが card または link で、3D セキュア (3DS) による顧客認証を必要とする場合、以下のプロセスが実行されます。

  1. 注文は Pending Payment ステータスになります。
  2. client secret がフロントエンドに渡され、認証が実行されます。
  3. 認証が成功すると、クライアント側で支払いが回収され、顧客は注文成功ページにリダイレクトされます。
  4. charge.succeeded Webhook イベントがウェブサイトのサーバー側に届きます。
  5. モジュールはイベントを処理し、宗門ステータスを Payment Pending から processing に変更します。

この手順は、GraphQL のデフォルトですが、Rest API ではデフォルトではありません。REST API で顧客認証が必要な場合、注文は Authentication require: client_secret エラーで失敗します。 client_secret を使用して支払いを認証し、認証の成功後に注文を再試行する必要があります。このアプローチの利点は、支払いが成功するまで在庫が保持されないことです。GraphQL でこの手順を使用するには、モジュールの etc/config.xml ファイルを編集して、<graphql_api> ノードの下に card と link を追加します。

<manual_authentication> <rest_api>card,link</rest_api> <graphql_api>card,link</graphql_api> </manual_authentication>

保存した決済手段を取得する

listStripePaymentMethods を使用して、有効な決済フローセッションで顧客の保存済みの支払い方法のリストを取得できます。

mutation { listStripePaymentMethods { id created type fingerprint label icon cvc brand exp_month exp_year } }

決済手段を保存する

addStripePaymentMethod を使用して、支払い方法を顧客のアカウントに保存できます。payment_method パラメーターは、トークン化された支払い方法 ID です。このトークン化プロセスは、決済フローでのトークン化プロセスと同様です。

mutation { addStripePaymentMethod( input: { payment_method: "PAYMENT_METHOD_ID" } ) { id created type fingerprint label icon cvc brand exp_month exp_year } }

保存した決済手段を削除する

deleteStripePaymentMethod を使用して、顧客がアカウントで保存済みの支払い方法を削除できるようにすることが可能です。

ほとんどの用途で、支払い方法のフィンガープリントを渡すことをお勧めします。これにより、そのフィンガープリントに一致している支払い方法がすべて削除されます。listStripePaymentMethods ミューテーションは、自動的に重複を削除してから、特定のフィンガープリントに一致している最近追加された支払い方法を返します。ただし、ID だけで支払い方法を削除した場合は、listStripePaymentMethods の結果には、同じフィンガープリントで保存済みの古い支払い方法が含まれることがあります。

mutation { deleteStripePaymentMethod( input: { payment_method: "paste a payment method ID here" fingerprint: null } ) }

参照情報

  • SetupIntents API
  • Use the Adobe Commerce admin panel
  • Troubleshooting
このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc