コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Connect の使用を開始
導入の基本
導入の例
    マーケットプレイスを構築する
    SaaS プラットフォームを構築する
    連結アカウントに SaaS 手数料を請求する
    Connect 機能がすべて埋め込まれた実装を構築する
アカウント管理
アカウント登録
アカウントのダッシュボードを設定する
連結アカウントのタイプの操作
決済処理
決済を受け付ける
アカウントへの送金
プラットフォーム管理
Connect プラットフォームを管理
Connect プラットフォームの納税申告書
ホームプラットフォームおよびマーケットプレイスExample integrations

注

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

連結アカウントに SaaS 利用料を請求する公開プレビュー

Billing を使用して、SaaS 利用料のサブスクリプションを連結アカウントに直接請求します。

このガイドでは、Accounts v2 を使用して Billing と Connect を SaaS プラットフォームに連携させ、サブスクリプション料金を連結アカウントに直接請求できるようにする方法をご紹介します。

Connect プラットフォームの Accounts v2 はダッシュボードから有効にできます。

テスト環境

この連携を試すには、サンドボックスを使用する必要があります。テスト環境は使用できません。

プラットフォームのアカウントを Connect に登録する

ダッシュボードのアカウント登録プロセスに従って、Stripe アカウントを Connect プラットフォームとして設定します。

Connect 導入ガイドでは、プラットフォームの設定オプションについて説明しています。

既存のプラットフォームがある場合、このシステムは Accounts v1 を使用する連結アカウントをサポートしません。これらを含める場合、ここで説明する手順に従ってアカウントを再作成した後、古いアカウントを削除する必要があります。

Accounts v2 API を使用して連結アカウントを作成する

注

この実装では、API v2 の Account (アカウント)、Event (イベント)、EventDestination (イベントの送信先)、Person (個人) のみを使用します。他のオブジェクトはすべて API v1 に属するものです。

Accounts v2 API を使用して、連結アカウントごとに customer 設定と merchant 設定を持った Account オブジェクトを作成します。

  • customer 設定を通じて Account は、Account に関連付けられた決済手段を使用して、プラットフォームにサブスクリプション料金を支払うことができます。
  • merchant 設定により、Account を顧客からカード支払いを受け付けられる連結アカウントにすることができます。merchant 設定を割り当てる際は、以下の連結アカウントの機能も定義する必要があります。
    • configuration.merchant.capabilities.card_payments.requested を true に設定して、カード決済を受け付ける機能をリクエストします。
    • dashboard を設定して、Stripe ダッシュボードへのアクセスを指定します。次の例では、dashboard を full に設定しています。これは、Account が完全な Stripe ダッシュボードにアクセスできることを意味します。
    • Account から手数料を徴収する責任者を指定するには、defaults.responsibilities.fees_collector を stripe または application に設定します。
    • Account のマイナス残高に対する責任者を指定するには、defaults.responsibilities.losses_collector を stripe または application に設定します。

include を使用してレスポンスにオブジェクトを読み込む

API v2 で Account を作成、取得、更新する際、include パラメーターで指定した場合にのみ、特定のプロパティがレスポンスに入力されます。プロパティを指定しなかった場合は、実際の値に関係なく、レスポンスに null として表示されます。

Command Line
cURL
curl -X POST https://api.stripe.com/v2/core/accounts \ -H "Authorization: Bearer
sk_test_BQokikJOvBiI2HlWgH4olfQ2
"
\ -H "Stripe-Version: 2025-04-30.preview" \ --json '{ "contact_email": "furever_contact@example.com", "display_name": "Furever", "dashboard": "full", "identity": { "business_details": { "registered_name": "Furever" }, "country": "us", "entity_type": "company" }, "configuration": { "customer": { "capabilities": { "automatic_indirect_tax": { "requested": true } } }, "merchant": { "capabilities": { "card_payments": { "requested": true } } } }, "defaults": { "currency": "usd", "responsibilities": { "fees_collector": "stripe", "losses_collector": "stripe" }, "locales": [ "en-US" ] }, "include": [ "configuration.customer", "configuration.merchant", "identity", "requirements" ] }'

レスポンスには ID が含まれており、システム全体で Account を参照する場合はこれを使用します。

New Account response example
{ "id": "acct_xxxxxxxxxxxxxxxx", "object": "v2.core.account", "applied_configurations": [ "customer", "merchant" ], "configuration": { "customer": { "automatic_indirect_tax": { "exempt": "none", "ip_address": null, "location": null, "location-source": "identity_address" }, "billing": { ... }, "capabilities": { "automatic_indirect_tax": { "requested": true, "status": "restricted", "status_details": [ { "code": "requirements_past_due", "resolution": "provide_info" } ] } }, "shipping": ..., "test_clock": ... }, "merchant": { "bacs_debit_payments": null, "branding": { ... }, "capabilities": { ... "card_payments": { "requested": true, "status": "restricted", "status_details": [ { "code": "requirements_past_due", "resolution": "provide_info" } ] }, "stripe_balance": { "payouts": { "requested": true, "status": "restricted", "status_details": [ { "code": "requirements_past_due", "resolution": "provide_info" } ] } }, ... }, "card_payments": { "decline_on": { "avs_failure": false, "cvc_failure": false } }, "mcc": null, ... "statement_descriptor": { ... }, "support": { "address": { ... }, ... } }, "recipient": null }, "contact_email": "furever_contact@example.com", "created": "2025-03-04T02:23:20.000Z", "dashboard": "full", "identity": { "attestations": { ... }, "terms_of_service": { "account": null }, "business_details": { ... "registered_name": "Furever", ... }, "country": "US", "entity_type": "company", "individual": null }, "defaults": null, "display_name": "Furever", "metadata": {}, "requirements": { "collector": "stripe", "entries": [ { "awaiting_action_from": "user", "description": "representative.surname", "errors": [], "impact": { "restricts_capabilities": [ { "capability": "card_payments", "configuration": "merchant", "deadline": { "status": "past_due" } }, { "capability": "stripe_balance.payouts", "configuration": "merchant", "deadline": { "status": "past_due" } } ] }, "minimum_deadline": { "status": "past_due" }, "reference": null, "requested_reasons": [ { "code": "routine_onboarding" } ] } ], "summary": { "minimum_deadline": { "status": "past_due", "time": null } } } }

アカウントの責任

Stripe 手数料の支払い方法やマイナス残高に対する責任など、連結アカウントの一部の動作を責任によって定義できます。この責任は、連結アカウントに merchant 設定を追加するときに設定します。

Accounts が連結アカウントとして支払いを回収できるようにするには、次の responsibilities を設定します。

プロパティ説明値
defaults.responsibilities.fees_collectorStripe が連結アカウントのダイレクト支払いに対して、支払い手数料を徴収する方法を定義します (デスティネーション支払いまたは支払いと送金別方式の場合、Stripe は常にプラットフォームから手数料を徴収します)。
  • application: プラットフォームは連結アカウントからプラットフォーム手数料を徴収し、Stripe はプラットフォームから支払い手数料を徴収します。
  • stripe: Stripe が連結アカウントから直接、決済手数料を徴収します。
defaults.responsibilities.losses_collector連結アカウントで発生したマイナス残高に対する責任を割り当てます。
  • application: プラットフォームが連結アカウントのマイナス残高に対する責任を負い、リスクを管理します。
  • stripe: Stripe が連結アカウントのマイナス残高に対する責任を負います。プラットフォームが引き続きプラットフォームアカウントのマイナス残高に対する責任を負います。

責任には次の制限が適用されます。

  • losses_collector を application に設定した場合は、fees_collector も application に設定する必要があります。
  • アカウントでデスティネーション支払いを使用する場合には、losses_collector と fees_collector を application に設定することをお勧めします。

サポートされている設定について、詳細はシステムの推奨事項をご覧ください。

支払いタイプ

ベータリリースでは、連結アカウントへの支払いは、ダイレクト支払いおよびデスティネーション支払いのみがサポートされています。支払いと送金別方式は使用することができません。

デスティネーション支払いを利用するには、on_behalf_of パラメーターを設定して、連結アカウントを売上処理加盟店にする必要があります。また、recipient 設定を連結アカウントに追加し、stripe_transfers ケイパビリティをリクエストしなければなりません。

受信者設定を連結アカウントに追加する

プラットフォームの Stripe 残高から連結アカウントの Stripe 残高への送金を許可するには、recipient 設定を追加して、stripe_balance.stripe_transfers ケイパビリティをリクエストします。デスティネーション支払いを利用するには、このケイパビリティが必要です。

stripe_balance.stripe_transfers をリクエストすると、recipient 設定の stripe_balance.payouts ケイパビリティも自動的にリクエストされます。これにより、連結アカウントは外部銀行口座への入金を実行できるようになります。

merchant 設定では、独自の stripe_balance.payouts ケイパビリティが自動的にリクエストされます。これは、recipient 設定の stripe_balance.payouts ケイパビリティと同じです。アカウントにその他の recipient ケイパビリティが必要ない場合は、recipient 設定を追加する必要はありません。

注

ベータリリースでは、海外入金はサポートされていません。

recipient 設定を追加して stripe_balance.stripe_transfers ケイパビリティをリクエストするには、Account を更新し、configuration.recipient.capabilities.stripe_balance.stripe_transfers.requested パラメーターを true に設定します。

Command Line
cURL
curl -X POST https://api.stripe.com/v2/core/accounts/acct_xxxxxxxxxxxxxxxx \ -H "Authorization: Bearer
sk_test_BQokikJOvBiI2HlWgH4olfQ2
"
\ -H "Stripe-Version: 2025-04-30.preview" \ --json '{ "include": [ "identity", "requirements" ], "configuration": { "recipient": { "capabilities": { "stripe_balance": { "stripe_transfers": { "requested": true } } } } } }'

連結アカウントのアカウントを登録する

連結アカウントがプラットフォームを通じて支払いを受け付けられるようにするには、連結アカウントのアカウント登録が必要です。アカウントを Stripe ホスティング登録に誘導したり、Connect 埋め込みコンポーネントを使用してブランド名の入ったフローを提供したり、貴社に合わせたカスタムのアカウント登録フローをコーディングで作成したりすることができます。Stripe ホスティング登録は最もシンプルなオプションです。埋め込みコンポーネントを使用すると、ほとんどのプロセスを自動的に処理しながら、ある程度のカスタマイズが可能になります。カスタムのアカウント登録フローはプラットフォーム側で完全に制御できますが、実装と継続的な更新が必要であるため、最も多くのリソースが必要になります。

Stripe ホスティング登録を導入するには、Stripe ホスティング登録ガイドの手順に従い、以下の変更を加えます。

  • アカウントを作成して情報を事前入力するステップで、本ガイドに記載されている Accounts v2 のプロセスに従って Accounts を作成します。
  • 要件の更新を特定して対処するステップで、v2.core.account[requirements].updated イベントをリッスンするイベント送信先を作成します。account.updated v1 イベントはリッスンしないようにしてください。

注

Stripe ホスティング登録ガイドでは、Accounts v1 API が使用されています。Accounts v1 API と API v2 を組み合わせて使用することはできません。API v2 のアカウントの構造は、API v1 のアカウントの構造とは異なります。ホスティング登録ガイドで Accounts v1 のプロパティが言及されている場合は、代わりに Accounts v2 の対応するプロパティを使用してください。API v2 の Account プロパティを取得するには、ほとんどの場合、include パラメーターを使用する必要があります。

連結アカウントの外部口座の作成

外部口座の作成プロセスは、連結アカウントがダッシュボードへのアクセス権を持っているかどうかで内容が異なります。

  • Account の dashboard が full または express の場合、アカウント所有者はダッシュボードを使用して外部アカウントを追加することができます。
  • Account の dashboard が none の場合、/v1/external_accounts エンドポイントを使用して外部口座を作成できます。

注

連結アカウントのダッシュボードへのアクセスに関係なく、API v1 コールを使用して、外部口座を取得、リスト、更新、または 削除 できます。

Command Line
cURL
curl https://api.stripe.com/v1/external_accounts \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-04-30.preview" \ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d "external_account[account_number]"=000123456789 \ -d "external_account[routing_number]"=110000000 \ -d "external_account[country]"=US \ -d "external_account[currency]"=USD \ -d "external_account[object]"=bank_account

連結アカウントの支払いを設定する

連結アカウントの支払いを設定するには、ダイレクト支払いまたはデスティネーション支払いの手順を参照してください。デスティネーション支払いを使用するには、on_behalf_of パラメーターを設定する必要があります。

連結アカウントの入金を設定する

ダッシュボードまたは API を使用して、連結アカウントの入金設定 (スケジュール、明細書表記、遅延日数など) を構成できます。

/v1/balance_settings エンドポイントを使用します。

Command Line
cURL
curl https://api.stripe.com/v1/balance_settings \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-04-30.preview" \ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d debit_negative_balances=true \ -d "payouts[schedule][interval]"=weekly \ -d "payouts[schedule][weekly_anchor]"=monday

連結アカウントの要件変更をリッスンする

アカウントの要件は、多くの場合、金融規制当局、カードネットワーク、その他の金融機関が実施する変更によって変更される可能性があります。要件変更の Webhook 通知を設定するには、Account v2 の更新イベントをリッスンするイベントの送信先を作成します。

  1. Stripe ダッシュボードで、ナビゲーションメニューのフッターにある開発者をクリックして開発者メニューを開き、Webhook を選択します。
  2. + 送信先を追加をクリックします。
  3. Event from セクションで、Connected accounts を選択します。
  4. 詳細設定を表示を選択します。Payload style セクションで、Thin を選択します。
  5. Event のフィールドに「v2」と入力して、v2 イベントタイプを検索します。連結アカウントで使用される設定タイプごとに、v2.account[requirements].updated と v2.account[configuration.configuration_type].capability_status_updated タイプを選択します。

インタラクティブな Webhook エンドポイントビルダーに従って、イベントの送信先の設定を続けます。

更新された要件を収集して更新イベントに応答するようにアプリケーションを構成します。

開発時にローカルリスナーを設定する

Stripe CLI をインストールし、ローカルリスナーを設定することで、ローカルサーバーにイベントを送信し、開発に使用することができます。

  1. Stripe ダッシュボードにログインします。
  2. Stripe CLI で、stripe login コマンドを入力します。ブラウザーにリダイレクトされ、アカウントの確認と認証が行われます。
  3. CLI に戻り、次のコマンドを実行します。プラットフォームと連結アカウントで利用可能なすべての V2 イベントをリッスンし、http://localhost:4242 に転送します。
Command Line
stripe listen --thin-events 'v2.core.account[requirements].updated,v2.core.account[configuration.recipient].capability_status_updated,v2.core.account[configuration.merchant].capability_status_updated,v2.core.account[configuration.customer].capability_status_updated' --forward-thin-to http://localhost:4242

Billing を連携させて継続料金を回収する

Stripe Billing を使用して連結アカウントから継続料金を回収するには、以下の手順を実行します。

  1. 継続料金に対応する商品を 1 つ以上作成します。
  2. アカウントを顧客として、手数料商品のサブスクリプションを作成します。
  3. (オプション) カードなどの他の決済手段に付随する取引手数料を回避して、連結アカウントの Stripe 残高から直接サブスクリプション料金を回収するには、デスティネーション支払いを決済手段として設定します。

注

連結アカウントは、支払いを行うのに十分な利用可能残高がある場合にのみ、Stripe 残高を使用して支払うことができます。残高支払いの失敗回を避するための推奨事項をこの手順の後半で説明しています。

  • 継続料金で商品を作成する
  • サブスクリプション料金を表す商品と料金を作成します。API またはダッシュボードを使用できます。

    商品を作成し、デフォルトの価格を継続支払いとして定義します。expand パラメーターに default_price を含めて、料金情報を返します。

    Command Line
    cURL
    curl https://api.stripe.com/v1/products \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d name="Connected account subscription fee" \ -d "default_price_data[unit_amount]"=1000 \ -d "default_price_data[currency]"=usd \ -d "default_price_data[recurring][interval]"=month \ -d "expand[]"=default_price

    後でサブスクリプションを作成する際に使用できるように、料金 ID (price_xxxxxxxxxxxxxx) を記録します。

    地域的な考慮事項

    複数の通貨で残高支払いを受け付ける場合は、商品ごとに通貨で個別の価格を作成します。たとえば、USD の価格で商品を作成し、連結アカウントに EUR で請求する場合は、その商品の価格を EUR で追加します。

  • サブスクリプションを作成して連結アカウントに請求する
  • 連結アカウントの Stripe 残高から SaaS サブスクリプション料金を直接回収できます。連結アカウントは以下の要件を満たしている必要があります。

    • merchant 設定と customer 設定の両方が必要です。
    • merchant 設定の card_payments ケイパビリティを有効にする必要があります。
    • 利用可能残高には、全額を支払うのに十分な資金が必要です。

    連結アカウントの所有者がサブスクリプションを購入するためのカスタムプロセスを実装する場合は、SetupIntent を使用して、Account オブジェクトに PaymentMethod を関連付けます。

    SetupIntent の作成時に、アカウントの Stripe 残高からの支払いを決済手段として関連付けるには、次の値を指定します。

    Command Line
    cURL
    curl https://api.stripe.com/v1/setup_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -H "Stripe-Version: 2025-04-30.preview" \ -d "payment_method_types[]"=stripe_balance \ -d confirm=true \ -d customer_account=acct_xxxxxxxxxxxxxx \ -d usage=off_session \ -d "payment_method_data[type]"=stripe_balance

    SetupIntent が正常に作成されると、次のようなデータが返されます。

    { "id": "seti_123", "object": "setup_intent", "customer": "cus_xxxxxxxxxxxxxx", "customer_account": "acct_xxxxxxxxxxxxxx", "payment_method": "pm_xxxxxxxxxxxxxx", "status": "succeeded" }

    その後、Account ID を customer_account として渡すことで、アカウントに関連付けられた PaymentMethod を使用してサブスクリプションを作成することができます。

    アカウントの Stripe 残高から支払いを回収するサブスクリプションを作成するには、次の例のように、決済手段の種類を明示的に設定します。

    Command Line
    cURL
    curl https://api.stripe.com/v1/subscriptions \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -H "Stripe-Version: 2025-04-30.preview" \ -d customer_account=acct_xxxxxxxxxxxxxx \ -d default_payment_method=pm_xxxxxxxxxxxxxx \ -d "items[0][price]"=price_xxxxxxxxxxxxxx \ -d "items[0][quantity]"=1 \ -d "payment_settings[payment_method_types][0]"=stripe_balance

    Stripe 残高の支払い失敗を処理するようシステムを設定する

    連結アカウントの Stripe 残高から支払いを回収する際は、アカウントの利用可能残高に全額を支払えるだけの十分な資金がなければなりません。残高が十分でなかった場合、支払いは失敗します。連結アカウントの Stripe 残高から直接支払いを回収する場合は、残高に関連する支払いの失敗を管理するようにシステムを設定することをお勧めします。

    残高支払いの失敗を回避する

    連結アカウントの Stripe 残高での支払いは、利用可能な資金に依存するため、連結アカウントの残高を最大化する手順を実行することで、支払いの失敗を回避できます。

    連結アカウントの入金スケジュールを調整する

    入金スケジュールをサブスクリプションの請求サイクルに合わせて調整します。たとえば、毎月 1 日にサブスクリプション料金を請求し、毎週月曜日に入金をスケジュール設定する場合、月曜日が多い月は入金額が多くなります。これらの月は、入金の少ない月よりも利用可能な残高が少なくなり、支払いが失敗する可能性が高くなります。

    入金による決済の失敗を回避する別の方法として、サブスクリプションの決済前に手動入金に変更できます。各サブスクリプション決済の一定期間前に、連結アカウントに十分な残高がある場合は手動入金に切り替えて、自動入金によってアカウントが清算される前にサブスクリプションの決済が行われるようにします。サブスクリプションの決済後に、自動入金を再開します。

    連結アカウントの最低残高を設定する

    アカウントの最低残高を定義することで、自動入金によって連結アカウントの利用可能残高が一定額を下回るのを防ぐことができます。

    1. ダッシュボードでアカウントを見つけます。
    2. アカウントのオーバーフローメニュー () から、…のダッシュボードを表示を選択します。
    3. 歯車のアイコンをクリックし、設定を選択します。
    4. アカウント設定でビジネスをクリックします。
    5. 外部の入金口座とスケジュール設定タブを選択します。
    6. 支払い残高に最低金額を保持するをオンにして、金額を入力します。

    連結アカウントごとに最低残高を手動で設定する必要があります。

    残高支払いの失敗に対応する

    Webhook とイベントの送信先を設定して、サブスクリプションの支払いに関する通知を受信します。invoice.payment_failed イベントをリッスンして、支払いの失敗を特定します。支払いに失敗したときは、以下のようになります。

    • PaymentIntent のステータスが requires_action に変わります。
    • 現在の請求書のサブスクリプションステータスは incomplete のままです。
    • サブスクリプションは引き続き請求書を生成しますが、請求書は draft ステータスのままです。

    注

    Stripe 残高での支払いは、Smart Retries に対応していません。

    残高不足が原因で、Stripe 残高での支払いに失敗した場合は、以下の手順で再試行できます。

    1. 連結アカウントの入金スケジュールの期間を manual に設定します。
    2. 次回連結アカウントに入金される支払いをリッスンしてから、アカウントの利用可能な残高を確認します。
    3. 利用可能な残高がサブスクリプション料金以上の場合は、未払い請求書の決済手段を stripe_balance に設定して再試行します。それ以外の場合は、利用可能な残高が請求書の支払いに十分になるまで、支払いのリッスンを続けます。
    4. 支払いが成功したら、連結アカウントの通常の入金スケジュールに戻します。

    失敗した Stripe 残高での支払いを再試行する代わりに、別の決済手段を請求書で直接指定して、試すことができます。また、連結アカウントが自身のサブスクリプションの決済手段を更新できるようにするフローを実装することもできます。

    プレビューに関する考慮事項

    Accounts v2 では、支払いを直接回収するプラットフォーム上のビジネスごとに、設定可能な 1 つのアカウントを使用できます。プレビュー版リリースは、Treasury、Issuing、プレビュー段階の決済手段には対応していません。Accounts v1 では、Treasury、Issuing、プレビュー段階の決済手段を引き続き使用できます。

    Connect プラットフォームの Accounts v2 はダッシュボードから有効にします。

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