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

注

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

プラットフォーム上のビジネスが支払いを直接受け付けられるようにする

SaaS プラットフォーム上のビジネスが顧客から直接支払いを受け付けられるようにします。

このガイドでは、ユーザー が決済を受け付けられるようにし、ユーザーの利益の一部をお客様の残高に移し、残りをユーザーの銀行口座に入金する方法について説明します。これらの概念について、自社のオンラインストアを構築できるようにする、サンプルプラットフォームを使用して説明します。

前提条件

  1. プラットフォームを登録します。
  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 でユーザーを表し、アカウント登録要件の収集を簡単にして Stripe がユーザーの本人確認を実行できるようにします。ストアビルダーの例では、連結アカウントはオンラインストアを設定するビジネスを表します。

Connect アカウント登録フォームのスクリーンショット

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

/v1/accounts API を使用して連結アカウントを作成します。デフォルトの連結アカウントのパラメーターを指定するか、アカウントタイプを指定して、連結アカウントを作成できます。

Command Line
cURL
curl -X POST https://api.stripe.com/v1/accounts \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

連結アカウントの情報をすでに収集している場合は、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 は一時的なものであり、連結アカウントユーザーの個人情報へのアクセスを許可するため、使用できるのは 1 回限りです。この 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

以下のケースでは、ユーザーが refresh_url にリダイレクトされます。

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

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

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

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

支払い方法を有効にする

決済手段の設定を表示して、サポートする決済手段を有効にします。カード支払いはデフォルトで有効になっていますが、その他の決済手段は必要に応じて有効または無効にできます。このガイドでは、Bancontact、クレジットカード、EPS、iDEAL、Przelewy24、SEPA ダイレクトデビット、Sofort が有効化されていることを前提としています。

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

プライベートプレビュー

埋め込みの支払い方法設定コンポーネントを使用すると、連結アカウントは、 Stripe ダッシュボードにアクセスすることなく、決済時に提供する支払い方法を設定できます。アクセスをリクエストして、Payment Method Configurations を導入する方法の詳細をご確認ください。

決済を受け付ける

決済を受け付けるには、Stripe Checkout を決済フォームとして自社のウェブサイトに直接埋め込むか、Stripe がオンラインで提供するページにユーザーをリダイレクトします。Checkout は複数の支払い方法に対応し、顧客に最適な方法を自動的に表示します。また、支払いフォームに iframe として埋め込まれる事前構築済み UI コンポーネントの Payment Element を使用して、1 つのフロントエンド実装で複数の支払い方法を受け付けることもできます。

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

Checkout セッションは、ラインアイテム、注文金額と通貨、および受け付け可能な支払い方法など、埋め込み可能な支払いフォームで顧客に表示する内容を制御します。ダイレクト支払いを実行するとき、Checkout では連結アカウントのブランディング設定を使用します。詳細については、ブランディングをカスタマイズするセクションをご覧ください。

デスティネーション支払いや支払いと送金別方式とは異なり、ダイレクト支払いの不審請求の申請に対処する責任は、ユーザー (連結アカウント) が負います。プラットフォームは責任を負いません。

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

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d mode=payment \ -d "line_items[0][price]"=
{{PRICE_ID}}
\ -d "line_items[0][quantity]"=1 \ -d "payment_intent_data[application_fee_amount]"=123 \ --data-urlencode success_url="https://example.com/success" \ --data-urlencode cancel_url="https://example.com/cancel"
  • line_items: この引数は、顧客が購入し、オンラインユーザーインターフェイスに表示されるアイテムを表します。
  • success_url: この引数は、支払いを完了したユーザーのリダイレクト先を示します。
  • cancel_url: この引数は、キャンセルをクリックしたユーザーのリダイレクト先を示します。
  • Stripe-Account: このヘッダーは、連結アカウントのダイレクト支払いを示します。ダイレクト支払いの場合、連結アカウントは Stripe 手数料、返金、およびチャージバックに対する責任を負います。Checkout では連結アカウントのブランディングが使用されます。これにより、プラットフォームではなく加盟店と直接やり取りしているような印象を顧客に与えることができます。
  • (オプション) payment_intent_data[application_fee_amount]: この引数は、プラットフォームが取引から受け取る予定の金額を指定します。連結アカウントで支払いが処理された後に、application_fee_amount がプラットフォームに送金され、連結アカウントの残高から Stripe 手数料が差し引かれます。
アカウントの作成フロー

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

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

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

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 を使用して、アカウント作成フローをテストします。いずれかのテストアカウントにログインして支払い方法の設定に移動し、連結アカウントの支払い方法の設定をテストします。テストキーとテストアカウントを使用して、決済フローをテストします。Stripe のテストカードを使用して支払いフローをテストし、さまざまな支払い結果をシミュレーションできます。

入金

デフォルトでは、連結アカウントに対して作成した支払いは、連結アカウントの Stripe 残高に累積され、日次のローリング方式で入金されます。連結アカウントは、Stripe ダッシュボードで入金スケジュールを自身で管理できます。

参照情報

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