支払いを回収してから入金する
顧客から支払いを回収して、売り手またはサービスプロバイダに入金します。
このガイドでは、決済を受け付け、売上をサービスプロバイダーや売り手の銀行口座に移動する方法を説明します。デモンストレーションでは、住宅所有者と賃貸物件を探す人を結びつける賃貸住宅のマーケットプレイスを構築します。また、テナント (顧客) から支払いを受け付け、住宅所有者 (プラットフォームのユーザー) に支払う方法についても説明します。
前提条件
- Register your platform.
- ビジネスの詳細を追加して、本番環境利用の申請を行います。
- プラットフォームプロフィールを完成させます。
- ブランド設定をカスタマイズします。ビジネス名、アイコン、ブランドカラーを追加します。
Stripe を設定するサーバー側
Stripe の公式ライブラリをインストールし、アプリケーションから API にアクセスします。
連結アカウントを作成する
ユーザー (売り手またはサービスプロバイダー) がマーケットプレイスに登録したら、それに対応するユーザーの Account (アカウント) (「連結アカウント」と呼ばれる) を作成します。連結アカウントがないと、決済を受け付けて売上をユーザーの銀行口座に移動することができません。連結アカウントは、Stripe API 内においてユーザーを表し、ユーザーの本人確認をするために必要な情報を収集します。賃貸住宅の例では、連結アカウントは住宅所有者に相当します。
連結アカウントを作成して情報を事前入力する
/v1/accounts
API を使用して連結アカウントを作成するには、連結アカウントのプロパティを指定するか、アカウントタイプを指定します。
連結アカウントの情報をすでに収集している場合、Account オブジェクトに情報を事前入力できます。個人情報、ビジネス情報、外部口座情報など、アカウントに関するどのような情報でも事前入力できます。
Connect アカウント登録で、事前入力された情報が要求されることはありません。ただし、アカウント所有者は Connect 利用規約に同意する前に、事前入力された情報を確認するよう求められます。
実装内容をテストする場合、テストデータを使用してアカウント情報を事前入力します。
アカウントリンクを作成する
以下のパラメーターを使用して Account Links API を呼び出すことで、アカウントリンクを作成できます。
account
refresh_
url return_
url type
=account_
onboarding
ユーザーをアカウントリンク URL にリダイレクトする
Account Links (アカウントリンク) リクエストへの応答には、キー url
の値が含まれます。ユーザーをこのリンクにリダイレクトして、フローに送ります。Account Links API の URL は一時的なもので、連結アカウントのユーザーの個人情報へのアクセスを許可するため、一度しか使用できません。この URL にリダイレクトする前に、アプリケーションでユーザーを認証してください。情報を事前入力する場合は、アカウントリンクを生成する前に行う必要があります。アカウントリンクを作成した後で、その連結アカウントの情報を読み書きすることはできません。
セキュリティのヒント
アカウントリンクの URL をメールやショートメッセージ、またはその他の方法で、プラットフォームのアプリケーション外に送信しないでください。URL は、アプリケーション内で認証済みのアカウント所有者に提供してください。
プラットフォームに戻るユーザーを処理する
Connect アカウント登録では、ユーザーがプラットフォームにリダイレクトされるすべてのケースを処理するために、return_
と refresh_
の両方を渡す必要があります。ユーザーが快適に操作できるようにするには、これらを正しく実装することが重要です。
注
テスト環境 (たとえば、ローカルホストでテストする場合など) では、return_
と refresh_
に HTTP を使用できますが、本番環境で使用できるのは HTTPS のみです。本番移行前に必ず、テスト用の URL を HTTPS の URL に入れ替えてください。
return_url
ユーザーが Connect アカウント登録フローを完了すると、Stripe はこの URL へのリダイレクトを行います。ただしこれは、すべての情報が収集されたことを意味するものでも、アカウントの要件がすべて満たされたことを意味するものでもありません。ユーザーがフローに正常に入り、そこから正常に出たことのみを意味します。
パラメーターの状態がこの URL を通じて渡されることはありません。ユーザーが return_
にリダイレクトされたら、以下のいずれかを行い、アカウントの details_
パラメーターの状態を確認します。
account.
Webhook をリッスンするupdated - Accounts API を呼び出して、返されたオブジェクトを調べる
refresh_url
以下のケースでは、Stripe はユーザーを refresh_
にリダイレクトします。
- リンクの期限が切れている (リンク作成後、数分が経過した)。
- ユーザーがすでに URL にアクセスしている (ユーザーがページを更新したか、ブラウザーで戻るボタンまたは進むボタンをクリックした)。
- プラットフォームがアカウントにアクセスできなくなった。
- アカウントが拒否された。
refresh_
はサーバでメソッドをトリガーし、同じパラメータを使用して Account Link (アカウントリンク) を再度呼び出し、シームレスな体験を作成するためにユーザを Connect アカウント登録フローにリダイレクトする必要があります。
アカウント登録を完了していないユーザーを処理する
return_
にリダイレクトされたユーザーは、アカウント登録プロセスを完了していないことがあります。/v1/accounts
エンドポイントを使用してユーザーのアカウントを取得し、charges_
を確認します。アカウント登録が完全でない場合は、UI プロンプトを表示し、ユーザーが後でアカウント登録を続行できるようにします。ユーザーは、新しいアカウントリンク (システムで生成された) で本番環境利用の申請を完了できます。アカウントの details_
パラメーターの状態を確認すると、ユーザーがアカウント登録プロセスを完了したかどうかを調べることができます。
支払い方法を有効にする
支払い方法の設定を表示し、サポートする支払い方法を有効にします。カード支払い、Google Pay、Apple Pay はデフォルトで有効化されていますが、支払い方法は必要に応じて有効または無効に設定できます。
決済フォームを表示する前に、Stripe は通貨、支払い方法の制約、その他のパラメーターを評価し、対応する支払い方法のリストを決定します。購入完了率の向上につながり、通貨と顧客の場所に最も関連性の高い支払い方法が優先的に表示されます。優先度の低い支払い方法は、オーバーフローメニューの下に隠れた状態になります。
決済を受け付ける
Stripe Checkout を使用して決済を受け付けます。Checkout は複数の支払い方法に対応し、顧客に最適な方法を自動的に表示します。Stripe がオンラインで提供するページを使用して Checkout で決済を受け付けるか、事前構築済みのオンライン支払いフォームを自社のウェブサイトに直接追加することができます。また、(Payment Element を使用して) カスタムフローを構築して、1 回のフロンドエンド実装で複数の支払い方法を受け付けることも可能です。
不審請求の申請
お客様は支払いの売上処理加盟店であるため、お客様のプラットフォームは不審請求の申請に対する責任を負います。不審請求の申請に対応するためのベストプラクティスを必ず理解するようにしてください。
入金
デフォルトの場合、連結アカウントに送金する売上は連結アカウントの Stripe 残高に累積され、日次のローリング方式で入金されます。入金頻度を変更するには、連結アカウントの詳細ページに移動し、残高セクションの右端のボタンをクリックし、入金スケジュールを編集を選択します。
返金
返金を行うには、支払いページに移動します。返金する支払いの左側にあるチェックボックスをクリックして、個々の支払いを選択します。支払いを選択すると、ページの右上隅に返金ボタンが表示されます。返金ボタンをクリックして、選択したすべての支払いに対する顧客への返金を行います。
注
連結アカウントは、Express ダッシュボードから支払いの返金を開始することができません。連結アカウントが Express ダッシュボードを使用している場合は、お客様が代わりに返金を処理する必要があります。