Accounts v1 を使用して SaaS プラットフォームを構築する
アカウント v1 を使用して連結アカウントを作成し、SaaS プラットフォームからの直接支払いを容易にします。
Accounts v2 API のシステム連携
このガイドは、Accounts v1 API を使用する既存の Connect プラットフォームにのみ該当します。新規の Connect ユーザー、または Accounts v2 API をご利用の場合は、v2 SaaS platform guide をご覧ください。
このガイドでは、ユーザー が決済を受け付けられるようにし、ユーザーの利益の一部をお客様の残高に移し、残りをユーザーの銀行口座に入金する方法について説明します。これらの概念について、自社のオンラインストアを構築できるようにする、サンプルプラットフォームを使用して説明します。
前提条件
- プラットフォームを登録します。
- ビジネスの詳細を追加して、本番環境利用の申請を行います。
- プラットフォームプロフィールを完成させます。
- ブランド設定をカスタマイズします。ビジネス名、アイコン、ブランドカラーを追加します。
Stripe を設定するサーバー側
Stripe の公式ライブラリをインストールして、アプリケーションから API にアクセスできるようにします。
連結アカウントを作成する
ユーザー (売り手またはサービスプロバイダー) がプラットフォームに登録したら、ユーザーの Account (アカウント) (「連結アカウント」と呼ばれる) を作成し、決済を受け付けて売上をユーザーの銀行口座に入金できるようにします。連結アカウントは Stripe の API でユーザーを表し、アカウント登録要件の収集を簡単にして Stripe がユーザーの本人確認を実行できるようにします。ストアビルダーの例では、連結アカウントはオンラインストアを設定するビジネスを表します。

連結アカウントを作成して情報を事前入力する
/v1/accounts API を使用して連結アカウントを作成します。デフォルトの連結アカウントのパラメーターを指定するか、アカウントタイプを指定して、連結アカウントを作成できます。
連結アカウントの情報をすでに収集している場合は、Account オブジェクトにその情報を事前入力できます。個人情報や事業情報、外部のアカウント情報など、あらゆるアカウント情報を事前に入力できます。
Account を作成したら、relationship. を true に設定した Person を作成して、アカウント開設の責任者と、事前に入力したいアカウント情報 (氏名など) を表します。
Connect アカウント登録で、事前入力された情報が要求されることはありません。ただし、アカウント所有者は Connect 利用規約に同意する前に、事前入力された情報を確認するよう求められます。
実装内容をテストする場合、テストデータを使用してアカウント情報を事前入力します。
アカウントリンクを作成する
以下のパラメーターを使用して Account Links API を呼び出すことで、アカウントリンクを作成できます。
accountrefresh_url return_url type=account_onboarding
ユーザーをアカウントリンク URL にリダイレクトする
Account Links (アカウントリンク) リクエストへのレスポンスには、キー url の値が含まれます。ユーザーをこのリンクにリダイレクトして、処理を進めることができるようにします。Account Links は一時的なものであり、連結アカウントユーザーの個人情報へのアクセスを許可するため、使用できるのは 1 回限りです。この URL にリダイレクトする前に、アプリケーションでユーザーを認証してください。情報の事前入力は、アカウントリンクを生成する前に行う必要があります。アカウントリンクを作成した後は、そのアカウントの情報を読み書きできなくなります。
セキュリティのヒント
アカウントリンクの URL をメールやショートメッセージ、またはその他の方法で、プラットフォームのアプリケーション外に送信しないでください。URL は、アプリケーション内で認証済みのアカウント所有者に提供してください。
プラットフォームに戻るユーザーを処理する
Connect アカウント登録では、ユーザーがプラットフォームにリダイレクトされるすべてのケースを処理するために、return_ と refresh_ の両方を渡す必要があります。ユーザーが快適に操作できるようにするには、これらを正しく実装することが重要です。
メモ
テスト環境 (localhost でテストする場合など) では、return_ と refresh_ に HTTP を使用できますが、本番環境で使用できるのは HTTPS のみです。本番環境に移行する前に、必ずテスト用の URL を HTTPS URL に入れ替えてください。
return_url
ユーザーが Connect アカウント登録フローを完了すると、Stripe はこの URL へのリダイレクトを行います。ただしこれは、すべての情報が収集されたことを意味するものでも、アカウントの要件がすべて満たされたことを意味するものでもありません。ユーザーがフローに正常に入り、そこから正常に出たことのみを意味します。
パラメーターの状態がこの URL を通じて渡されることはありません。ユーザーが return_ にリダイレクトされたら、以下のいずれかを行い、アカウントの details_ パラメーターの状態を確認します。
account.Webhook をリッスンするupdated - Accounts API を呼び出して、返されたオブジェクトを調べる
refresh_url
以下のケースでは、ユーザーが refresh_ にリダイレクトされます。
- リンクの期限が切れている (リンクが作成されてから数分が経過した)
- ユーザーがすでにリンクにアクセスしている (ユーザーがページを更新したか、ブラウザーで戻るボタンまたは進むボタンをクリックした)
- プラットフォームがアカウントにアクセスできなくなった
- アカウントが拒否された
refresh_ はサーバでメソッドをトリガーし、同じパラメータを使用して Account Link (アカウントリンク) を再度呼び出し、シームレスな体験を作成するためにユーザを Connect アカウント登録フローにリダイレクトする必要があります。
アカウント登録を完了していないユーザーを処理する
ユーザーが return_ にリダイレクトされた場合、アカウント登録プロセスを完了していないことがあります。/v1/accounts エンドポイントを使用してユーザーのアカウントを取得し、charges_ を確認します。アカウント登録が完全でない場合は、UI プロンプトを表示し、ユーザーが後でアカウント登録を続行できるようにします。ユーザーは、システムで生成された新しいアカウントリンクで本番環境利用の申請を完了できます。ユーザーがアカウント登録プロセスを完了したかどうかを確認するには、アカウントの details_ パラメーターの状態をチェックします。
支払い方法を有効にする
決済手段の設定を表示して、サポートする決済手段を有効にします。カード支払いはデフォルトで有効になっていますが、その他の決済手段は必要に応じて有効または無効にできます。このガイドでは、Bancontact、クレジットカード、EPS、iDEAL、Przelewy24、SEPA ダイレクトデビット、Sofort が有効化されていることを前提としています。
決済フォームを表示する前に、Stripe は通貨、支払い方法の制約、その他のパラメーターを評価し、対応する支払い方法のリストを決定します。購入完了率の向上につながり、通貨と顧客の場所に最も関連性の高い支払い方法が優先的に表示されます。優先度の低い支払い方法は、オーバーフローメニューの下に隠れた状態になります。
プライベートプレビュー
埋め込みの支払い方法設定コンポーネントを使用すると、連結アカウントは、 Stripe ダッシュボードにアクセスすることなく、決済時に提供する支払い方法を設定できます。アクセスをリクエストして、Payment Method Configurations を導入する方法の詳細をご確認ください。
決済を受け付ける
Stripe Checkout を決済フォームとして直接ウェブサイトに埋め込むか、ユーザーを Stripe ホストのページにリダイレクトして決済を受け付けます。Checkout は複数の決済手段をサポートし、最も関連性の高いものを自動的に顧客に表示します。Payment Elementを使用して、1 つのフロントエンドの連携で複数の決済手段を受け付けることができます。これは、決済フォームに iframe として埋め込まれる事前構築済みの UI コンポーネントです。
入金
デフォルトでは、連結アカウントに対して作成した支払いは、連結アカウントの Stripe 残高に累積され、日次のローリング方式で入金されます。連結アカウントは、Stripe ダッシュボードで入金スケジュールを自身で管理できます。