コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要
Connect の使用を開始
実装を設計する
    インタラクティブ・プラットフォーム・ガイド
    SaaS プラットフォーム
      クイックスタート
      必須タスク
        連結アカウントを作成する
        ダッシュボードへのアクセスを設定する
        連結アカウントを登録する
        決済を受け付ける
        プラットフォーム手数料を回収する
        サービス手数料を請求する
        連結アカウントに入金する
        返金および不審請求の申請の処理
        AI エージェントでコンテキストに応じた販売を実現
    マーケットプレイス
導入の基本
導入の例
アカウント管理
アカウント登録
アカウントのダッシュボードを設定する
連結アカウントのタイプの操作
決済処理
決済を受け付ける
アカウントへの送金
プラットフォーム管理
Connect プラットフォームを管理
Connect プラットフォームの納税申告書
アメリカ
日本語
ホームプラットフォームとマーケットプレイスDesign your integrationSaaS platformEssential tasks

AI エージェントでコンテキストに応じたショッピングを有効にする非公開プレビュー

AI チャットエージェントでビジネスが商品を販売できるようにする方法をご紹介します。

プライベートプレビュー

ChatGPT の Instant Checkout を含む AI エージェントによる商品販売や、買い手と事業者間の取引管理にエージェンティックコマースをご利用になる場合は、ウェイトリストに参加してください。

ビジネスに関する情報を共有する

プラットフォームと連結アカウントがコンテキストに応じたエージェント販売を行うように設定するには、以下の詳細を指定します。

  • プラットフォームの Stripe アカウント ID。
  • 連結アカウント ID。コンテキストに応じたエージェント販売を有効にする連結アカウント ID のリストを指定します。スプレッドシートまたはプレーンテキストのファイルに、1 行につき 1 つのアカウント ID を送信できます。

Stripe に商品カタログデータをアップロードする

製品カタログを準備する

各連結アカウントの Stripe 製品カタログの仕様に準拠した CSV ファイルを作成します。Stripe は仕様を別途共有します。

Stripe にカタログデータをアップロードする

Stripe API を使用してフィードを送信します。更新は 15 分ごとに送信できます。

本番更新を有効にする前に、サンドボックスを使用して解析、フィールドマッピング、データ品質を検証します。

まず、Files API を使用して商品カタログ CSV をアップロードします。リクエストが成功すると、id を含む File オブジェクトが返されます。

  • 目的として data_management_manual_upload を指定します。
  • MIME タイプがファイル形式と一致していることを確認してください。使用できる形式は、CSV と TSV です。各行は 1 つの商品またはバリエーションを表します。
  • 最大ファイルサイズは 200 MB です。
Command Line
curl https://files.stripe.com/v1/files \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
: \ -H "Stripe-Account: {{CONNECTED_ACCOUNT_ID}}" \ -F purpose=data_management_manual_upload \ -F file="@/path/to/your/file.csv;type=text/csv"

次に、Data Management API を使用して ImportSet を作成します。このコールによりカタログ処理が開始され、ダッシュボードでデータを使用できるようになります。以下を含めます。

  • 返されたファイル id
  • プレビューヘッダー (Stripe-Version: 2025-09-30.clover;udap_beta=v1 など)
Command Line
curl https://api.stripe.com/v1/data_management/import_sets \ -H "Stripe-Version: 2025-09-30.clover;udap_beta=v1" \ -H "Stripe-Account: {{CONNECTED_ACCOUNT_ID}}" \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
: \ -d file={{FILE_ID}} \ --data-urlencode standard_data_format="product_catalog_feed"

フィードステータスの監視

Stripe はカタログデータを処理し、検証とクリーニングを行ってから、フォーマットのインデックスを作成します。Stripe はカタログデータを検証してクリーンアップし、インデックスを作成し、AI エージェント用のフォーマットに変換します。インポートセットのstatus フィールドを使用して、インデックス作成の進捗を監視します。ステータスはpending、failed、succeeded、succeeded_with_errors、pending_archive、archived のいずれかになります。

Command Line
curl https://api.stripe.com/v1/data_management/import_sets/{{IMPORT_SET_ID}} \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
: \ -H "Stripe-Account: {{CONNECTED_ACCOUNT_ID}}"

レスポンスには、ステータスとエラーが含まれます。

{ "id": "impset_7MabcdZ8b617780e5145413", "object": "data_management.import_set", "created": 1643992696, "livemode": true, "result": { "errors": { "file": "file_234923sIENc", "row_count": 30 }, "rows_processed": 120, "successes": { "row_count": 90 } }, "status": "succeeded_with_errors" }

インポートのステータスが succeeded_with_errors の場合は、エラーレポートをダウンロードできます。

  1. レスポンスで result.errors.file フィールドを探します。
  2. Files API を使用して、エラーファイルを ID で取得します。
  3. ダウンロードされた CSV には、stripe_error_message という名前の先頭列が設定された元のデータが含まれ、各行が失敗した理由が示されます。
Command Line
curl https://files.stripe.com/v1/files/{{ERROR_FILE_ID}}/contents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:

API は、失敗した行のみを含む CSV ファイルを返します。各エラーを説明する stripe_error_message 列が含まれます。

購入への対応と注文のフルフィルメント

Stripe Webhook をリッスンして、AI チャットエージェントで行われた注文を監視します。

注文が確定されると、Stripe はフルフィルメントロジックを実行するためにサーバーが処理できる Webhook イベントを送信します。これらのイベントを受け入れ、処理し、承認するようにサーバーにエンドポイントを設定します。Stripe Webhook の導入とテストの手順については、Webhook ガイドを参照してください。

Stripe は checkout.session.completed と payment_intent.succeeded を送信します。フルフィルメントロジックがすでにこれらのイベントを処理している場合は、追加の導入変更は必要ありません。コンテキストに応じたエージェント販売のフルフィルメントロジックをカスタマイズできます (たとえば、注文確認メールで決済がエージェントを介して発生したことを通知するなど)。

const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY); // Use the secret provided by Stripe CLI for local testing // or your webhook endpoint's secret const endpointSecret = 'whsec_...'; app.post('/webhook', (request, response) => { const sig = request.headers['stripe-signature']; let event; try { event = stripe.webhooks.constructEvent(request.body, sig, endpointSecret); } catch (err) { response.status(400).send(`Webhook Error: ${err.message}`); return; } if (event.type === 'checkout.session.completed') { const session = event.data.object; // Fulfill the order using the session data fulfillCheckout(session.id); } response.status(200).send(); });

オプション手動によるキャプチャー

デフォルトでは、購入が行われるとすぐに決済がキャプチャーされます。手動キャプチャーを設定するには、ダッシュボードで設定します。手動キャプチャーを有効にすると、前のセクションで説明した Webhook で返された PaymentIntent でキャプチャーメソッドを呼び出します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/payment_intents/pi_3MrPBM2eZvKYlo2C1TEMacFD/capture \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

オプション手動承認フック

デフォルトでは、決済を確定する前に、Stripe は商品カタログデータに基づいて在庫を確認し、Radar で不正利用正使用チェックを実行します。購入を完了するかどうかをさらに制御する必要がある場合は、手動の承認フックを設定します。決済を完了する前に、Stripe はお客様のサービスに承認リクエストを送信します。その後、お客様はリクエストを承認または決済を拒否します。

手動承認フックを設定するには

  1. Stripe が呼び出すエンドポイントをダッシュボードで指定します。
  2. エンドポイントにロジックを実装し、次のリクエスト形式とレスポンス形式を使用します。

Stripe がお客様のサービスに送信する承認リクエストの例を次に示します。

POST /stripe/v1/approve HTTP/1.1 Host: api.my-xyz.com Stripe-Version: V1 Stripe-Signature: CFweQMS7wvH4VHUuRbYHsuOJEzx9pCd5eMLBDPR8zAtLF4bgGF3Zo4pzhXR5c7/uCQeg4OnRC8ZjF3GCMuDNDQ== { "id": "cs_123", "created_at": 1663048712, "livemode": false, "amount_total": 2900, "currency": "usd", "line_items": { ... }, "payment_method_details": { "type": "card", "billing_details": { ... }, "card": { "brand": "discover", ... } } }

リクエストを承認または拒否する応答の例を次に示します。

HTTP/1.1 200 OK Stripe-Version: V1 { "id": "cs_123", "result": { "type": "approved" } }
HTTP/1.1 200 OK Stripe-Version: V1 { "id": "cs_123", "result": { "type": "declined", "declined": { "reason": "low_inventory" } } }

オプション埋め込みコンポーネント

メモ

この埋め込みコンポーネントは現在開発中です。コードスニペットは説明のみを目的としており、変更される可能性があります。

Stripe は、連結アカウントのエージェンティックコマースへのユーザー登録に役立つ埋め込みコンポーネントを提供しています。Stripe がオンラインで提供するこのコンポーネントを使用すると、連結アカウントは、どの AI エージェントが商品を販売できるかを管理し、エージェントプラットフォーム全体でビジネスを表示する方法をカスタマイズできます。

次のコード例は、プラットフォームがこの埋め込みコンポーネントを導入する方法を示しています。ダッシュボード機能を Web サイトに埋め込む方法の詳細については、Connect 埋め込みコンポーネントを始めるを参照してください。

// server.js const stripe = require("stripe")( 'sk_123', { apiVersion: 'YYYY-MM-DD'} ); // POST /account_session_token const accountSession = await stripe.accountSessions.create({ account: '{{CONNECTED_ACCOUNT_ID}}', components: { agentic_commerce: { enabled: true, }, }, }, { apiVersion: `${STRIPE_API_VERSION}; embedded_connect_beta=v2`, }); response.json({ accountSessionToken: accountSession.client_secret });
// App.jsx import { ConnectAgenticCommerce, ConnectComponentsProvider, } from "@stripe/react-connect-js"; import { loadConnectAndInitialize } from "@stripe/connect-js"; const AgenticCommerce = () => { const [stripeConnectInstance] = React.useState(() => { const fetchClientSecret = async () => { const response = await fetch('/account_session', { method: "POST" }); if (!response.ok) { const {error} = await response.json(); console.log('An error occurred: ', error); return undefined; } else { const {client_secret: clientSecret} = await response.json(); return clientSecret; } }; return loadConnectAndInitialize({ publishableKey: "pk_123", fetchClientSecret: fetchClientSecret, }) }); return ( <div> <ConnectComponentsProvider connectInstance={stripeConnectInstance}> <ConnectAgenticCommerce /> </ConnectComponentsProvider> </div> ) }

オプション増分インベントリ更新を送信する

商品カタログのアップロードに加えて、Inventory Feed API を使用して個別の商品在庫の更新を送信できます。カタログのアップロードと同じアップロードプロセスを使用しますが、standard_data_forma を inventory_feed に設定します。

Command Line
# Step 1: Upload your CSV using the Files API curl https://files.stripe.com/v1/files \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
: \ -H "Stripe-Account: {{CONNECTED_ACCOUNT_ID}}" \ -F purpose=data_management_manual_upload \ -F file="@/path/to/your/file.csv;type=text/csv" # Step 2: Create an ImportSet object curl https://api.stripe.com/v1/data_management/import_sets \ -H "Stripe-Version: 2025-09-30.clover;udap_beta=v1" \ -H "Stripe-Account: {{CONNECTED_ACCOUNT_ID}}" \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
: \ -d file={{FILE_ID}} \ --data-urlencode standard_data_format="inventory_feed"

オプション返金および不審請求の申し立ての処理

すでに PaymentIntents API またはCheckout Sessions API を使用している場合、既存の返金と不審請求の申し立ての導入では、コンテキストに応じたエージェント販売を変更する必要はありません。PaymentIntent は、コンテキストに応じたエージェント販売フローで引き続き作成されます。PaymentIntent ID を注文に関連付ける限り、返金と不審請求の申し立ての導入は引き続き機能します。

決済が成功した後、顧客がお客様のウェブサイトまたは顧客サービスから注文をキャンセルした場合、返金することができます。すでに Checkout Sessions または PaymentIntents API を使用している場合は、コンテキストに応じた代理販売では既存の返金するフローは変更されずに機能します。

ダッシュボードの取引ページから、ノーコードで返金と不審請求の申し立てを管理できます。

プログラムで返金を処理するには、Refunds API を導入して決済後のキャンセルまたは返金リクエストに対応します。

このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc