コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
バージョン管理
変更ログ
API バージョンのアップグレード
SDK バージョンをアップグレードする
Essentials
SDK
API
テスト
Stripe CLI
サンプルプロジェクト
ツール
ワークベンチ
開発者ダッシュボード
Stripe Shell
Visual Studio Code をご利用の場合
機能
ワークフロー
イベントの送信先
Stripe 健全性アラートファイルのアップロード
AI ソリューション
エージェントツールキット
Model Context Protocol
セキュリティとプライバシー
セキュリティ
プライバシー
Stripe を拡張する
Build Stripe apps
    概要
    始める
    アプリを作成する
    Stripe アプリの仕組み
    サンプルアプリ
    アプリを構築する
    シークレットを保存
    API 認証方法
    認証フロー
    サーバー側のロジック
    イベントのリッスン
    さまざまな環境を処理
    サンドボックスのサポートを有効にする
    アプリの設定ページ
    UI を構築する
    アカウント登録
    アプリを配布する
    配布オプション
    アプリをアップロード
    バージョンとリリース
    アプリをテストする
    アプリを公開する
    自分のアプリを宣伝する
    ディープリンクを追加する
    インストールリンクを作成
    UI 拡張機能で役割を割り当て
    インストール後のアクション
    アプリのアナリティクス
    埋め込みコンポーネント
    サードパーティーの Stripe アプリを埋め込む
      会計機能の導入
      マーケティングとの連携
    Stripe Apps に移行
    拡張機能を移行または構築
    Stripe Apps または Stripe Connect にプラグインを移行
    参照情報
    アプリマニフェスト
    CLI
    拡張 SDK
    権限
    ビューポート
    設計パターン
    コンポーネント
Use apps from Stripe
パートナー
Partner Ecosystem
パートナー認定
ホーム開発者向けリソースBuild Stripe apps

注

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

Stripe Apps の埋め込み導入ガイド非公開プレビュー

Stripe Apps の埋め込みコンポーネントを使用して、顧客がサードパーティーアプリケーションで支払いデータを管理できるようにします。

顧客は、ビジネスワークフローを完了するためにすでに使用しているツールで、支払いデータをすぐに利用できることを期待しています。アプリの埋め込みコンポーネントを使用すると、顧客は Stripe でサードパーティーのアプリケーションを使用できるようになります。

アプリの埋め込みコンポーネントを使用すると、Stripe 向けに構築されたシステムをプラットフォームに埋め込むことができ、顧客は Stripe のサイトにとどまったまま任意のサードパーティーアプリケーションを使用できるようになります。QuickBooks や Xero などのアプリケーションとデータを直接同期できる、事前構築済みの UI コンポーネントをご使用ください。

Connect の埋め込みコンポーネントを導入する

Connect.js を設定して、連結アカウントのダッシュボード機能をウェブサイトに追加することができます。

埋め込み Stripe Apps はプライベートプレビュー版コンポーネントを使用するため、Stripe SDK のプレビューバージョンを使用する必要があります。プライベートプレビュー版コンポーネントの詳細をご覧ください。

実装するアプリを選択する

Stripe は以下のアプリの実装をサポートしています。

実装可能アプリアプリ ID
QuickBooks Sync by Acodeicom.example.acodeistripeapp
Xero sync by Xerocom.xero.stripeapp
Mailchimpmailchimp

アプリインストールを設定する

選択したアプリのアプリインストール埋め込みコンポーネントを表示します。アプリをインストールすると、サードパーティーアプリに Stripe ユーザーデータへのアクセス権が付与され、プラットフォーム、Stripe、サードパーティーアプリ間の接続が作成されます。コンポーネントには uninstalled と installed の 2 つの状態があります。インストールイベントトリガーをリッスンして、カスタムの UX フローを構築するか、自社のバックエンドで更新を行います。

アカウントセッションの作成時に、components パラメーターで app_install と app_viewport を指定して、アプリのインストールと表示コンポーネントを有効にします。allowed_apps の features パラメーターを指定して、表示するアプリを有効にしてください。

Command Line
cURL
curl https://api.stripe.com/v1/account_sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-06-30.basil; embedded_connect_beta=v2;" \ -d account={{CONNECTED_ACCOUNT_ID}} \ -d "components[app_install][enabled]"=true \ -d "components[app_install][features][allowed_apps][]"=APP_ID \ -d "components[app_viewport][enabled]"=true \ -d "components[app_viewport][features][allowed_apps][]"=APP_ID

アカウントセッションを作成して、ConnectJS を初期化すると、フロントエンドにアプリインストールコンポーネントを表示できます。

app-install.js
JavaScript
const appInstall = stripeConnectInstance.create('app-install'); appInstall.setApp('{{APP_ID}}'); container.appendChild(appInstall);

この埋め込みコンポーネントは、次のパラメーターに対応します。

方法タイプ説明
setAppstring連結アカウントがインストールできるアプリの ID を設定します。利用可能なアプリのリストをご覧ください。

現在の、または更新されたインストールの状態に基づいて、カスタムの動作を設定できます。

app-install.js
JavaScript
// index.html <div id="app-install-container"></div> // index.js // Do something when install state fetched on render const handleAppInstallFetched = (response) => { console.log(`Install state fetched for app ${response.appId} to ${response.state}`); }; // Do something when install state changes const handleAppInstallChanged = (response) => { console.log(`Install state changed for app ${response.appId} to ${response.state}`); }; const container = document.getElementById('app-install-container'); const appInstall = stripeConnectInstance.create('app-install'); appInstall.setApp('{{APP_ID}}'); appInstall.setOnAppInstallStateFetched(handleAppInstallFetched); appInstall.setOnAppInstallStateChanged(handleAppInstallChanged); container.appendChild(appInstall);
方法説明変数
setOnAppInstallStateFetchedインストールのフェッチ時に、ユーザーがコールバック関数でカスタム動作を指定できるようにします。
  • response.appId:インストールされたアプリ
  • response.state:インストール状態 INSTALLED | UNINSTALLED
setOnAppInstallStateChangedインストール状態が変化したときに、ユーザーがコールバック関数でカスタム動作を指定できるようにします。
  • response.appId:インストールされたアプリ
  • response.state:インストール状態 INSTALLED | UNINSTALLED

アプリの設定

選択したアプリのアプリビューポートの埋め込みコンポーネントを表示して、アプリのコア機能 (OAuth を使用したソフトウェアアカウントへの接続、アカウント登録、サービスの設定、取引の同期状態など) を有効にします。オプションの HTML 属性として user_id (お客様のプラットフォームで表されるビジネス) を渡します。サードパーティーアプリはこれを使用して、OAuth の後にユーザーダッシュボードへリダイレクトされる動的 URL を作成します。

app-viewport.js
JavaScript
const appViewport = stripeConnectInstance.create('app-viewport'); appViewport.setApp('{{APP_ID}}'); appViewport.setAppData({userId: '{{PLATFORM_USER_ID}}'}); container.appendChild(appViewport);

この埋め込みコンポーネントは、次のパラメーターに対応します。

方法タイプ説明
setAppstring連結アカウントがレンダリングできるアプリの ID を設定します。利用可能なアプリは、Stripe Apps の埋め込み導入ガイドでご覧ください。
setAppDataRecord<String, String>アプリが使用する、プラットフォームに関するデータを設定します。

on behalf of (OBO) の Connect 送信先のカスタマイズ

To ensure that your selected app properly processes transaction data, you must update the destination charge on the connected account by using the standardized data schema. It’s crucial that your platform sends at least a Customer object (specifically the customer ID) with each charge event.

This requirement is important because the charge.updated event might be sent multiple times for a single transaction. However, the third-party app only reads and processes events that include a customer ID. Always include the customer ID in the payload to confirm that the app processes the corresponding transaction. You have three scenarios that require you to update your destination charge:

  • 1 回限りの支払いの完了
  • 継続支払いの完了
  • 支払いの返金
フィールドまたはキーの名前形式 (標準の CSV ルールを適用)説明必須
charges.customer文字列 (ID)デスティネーション Charge オブジェクトに関連付けられた (連結アカウントに属する) Customer ID。このフィールドが存在しない場合、取引はアプリ (Xero や QBO など) と同期されません。必須
customer.name文字列顧客の氏名
customer.email文字列顧客のメールアドレス
customer.address.<>文字列 (複数フィールド)顧客の住所 (請求先と配送先の両方で使用可能な住所)
charges.metadata.[refund_amount]文字列 (セント単位)charges.amount_refunded のコピー (基本通貨の補助単位 (‘350’ = 3.50 USD))Quickbooks Online で Acodei による同期が必要
charges.metadata.[refund_reason]文字列返金の理由
charges.metadata.[currency_converted]true | false | null通貨が換算されている場合は true に設定します (取引通貨が売上処理通貨と異なる場合など)fees_names メタデータを使用する場合、Quickbooks Online で Acodei による同期が必要です
customer.metadata.[platform_customer_ID]文字列プラットフォームのシステムに記録されている顧客 ID*
charges.metadata.[platform_product_ID]文字列、CSV 形式の商品プラットフォームのシステムに記録されている商品 ID
charges.metadata.[platform_product_name]文字列、CSV 形式の商品プラットフォームのシステムに記録されている商品名
charges.metadata.[platform_product_quantity]文字列、CSV 形式の商品ID および名前の配列に対応する各商品の数量
charges.metadata.[platform_product_value]整数、CSV 形式の商品商品 ID および商品名に対応する個々の商品の金額 (価格またはコスト)。基本通貨の補助単位 (‘350’ = 3.50 USD)
charges.metadata.[platform_product_tag]文字列、CSV 形式の商品ID および名前の配列に対応する商品タグまたはカテゴリー
charges.metadata.[platform_order_ID]文字列プラットフォームのシステムに記録されている注文 ID
charges.metadata.[platform_charge_ID]文字列プラットフォームのシステムに記録され、ビジネスに表示される支払いまたは取引の ID
charges.metadata.[fees_names]文字列、CSV 形式の手数料Charge でキャプチャーされていない取引に関連してユーザーが支払う手数料 (経費) の名前 (クレジット処理手数料やプラットフォーム手数料など)。このフィールドが入力されている場合、charges.application_fee は無視されます。
charges.metadata.[fees_values]整数、CSV 形式の手数料支払いでキャプチャーされていない取引に関連して売ユーザーが支払う手数料 (経費) の金額 (クレジット処理手数料やプラットフォーム手数料など)。基本通貨の補助単位 (‘350’ = 350 USD)
charges.metadata.[revenues_names]文字列、CSV 形式の収益この取引 (支払い) に関連してビジネスが回収した手数料 (収益) のうち、支払いでキャプチャーされていない手数料 (コンビニ手数料やチップなど)
charges.metadata.[revenues_values]整数、CSV 形式の収益この取引 (支払い) に関連してビジネスが回収した手数料 (収益) の金額。基本通貨の補助単位 (‘350’ = 3.50 USD)
charges.metadata.[total_tax]整数この取引 (支払い) に係る税金の合計。基本通貨の補助単位 (‘350’ = 3.50 USD)
charges.metadata.[tax_names]文字列、CSV 形式の税金取引に適用される税タイプ名 (例: ‘GST’、‘sales’)。配列で複数の税タイプに対応可能
charges.metadata.[tax_rates]浮動小数点、CSV 形式の税金パーセント表示の税タイプの取引に適用される税率 (たとえば、‘3’ または ‘1.5’ は GST 3% および売上税 1.5% に相当します)
charges.metadata.[tax_values]文字列、CSV 形式の税金特定の税タイプの取引に適用される税額。基本通貨の補助単位 (‘350’ = 3.50 USD)

QuickBooks Sync by Acodei では、メタデータに記述されている返金額の支払いの更新も必要です。

次のコードスニペットの例では、対象となるデスティネーション支払いに移動し、スキーマごとに更新する方法を示しています。

  1. 取引からデスティネーション支払いまで追跡します
const paymentOnPlatform = await StripeClient.paymentIntents.retrieve( "pi_3N6JL7LirQdaQn8E1Lpn7Dui", ); const latestCharge = await StripeClient.charges.retrieve( paymentOnPlatform.latest_charge as string, ); const transfer = await StripeClient.transfers.retrieve( latestCharge.transfer as string, ); const payment = await StripeClient.charges.retrieve( transfer.destination_payment as string, undefined, { stripeAccount: transfer.destination as string, }, );
  1. 顧客を作成したら、関連する顧客 ID とメタデータで支払いを更新します。データの受け渡しやアプリの同期を行うには、顧客はプラットフォームではなく、連結アカウントに属している必要があります。
const customer = await StripeClient.customers.create( { email: `jenny.rosen@example.com`, name: "Jenny Rosen", address.city: "Brothers" Address.state: "Oregon" address.country: "USA" address.line1: "27 Fredrick Ave" address.postal_code: "97712" metadata: { platform_customer_ID: "K-123456" }, }, { stripeAccount: accountId, }, ); const payment = await StripeClient.charges.update( id, { customer: customer.id, metadata: { product_name: "Creative writing course for PMs", platform_product_ID: "P-123456" platform_order_ID: "O-123456" }, }, { stripeAccount: accountId, }, );

ダイレクト支払い

システムの埋め込みによって、Stripe に保存されている支払い、顧客、商品のすべてのデータにアクセスできます。以下のメタデータスキーマを使用して、任意のプラットフォームデータをアプリに渡すことができます。

フィールドまたはキーの名前形式 (標準の CSV ルールを適用)説明
customer.metadata.[platform_customer_ID]文字列プラットフォームのシステムに記録されている顧客 ID
payment.metadata.[platform_product_ID]文字列、CSV の複数製品このトランザクションに関連してプラットフォームのシステムに記録されている製品 ID (Stripe 製品 ID と異なる場合)
payment.metadata.[platform_product_name]文字列、CSV の複数製品このトランザクションに関連してプラットフォームのシステムに記録されている製品名またはサービス名 (Stripe 製品名と異なる場合)
payment.metadata.[platform_product_value]文字列、CSV の複数製品ID および名前の配列に対応する個々の製品の金額 (価格またはコスト) (Stripe 製品の金額と異なる場合)
payment.metadata.[platform_order_ID]文字列このトランザクションに関連してプラットフォームのシステムに記録されている注文 ID (支払い)
payment.metadata.[platform_charge_ID]文字列プラットフォームに記録され、ユーザーに表示される支払いまたは取引の ID (Stripe 決済 ID と異なる場合)
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 早期アクセスプログラムにご参加ください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc