コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
Ask AI
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
概要
Connect の使用を開始
導入の基本
導入の例
    支払いを回収してから入金
    Charge SaaS fees to connected accounts
    売り手による決済処理を有効化
    入金する
    Connect 機能がすべて埋め込まれた実装を構築する
アカウント登録
アカウントのダッシュボードを設定する
決済を受け付ける
アカウントへの送金
Connect プラットフォームを管理
Connect プラットフォームの納税申告書
連結アカウントのタイプの操作
ホームプラットフォームおよびマーケットプレイスExample integrations

注

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

支払いを回収してから入金する

顧客から支払いを回収して、売り手またはサービスプロバイダに入金します。

ページをコピー

このガイドでは、決済を受け付け、売上をサービスプロバイダーや売り手の銀行口座に移動する方法を説明します。デモンストレーションでは、住宅所有者と賃貸物件を探す人を結びつける賃貸住宅のマーケットプレイスを構築します。また、テナント (顧客) から支払いを受け付け、住宅所有者 (プラットフォームのユーザー) に支払う方法についても説明します。

前提条件

  1. Register your platform.
  2. ビジネスの詳細を追加して、本番環境利用の申請を行います。
  3. プラットフォームプロフィールを完成させます。
  4. ブランド設定をカスタマイズします。ビジネス名、アイコン、ブランドカラーを追加します。

Stripe を設定する
サーバー側

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

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'

連結アカウントを作成する

ユーザー (売り手またはサービスプロバイダー) がマーケットプレイスに登録したら、それに対応するユーザーの Account (アカウント) (「連結アカウント」と呼ばれる) を作成します。連結アカウントがないと、決済を受け付けて売上をユーザーの銀行口座に移動することができません。連結アカウントは、Stripe API 内においてユーザーを表し、ユーザーの本人確認をするために必要な情報を収集します。賃貸住宅の例では、連結アカウントは住宅所有者に相当します。

連結アカウントを作成して情報を事前入力する

/v1/accounts API を使用して連結アカウントを作成するには、連結アカウントのプロパティを指定するか、アカウントタイプを指定します。

Command Line
cURL
curl https://api.stripe.com/v1/accounts \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "controller[losses][payments]"=application \ -d "controller[fees][payer]"=application \ -d "controller[stripe_dashboard][type]"=express

連結アカウントの情報をすでに収集している場合は、Account オブジェクトにその情報を事前入力できます。個人情報や事業情報、外部のアカウント情報など、あらゆるアカウント情報を事前に入力できます。

Connect アカウント登録で、事前入力された情報が要求されることはありません。ただし、アカウント所有者は Connect 利用規約に同意する前に、事前入力された情報を確認するよう求められます。

実装内容をテストする場合、テストデータを使用してアカウント情報を事前入力します。

アカウントリンクを作成する

以下のパラメーターを使用して Account Links API を呼び出すことで、アカウントリンクを作成できます。

  • account
  • refresh_url
  • return_url
  • type = account_onboarding
Command Line
cURL
curl https://api.stripe.com/v1/account_links \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d account=
{{CONNECTED_ACCOUNT_ID}}
\ --data-urlencode refresh_url="https://example.com/reauth" \ --data-urlencode return_url="https://example.com/return" \ -d type=account_onboarding

ユーザーをアカウントリンク URL にリダイレクトする

Account Links (アカウントリンク) リクエストへの応答には、キー url の値が含まれます。ユーザーをこのリンクにリダイレクトして、フローに送ります。Account Links API の URL は一時的なもので、連結アカウントのユーザーの個人情報へのアクセスを許可するため、一度しか使用できません。この URL にリダイレクトする前に、アプリケーションでユーザーを認証してください。情報を事前入力する場合は、アカウントリンクを生成する前に行う必要があります。アカウントリンクを作成した後で、その連結アカウントの情報を読み書きすることはできません。

セキュリティのヒント

アカウントリンクの URL をメールやショートメッセージ、またはその他の方法で、プラットフォームのアプリケーション外に送信しないでください。URL は、アプリケーション内で認証済みのアカウント所有者に提供してください。

プラットフォームに戻るユーザーを処理する

Connect アカウント登録では、ユーザーがプラットフォームにリダイレクトされるすべてのケースを処理するために、return_url と refresh_url の両方を渡す必要があります。ユーザーが快適に操作できるようにするには、これらを正しく実装することが重要です。

注

テスト環境 (localhost でテストする場合など) では、return_url と refresh_url に HTTP を使用できますが、本番環境で使用できるのは HTTPS のみです。本番環境に移行する前に、必ずテスト用の URL を HTTPS URL に入れ替えてください。

return_url

ユーザーが Connect アカウント登録フローを完了すると、Stripe はこの URL へのリダイレクトを行います。ただしこれは、すべての情報が収集されたことを意味するものでも、アカウントの要件がすべて満たされたことを意味するものでもありません。ユーザーがフローに正常に入り、そこから正常に出たことのみを意味します。

パラメーターの状態がこの URL を通じて渡されることはありません。ユーザーが return_url にリダイレクトされたら、以下のいずれかを行い、アカウントの details_submitted パラメーターの状態を確認します。

  • account.updated Webhook をリッスンする
  • Accounts API を呼び出して、返されたオブジェクトを調べる

refresh_url

以下のケースでは、Stripe はユーザーを refresh_url にリダイレクトします。

  • リンクの期限が切れている (リンク作成後、数分が経過した)。
  • ユーザーがすでに URL にアクセスしている (ユーザーがページを更新したか、ブラウザーで戻るボタンまたは進むボタンをクリックした)。
  • プラットフォームがアカウントにアクセスできなくなった。
  • アカウントが拒否された。

refresh_url はサーバでメソッドをトリガーし、同じパラメータを使用して Account Link (アカウントリンク) を再度呼び出し、シームレスな体験を作成するためにユーザを Connect アカウント登録フローにリダイレクトする必要があります。

アカウント登録を完了していないユーザーを処理する

return_url にリダイレクトされたユーザーは、アカウント登録プロセスを完了していないことがあります。/v1/accounts エンドポイントを使用してユーザーのアカウントを取得し、charges_enabled を確認します。アカウント登録が完全でない場合は、UI プロンプトを表示し、ユーザーが後でアカウント登録を続行できるようにします。ユーザーは、新しいアカウントリンク (システムで生成された) で本番環境利用の申請を完了できます。アカウントの details_submitted パラメーターの状態を確認すると、ユーザーがアカウント登録プロセスを完了したかどうかを調べることができます。

支払い方法を有効にする

支払い方法の設定を表示し、サポートする支払い方法を有効にします。カード支払い、Google Pay、Apple Pay はデフォルトで有効化されていますが、支払い方法は必要に応じて有効または無効に設定できます。

決済フォームを表示する前に、Stripe は通貨、支払い方法の制約、その他のパラメーターを評価し、対応する支払い方法のリストを決定します。購入完了率の向上につながり、通貨と顧客の場所に最も関連性の高い支払い方法が優先的に表示されます。優先度の低い支払い方法は、オーバーフローメニューの下に隠れた状態になります。

決済を受け付ける

Stripe Checkout を使用して決済を受け付けます。Checkout は複数の支払い方法に対応し、顧客に最適な方法を自動的に表示します。Stripe がオンラインで提供するページを使用して Checkout で決済を受け付けるか、事前構築済みのオンライン支払いフォームを自社のウェブサイトに直接追加することができます。また、(Payment Element を使用して) カスタムフローを構築して、1 回のフロンドエンド実装で複数の支払い方法を受け付けることも可能です。

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

Checkout セッションは、ラインアイテム、注文金額と通貨、および受け付け可能な支払い方法など、Stripe のオンライン決済ページで顧客に表示する内容を制御します。

サーバー側のエンドポイントを呼び出して 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>

サーバー側で、Stripe の API に以下の呼び出しを行います。Checkout セッションを作成したら、レスポンスで返された URL に顧客をリダイレクトします。

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d mode=payment \ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=1 \ -d "payment_intent_data[application_fee_amount]"=123 \ -d "payment_intent_data[transfer_data][destination]"=
{{CONNECTED_ACCOUNT_ID}}
\ --data-urlencode success_url="https://example.com/success" \ --data-urlencode cancel_url="https://example.com/cancel"
  • line_items: この引数は、顧客が購入しようとしているアイテムを表します。このアイテムは Stripe がオンラインで提供するユーザーインターフェイスに表示されます。
  • success_url: この引数は、支払いを完了したユーザーのリダイレクト先を示します。
  • cancel_url: この引数は、キャンセルをクリックしたユーザーのリダイレクト先を示します。
  • payment_intent_data[application_fee_amount]: この引数は、プラットフォームが取引で受け取る予定の金額を指定します。支払いがキャプチャーされると、プラットフォームから、transfer_data[destination] で指定された連結アカウントに支払い金額の全額が即時送金されます。その後 application_fee_amount がプラットフォームに返金され、プラットフォームの金額から Stripe 手数料が差し引かれます。
  • payment_intent_data[transfer_data][destination]: この引数は、支払いがデスティネーション支払いであることを示します。デスティネーション支払いでは、支払いがプラットフォームで処理され、売上が即時かつ自動的に連結アカウントの保留中の残高に送金されます。賃貸住宅の例では、顧客がプラットフォームを使用して支払い、住宅所有者がプラットフォームで支払いを受ける機能を構築します。

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

このセッションは、デスティネーション支払いを作成します。送金のタイミングを管理したり、1 回の支払いの売上を複数の当事者に送金したりする必要がある場合は、代わりに、支払いと送金別方式を使用してください。支払いと送金別方式を使用する場合は、連結アカウントによる支払いの受け付けを有効化する方法をご覧ください。

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

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

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

Checkout で支払いを回収するときは、checkout.session.completed イベントの処理に加えて、以下の 2 つのイベントも処理することをお勧めします。

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

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

テスト

アカウントを作成し、OAuth を使用して、アカウント作成フローをテストします。

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

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

不審請求の申請

お客様は支払いの売上処理加盟店であるため、お客様のプラットフォームは不審請求の申請に対する責任を負います。不審請求の申請に対応するためのベストプラクティスを必ず理解するようにしてください。

入金

デフォルトの場合、連結アカウントに送金する売上は連結アカウントの Stripe 残高に累積され、日次のローリング方式で入金されます。入金頻度を変更するには、連結アカウントの詳細ページに移動し、残高セクションの右端のボタンをクリックし、入金スケジュールを編集を選択します。

返金

返金を行うには、支払いページに移動します。返金する支払いの左側にあるチェックボックスをクリックして、個々の支払いを選択します。支払いを選択すると、ページの右上隅に返金ボタンが表示されます。返金ボタンをクリックして、選択したすべての支払いに対する顧客への返金を行います。

注

連結アカウントは、Express ダッシュボードから支払いの返金を開始することができません。連結アカウントが Express ダッシュボードを使用している場合は、お客様が代わりに返金を処理する必要があります。

参照情報

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