コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
Ask AI
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
概要
Connect の使用を開始
導入の基本
導入の例
アカウント登録
アカウントのダッシュボードを設定する
決済を受け付ける
    支払いを作成する
      ダイレクト支払い
      デスティネーション支払い
      支払いと送金別方式
    明細書表記の設定
    MCC の設定
    複数の通貨を扱う
    Connect で決済フォームへのリンクを作成
    Connect で Radar を使用
    Connect での不審請求の申請
    サブスクリプションを作成
    請求書を作成
    複数の支払い方法の設定
    決済手段の設定コンポーネントを埋め込む
    アカウント残高
アカウントへの送金
Connect プラットフォームを管理
Connect プラットフォームの納税申告書
連結アカウントのタイプの操作
ホームプラットフォームおよびマーケットプレイスAccept paymentsCreate a charge

注

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

デスティネーション支払いを作成する

プラットフォームアカウントで支払いを作成し、手数料を回収し、残りの売上を連結アカウントに即時に送金します。

ページをコピー

連結アカウントが提供する商品またはサービスについて、顧客がプラットフォームと取引するときに「デスティネーション支払い」を作成し、連結アカウントに売上を即時に送金します。この支払いタイプの特徴は以下のとおりです。

  • プラットフォームのアカウントで支払いを作成します。
  • 売上の一部または全額を、連結アカウントに送金するかどうかを決定します。
  • Stripe の手数料、返金、チャージバックは、お客様のアカウント残高から引き落とされます。

この支払いタイプは、住宅賃貸マーケットプレイスの Airbnb や、ライドシェアアプリの Lyft などのマーケットプレイスに最適です。

デスティネーション支払いは、プラットフォームと連結アカウントの両方が同じ国に所在する場合にのみサポートされます。国境を超える場合に対応するには、Payment Intent で on_behalf_ofパラメーターを使用して連結アカウントに売上処理加盟店を指定する必要があります。あるいは、その他の有効な海外送金のシナリオをご確認ください。

注

Express ダッシュボードにアクセスできる連結アカウント、またはダッシュボードにアクセスできない連結アカウントには、デスティネーション支払いを使用することをお勧めします。

Stripe Checkout を使用して、Stripe がオンラインで提供する決済ページにリダイレクトします。この実装と、Stripe の他の実装タイプとの比較をご覧ください。

Checkout のプレビュー

導入作業

ローコード

接続方法のタイプ

Stripe がオンラインで提供する決済ページにリダイレクトする

UI のカスタマイズ

限定的なカスタマイズ

試してみる

まず、Stripe アカウントを登録します。

アプリケーションから Stripe API にアクセスするには、Stripe の公式ライブラリを使用します。

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Checkout セッションを作成する
クライアント側
サーバー側

Checkout Session (Checkout セッション) は、ラインアイテム、注文金額と通貨、受け付け可能な支払い方法など、支払いフォームで顧客に表示される内容を制御します。サーバー側のエンドポイントを呼び出して Checkout セッションを作成する購入ボタンをウェブサイトに追加します。

checkout.html
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>

サーバー側で Checkout セッションを作成し、レスポンスで返された URL に顧客をリダイレクトします。

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=1000 \ -d "line_items[0][quantity]"=1 \ -d "payment_intent_data[application_fee_amount]"=123 \ -d "payment_intent_data[transfer_data][destination]"=
{{CONNECTED_ACCOUNT_ID}}
\ -d mode=payment \ --data-urlencode success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}"
  • payment_intent_data[transfer_data][destination]: このパラメーターは、支払いがデスティネーション支払いであることを示しています。デスティネーション支払いでは、支払いがプラットフォームで処理され、売上が即時かつ自動的に連結アカウントの保留中の残高に送金されます。
  • line_items: このパラメーターは、顧客が購入しようとしているアイテムを表します。このアイテムはオンライン決済フォームに表示されます。
  • success_url: Stripe は、顧客が支払いを完了した後に成功時の URL にリダイレクトし、{CHECKOUT_SESSION_ID} の文字列を Checkout セッションの ID に置き換えます。この ID を使用して Checkout セッションを取得し、ステータスを確認して、顧客に表示する内容を決定してください。自社で使用するクエリパラメーターを追加することもできます。このパラメーターはリダイレクトプロセス全体にわたって存続します。詳細については、Stripe がオンラインで提供するページでリダイレクトの動作をカスタマイズするをご覧ください。
  • payment_intent_data[application_fee_amount]: このパラメーターは、プラットフォームが取引で受け取る予定の金額を指定します。支払いがキャプチャーされると、プラットフォームから、transfer_data[destination] で指定された連結アカウントに支払い金額の全額が即時送金されます。その後 application_fee_amount がプラットフォームに返金され、プラットフォームの金額から Stripe 手数料が差し引かれます。

デスティネーション支払いを処理する場合、Checkout ではプラットフォームアカウントのブランド設定を使用します。詳細については、ブランディングをカスタマイズするをご覧ください。

支払い後のイベントを処理する
サーバー側

支払いが完了すると Stripe は checkout.session.completed イベントを送信します。Webhook を使用してこのイベントを受信し、顧客への注文確認メールの送信、データベースへの売上の記録、配送ワークフローの開始などのアクションを実行します。

クライアントからのコールバックを待つのではなく、これらのイベントをリッスンします。クライアント側では、コールバックの実行前に顧客がブラウザーのウィンドウを閉じたり、アプリケーションを終了したりする可能性があります。また、支払い方法によっては支払いの確定までに 2 ~ 14 日かかることがあります。自社の構築済みのシステムで非同期イベントをリッスンするように設定すると、一度の導入で複数の支払い方法に対応できるようになります。

Checkout で支払いを回収するときは、以下のすべてのイベントを処理することをお勧めします。

イベント説明次のステップ
checkout.session.completed顧客が Checkout フォームを送信して、決済を正常に承認しました。決済の成功または失敗の結果を待ちます。
checkout.session.async_payment_succeeded顧客の決済が成功しました。購入された商品やサービスのフルフィルメントを行います。
checkout.session.async_payment_failed何らかの理由により決済が拒否されたか、失敗しました。顧客にメールで連絡して、新たに注文するように依頼します。

これらのイベントのすべてに、Checkout Session (Checkout セッション) オブジェクトが含まれています。決済が成功すると、基となる PaymentIntent のステータスが processing から succeeded または失敗のステータスに変わります。

実装内容をテストする

カード番号シナリオテスト方法
カード支払いは成功し、認証は必要とされません。クレジットカード番号と、任意の有効期限、セキュリティコード、郵便番号を使用してクレジットカードフォームに入力します。
カード支払いには認証が必要です。クレジットカード番号と、任意の有効期限、セキュリティコード、郵便番号を使用してクレジットカードフォームに入力します。
カードは、insufficient_funds などの拒否コードで拒否されます。クレジットカード番号と、任意の有効期限、セキュリティコード、郵便番号を使用してクレジットカードフォームに入力します。
UnionPay カードは、13 ~ 19 桁の可変長です。クレジットカード番号と、任意の有効期限、セキュリティコード、郵便番号を使用してクレジットカードフォームに入力します。

実装内容をテストするためのその他の情報については、テストをご覧ください。

オプションその他の支払い方法を有効にする

手数料を回収する

When a payment is processed, rather than transfer the full amount of the transaction to a connected account, your platform can decide to take a portion of the transaction amount in the form of fees. You can set fee pricing in two different ways:

  • Use the Platform Pricing Tool to set and test application fee pricing rules. This no-code feature in the Stripe Dashboard is currently only available for platforms responsible for paying Stripe fees.

  • Set your pricing rules in-house, specifying fees directly in a PaymentIntent using either the application_fee_amount or transfer_data[amount] parameter. Fees set with this method override the pricing logic specified in the Platform Pricing Tool.

application_fee_amount を指定して支払いを作成すると、支払いのキャプチャー後に、支払いの総額が即座にプラットフォームから transfer_data[destination] アカウントに送金されます。その後、application_fee_amount (上限は支払い総額) がプラットフォームに送金されます。

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=1000 \ -d "line_items[0][quantity]"=1 \ -d "payment_intent_data[application_fee_amount]"=123 \ -d "payment_intent_data[transfer_data][destination]"=
{{CONNECTED_ACCOUNT_ID}}
\ -d mode=payment \ --data-urlencode success_url="https://example.com/success"

プラットフォーム手数料が回収されると、Application Fee (プラットフォーム手数料) オブジェクトが作成されます。プラットフォーム手数料のリストは、ダッシュボード、プラットフォーム手数料、または Sigma で確認できます。プラットフォーム手数料オブジェクトの amount プロパティを使用して、項目別の手数料レポートを作成することもできます。

application_fee_amount を使用する際には、以下の点に留意します。

  • application_fee_amount は合計取引額が上限です。
  • application_fee_amount は常に取引と同じ通貨で計算されます。
  • プラットフォーム手数料は、連結アカウントの売上処理通貨と同じ通貨で 売上として処理されます。クロスボーダーデスティネーション支払いの場合は、プラットフォームの売上処理通貨と異なる通貨になる場合があります。
  • application_fee_amount がお客様のアカウントに送金された後に、お客様のプラットフォームが Stripe 手数料を支払います。
  • 金額には追加の Stripe 手数料は適用されません。
  • プラットフォームは埋め込みのプラットフォーム手数料レポートを使用して、回収した手数料を照合できます。
  • Stripe がオンラインで提供するダッシュボードや、支払い詳細コンポーネント などのコンポーネントでは、連結アカウントは合計金額とプラットフォーム手数料のどちらの金額も表示できます。

売上のフロー

上記のコードでは、支払いの全額 (10.00 USD) が連結アカウントの保留残高に追加されます。application_fee_amount (1.23 USD) はその支払い金額から差し引かれ、お客様のプラットフォームに送金されます。 次に Stripe 手数料 (0.59 USD) がプラットフォームアカウントの残高から差し引かれます。プラットフォーム手数料から Stripe 手数料を差し引いた金額 (1.23 USD - 0.59 USD = 0.64 USD) は、プラットフォームアカウントの残高に残ります。

デスティネーション支払いの売上のフロー

通常の Stripe 支払いからの売上と同様に、プラットフォームアカウントの通常の送金スケジュールで application_fee_amount が利用可能になります。

ブランディングをカスタマイズする

プラットフォームは、ダッシュボードのブランディング設定を使用して、支払いページのブランディングをカスタマイズできます。デスティネーション支払いの場合、Checkout はプラットフォームアカウントのブランド設定を使用します。on_behalf_of を使用したデスティネーション支払いの場合、Checkout は連結アカウントのブランド設定を使用します。

プラットフォームは、Update Account API を使用して、連結アカウントのブランディング設定を行うことができます。

  • icon: Checkout ページのヘッダーにあるビジネス名の横に表示されます。
  • logo: Checkout ページのヘッダーで、アイコンとビジネス名の代わりに使用されます。
  • primary_color: Checkout ページの背景色として使用されます。
  • secondary_color: Checkout ページのボタンの色として使用されます。
Command Line
cURL
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "settings[branding][icon]"=
{{FILE_ID}}
\ -d "settings[branding][logo]"=
{{FILE_ID}}
\ --data-urlencode "settings[branding][primary_color]"="#663399" \ --data-urlencode "settings[branding][secondary_color]"="#4BB543"

売上処理加盟店を指定する

売上処理加盟店は、アカウントに設定されたケイパビリティと支払いの作成方法によって決まります。売上処理加盟店は、支払いの作成に誰の情報を使用するかを決定します。これには、その支払いに使用される顧客のクレジットカードまたは銀行口座の明細に表示される明細書表記 (プラットフォームまたは連結アカウントのもの) が含まれます。

売上処理加盟店を指定することにより、誰に対して支払いを作成するかをより明確にすることができます。たとえば、一部のプラットフォームは最終顧客がプラットフォーム (オンデマンドプラットフォームなど) と直接やり取りすることを理由として、売上処理加盟店となることを希望します。ただし、これと異なり最終顧客と直接やり取りする連結アカウントが存在するプラットフォームもあります (E コマースプラットフォーム上のストアなど)。こうしたシナリオでは、連結アカウントを売上処理加盟店にするのが合理的です。

連結アカウントの ID に on_behalf_of パラメーターを設定して、そのアカウントを支払いの売上処理加盟店にすることができます。on_behalf_of を使用すると、以下のようになります。

  • 連結アカウントの国と売上処理通貨を使用して、支払いが売上として処理されます。
  • 連結アカウントの国の手数料体系が使用されます。
  • 連結アカウントの明細書表記が顧客のクレジットカード明細書に表示されます。
  • 連結アカウントがプラットフォームと異なる国に所在する場合、連結アカウントの住所と電話番号が顧客のクレジットカード明細書に表示されます。
  • 入金前の保留中の残高が保持される日数は、連結アカウントの delay_days 設定によって異なります。

on_behalf_of が省略された場合、プラットフォームが取引に関する金銭的責任を負います。

注意

on_behalf_of パラメーターは、card_payments などの支払いケイパビリティを持つ連結アカウントのみで利用できます。受取人利用規約 が適用されているアカウントは、card_payments やその他の支払いケイパビリティをリクエストできません。

返金する

Payment Intents API を使用している場合、返金は最も最近に作成された支払いに対して発行する必要があります。

プラットフォームアカウントで作成された支払いは、プラットフォームアカウントのシークレットキーを使用して返金できます。transfer_data[destination] が設定された支払いを返金する場合、デフォルトではデスティネーションアカウントがそこに送金された売上を保持し、プラットフォームアカウントがその返金からマイナスの残高をカバーします。その返金をカバーするために連結アカウントから売上を取り戻すには、返金を作成する際に reverse_transfer パラメータを true に設定します。

Command Line
curl
curl https://api.stripe.com/v1/refunds \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d charge="{CHARGE_ID}" \ -d reverse_transfer=true \

デフォルトでは支払い額すべてが返金されますが、amount 値を正の整数に設定することで、一部返金を作成することができます。

その払い戻しによって支払い額全額が返金される場合、送金額全額が差し戻しされます。それ以外の場合には、送金額の比例配分された部分が差し戻しされます。

プラットフォーム手数料を返金する

プラットフォーム手数料が含まれる支払いを返金すると、デフォルトではプラットフォームアカウントがプラットフォーム手数料の売上を確保します。プラットフォーム手数料の売上を連結アカウントに戻すには、返金を作成する際に refund_application_fee パラメーターに true を設定します。

Command Line
curl
curl https://api.stripe.com/v1/refunds \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d charge="{CHARGE_ID}" \ -d reverse_transfer=true \ -d refund_application_fee=true \

デスティネーション支払いのプラットフォーム手数料を返金する場合には、送金も差し戻す必要があることに注意します。その返金によって支払い額全額が返金される場合、プラットフォーム手数料の全額も払い戻されます。それ以外の場合には、プラットフォーム手数料の比例配分された部分が返金されます。

別の方法として、false 値の refund_application_fee を指定し、API を通じてプラットフォーム手数料を別途返金することもできます。

失敗した返金

返金が失敗した場合、またはキャンセルした場合、失敗した返金額はプラットフォームアカウントの Stripe 残高に戻されます。必要に応じて、送金を作成して、資金を連結アカウントに移動します。

不審請求の申請を処理する

デスティネーション支払いでは、on_behalf_of の有無にかかわらず、プラットフォームアカウントから不審請求の申請に係る金額と手数料が引き落とされます。

We recommend setting up a webhook to listen to dispute created events. When that happens, you can attempt to recover funds from the connected account by reversing the transfer through the Dashboard or by creating a transfer reversal.

If the connected account has a negative balance, Stripe attempts to debit its external account if debit_negative_balances is set to true.

If you challenge the dispute and win, you can transfer the funds that you previously reversed back to the connected account. If your platform has an insufficient balance, the transfer fails. Prevent insufficient balance errors by adding funds to your Stripe balance.

よくある間違い

Retransferring a previous reversal is subject to cross-border transfer restrictions, meaning you might have no means to repay your connected account. Instead, wait to recover disputed cross-border payment transfers for destination charges with on_behalf_of until after a dispute is lost.

参照情報

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