Connect で Terminal を使用
Stripe Terminal を Connect プラットフォームに組み込みます。
Stripe Terminal は、Connect と互換性があり、プラットフォームおよび連結アカウントで対面支払いを受け付けられるようにします。
プラットフォームが連結アカウントの支払いを処理する方法に従って、Terminal を Connect に統合します。
- ダイレクト支払いを使用する場合は、Terminal API リクエストを送信して、連結アカウントの API キーを使用してリーダーを設定し、決済を受け付けます。プラットフォームは、
Stripe-Accountヘッダーを使用して連結アカウントを識別し、その API キーを使用できます。 - デスティネーション支払いを使用する場合は、Terminal API リクエストを送信してリーダーを設定し、プラットフォーム API キーを使用して決済を受け付け、メタデータを使用して連結アカウントを識別します。
- 支払いと送金別方式を使用する場合は、プラットフォーム API キーを使用して Terminal API リクエストを送信し、プラットフォームアカウントで決済を作成し、連結アカウントに資金を移動する別送金を作成します。
どちらの場合も、ロケーションを使用してリーダーをグループ化します。
メモ
Terminal 連結アカウントが取引を行うには、card_ ケイパビリティが必要です。
連結アカウントがリーダーを所有
この導入では、すべての API リソースはプラットフォームではなく連結アカウントに属します。連結アカウントが、Stripe の手数料、返金、チャージバックのコストに責任を負います。
ダッシュボードに連結アカウントとしてログインすると、Terminal データを表示することができます。
店舗とリーダーの作成 サーバー側
API リクエストに Stripe-Account ヘッダーを含めて、連結アカウントの 店舗 と Readers を作成します。
接続トークンの作成 サーバー側
メモ
Connect OAuth 認証を使用する場合、本番環境とサンドボックスでそれぞれ、各モード専用のアプリケーションクライアント ID を使用して連結アカウントを別々にオーソリする必要があります。
Terminal SDK 用に ConnectionToken を作成する際は、Stripe-Account ヘッダーで、支払いを受け付ける連結アカウントを設定します。リーダーのアクセスを制御するために、location パラメーターを指定することもできます。location を指定した場合、ConnectionToken はその場所に割り当てられたリーダーでのみ利用可能になります。location を指定しない場合、すべてのリーダーが ConnectionToken を使用できます。
サーバー主導型の実装を使用している場合は、接続トークンを作成する必要はありません。
PaymentIntents を作成する クライアント側 サーバー側
iOS、Android、React Native の SDK を使用すると、クライアントまたはサーバーで PaymentIntent を作成できます。JavaScript SDK は、サーバー側の作成のみに対応しています。
クライアント側
クライアント側でダイレクト支払い用の PaymentIntent を作成するときに、PaymentIntent に追加のパラメーターを指定する必要はありません。その代わり、ConnectionToken を作成するときに、決済を受け付ける連結アカウントの Stripe-Account ヘッダーで ConnectionToken を作成します。クライアントの SDK では、ConnectionToken が属する同じ連結アカウントで PaymentIntent を作成します。詳細については、クライアント側の PaymentIntents を作成するをご覧ください。
サーバー側
JavaScript SDK では、サーバー上で PaymentIntent を作成する必要があります。他のクライアントの SDK で、支払いの開始に必要な情報をアプリですぐに利用できない場合には、サーバー上に PaymentIntent を作成することをお勧めします。詳細については、PaymentIntents を作成する (サーバー側) をご覧ください。
サーバー側でダイレクト支払い用の PaymentIntent を作成するときは、Stripe-Account ヘッダーに連結アカウントを設定します。
次に、PaymentIntent を処理するために決済を徴収するステップに従います。
プラットフォーム所有のリーダー Private preview
プライベートプレビュー
プラットフォームがリーダーを所有し、ダイレクト支払いで管理することに関心をお持ちの場合は、Stripe にお問い合わせください。このプライベートプレビュー機能は、現在サーバー主導型実装を使用するスマートリーダーでご利用いただけます。この実装は、単一のプラットフォームを通じて管理する連結アカウントでのみ機能します。
この導入では、プラットフォームは Location や Reader などのデバイスリソースを所有し、連結アカウントは PaymentIntents などの支払いリソースを所有します。これにより、プラットフォームは、複数の連結アカウントの支払いを処理する 1 つのリーダーを管理できます。Stripe の手数料、返金、チャージバックのコストは連結アカウントが負担します。
ダッシュボードでは、プラットフォームアカウントにログインしているときに Terminal デバイス管理データを直接表示できます。連結アカウントとしてログインすることで、支払いデータを表示できます。
店舗とリーダーを作成
連結アカウント別に Reader オブジェクトをグループ化するための最適な方法は、オブジェクトを Locations に割り当てることです。プラットフォームアカウントで、アカウントを識別する表示名を使用して、連結アカウントの Location を作成します。
アプリケーションをスマートリーダーに接続するには、事前にリーダーをプラットフォームアカウントに登録しておく必要があります。
PaymentIntent を作成する
ダイレクト支払い用の PaymentIntent を作成するときは、Stripe-Account ヘッダーに連結アカウントを設定します。
メモ
単一のプラットフォームで管理する連結アカウントのために作成した PaymentIntents のみ、プラットフォームは後から処理できます。
PaymentIntents を処理する
プラットフォームは、プラットフォームが所有するリーダーを使用して、連結アカウントの PaymentIntent を処理できます。
メモ
PaymentIntent は、Stripe-Account ヘッダーを使用して作成した場合にのみ処理できます。