コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要
Stripe Payments について
構築済みのシステムをアップグレード
決済分析
オンライン決済
概要ユースケースを見つけるManaged Payments を使用する
Payment Links を使用する
事前構築済みの決済ページを使用する
Elements を使用したカスタム統合の構築
アプリ内実装を構築
対面決済
Terminal
    概要
    対面支払いを受け付ける
    利用可能な国
    導入方法の設計
    リーダーを選択
    導入方法の設計
    クイックスタート
    サンプルアプリケーション
    テスト
    Terminal の設定
    実装方法を設定する
    Connect での複数の売り手への支払い
    リーダーに接続する
    決済の受け付け
    カード支払いを回収
    追加の決済手段
    オフライン決済を受け付ける
    通信販売/電話販売の決済
    地域的な考慮事項
    購入時
    チップを回収する
    将来の使用に備えて支払い情報を収集して保存する
    柔軟なオーソリ
    決済後
    返金の取引
    領収書の提供
    Checkout のカスタマイズ
    カートの表示
    画面上の入力を収集
    スワイプで取得されたデータを収集
    NFC 機器のタップによって取得したデータを収集
    Apps on Devices
    リーダーを管理
    リーダーの注文、返品、交換
    リーダーの登録
    場所とゾーンの管理
    リーダーの設定
    リーダーを監視する
    リファレンス
    API リファレンス
    モバイルリーダー
    スマートリーダー
    Tap to Pay 対応リーダー
    SDK 移行ガイド
    デプロイのチェックリスト
    Stripe Terminal リーダー製品シート
決済手段
決済手段を追加
決済手段を管理
Link による購入の迅速化
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
決済以外の機能
会社を設立する
暗号資産
エージェント型コマース
Financial Connections
Climate
不正利用について
Radar の不正防止
不審請求の申請の管理
本人確認
アメリカ
日本語
ホーム決済管理Terminal

Connect で Terminal を使用

Stripe Terminal を Connect プラットフォームに組み込みます。

Stripe Terminal は、Connect と互換性があり、プラットフォームおよび連結アカウントで対面支払いを受け付けられるようにします。

プラットフォームが連結アカウントの支払いを処理する方法に従って、Terminal を Connect に統合します。

  • ダイレクト支払いを使用する場合は、Terminal API リクエストを送信して、連結アカウントの API キーを使用してリーダーを設定し、決済を受け付けます。プラットフォームは、Stripe-Account ヘッダーを使用して連結アカウントを識別し、その API キーを使用できます。
  • デスティネーション支払いを使用する場合は、Terminal API リクエストを送信してリーダーを設定し、プラットフォーム API キーを使用して決済を受け付け、メタデータを使用して連結アカウントを識別します。

どちらの場合も、店舗 を使用してリーダーをグループ化します。

メモ

Terminal 連結アカウントが取引を行うには、card_payments ケイパビリティが必要です。

ダイレクト支払い

連結アカウントがリーダーを所有

この導入では、すべての API リソースはプラットフォームではなく連結アカウントに属します。連結アカウントが、Stripe の手数料、返金、チャージバックのコストに責任を負います。

ダッシュボードに連結アカウントとしてログインすると、Terminal データを表示することができます。

店舗とリーダーの作成 サーバー側

API リクエストに Stripe-Account ヘッダーを含めて、連結アカウントの 店舗 と Readers を作成します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/locations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d display_name=HQ \ -d "address[line1]"="1272 Valencia Street" \ -d "address[city]"="San Francisco" \ -d "address[state]"=CA \ -d "address[country]"=US \ -d "address[postal_code]"=94110
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/readers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d registration_code={{READER_REGISTRATION_CODE}} \ --data-urlencode label="Alice's reader" \ -d location=
"{{LOCATION_ID}}"

接続トークンの作成 サーバー側

メモ

Connect OAuth 認証を使用する場合、本番環境とサンドボックスでそれぞれ、各モード専用のアプリケーションクライアント ID を使用して連結アカウントを別々にオーソリする必要があります。

Terminal SDK 用に ConnectionToken を作成する際は、Stripe-Account ヘッダーで、支払いを受け付ける連結アカウントを設定します。リーダーのアクセスを制御するために、location パラメーターを指定することもできます。location を指定した場合、ConnectionToken はその場所に割り当てられたリーダーでのみ利用可能になります。location を指定しない場合、すべてのリーダーが ConnectionToken を使用できます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/connection_tokens \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d location=
"{{LOCATION_ID}}"

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 ヘッダーに連結アカウントを設定します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d amount=1000 \ -d currency=usd \ -d "payment_method_types[]"=card_present \ -d capture_method=manual

次に、PaymentIntent を処理するために決済を徴収するステップに従います。

プラットフォーム所有のリーダー Private preview

プライベートプレビュー

ダイレクト支払いを使用したプラットフォームによるリーダーの所有と管理をご希望の場合は、お問い合わせください。このプライベートベータ版の機能は現在、スマートリーダーで利用でき、サーバー主導型連携を活用しています。この連携は、1 つのプラットフォームで管理している連結アカウントでのみ機能します。

この導入では、プラットフォームは Location や Reader などのデバイスリソースを所有し、連結アカウントは PaymentIntents などの支払いリソースを所有します。これにより、プラットフォームは、複数の連結アカウントの支払いを処理する 1 つのリーダーを管理できます。Stripe の手数料、返金、チャージバックのコストは連結アカウントが負担します。

ダッシュボードでは、プラットフォームアカウントにログインしているときに Terminal デバイス管理データを直接表示できます。連結アカウントとしてログインすることで、支払いデータを表示できます。

店舗とリーダーを作成

連結アカウント別に Reader オブジェクトをグループ化するための最適な方法は、オブジェクトを Locations に割り当てることです。プラットフォームアカウントで、アカウントを識別する表示名を使用して、連結アカウントの Location を作成します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/locations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d display_name=HQ \ -d "address[line1]"="1272 Valencia Street" \ -d "address[city]"="San Francisco" \ -d "address[state]"=CA \ -d "address[country]"=US \ -d "address[postal_code]"=94110

アプリケーションをスマートリーダーに接続するには、事前にリーダーをプラットフォームアカウントに登録しておく必要があります。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/readers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d registration_code={{READER_REGISTRATION_CODE}} \ --data-urlencode label="Alice's reader" \ -d location=
"{{LOCATION_ID}}"

PaymentIntent を作成する

ダイレクト支払い用の PaymentIntent を作成するときは、Stripe-Account ヘッダーに連結アカウントを設定します。

メモ

単一のプラットフォームで管理する連結アカウントのために作成した PaymentIntents のみ、プラットフォームは後から処理できます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d amount=1000 \ -d currency=usd \ -d "payment_method_types[]"=card_present \ -d capture_method=manual

PaymentIntents を処理する

プラットフォームは、プラットフォームが所有するリーダーを使用して、連結アカウントの PaymentIntent を処理できます。

メモ

PaymentIntent は、Stripe-Account ヘッダーを使用して作成した場合にのみ処理できます。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/readers/
{{READER_ID}}
/process_payment_intent
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d payment_intent=
"{{PAYMENT_INTENT_ID}}"

デスティネーション支払い

デスティネーション支払いを使用する場合、プラットフォームは PaymentIntents や店舗 などの API リソースを所有します。各支払いは、連結アカウントに送金を自動的に作成します。

ダッシュボードにプラットフォームアカウントでログインすると、Terminal データを直接表示することができます。

店舗とリーダーの作成 サーバー側

連結アカウント別に Reader オブジェクトをグループ化するには、オブジェクトを Locations に割り当てます。プラットフォームアカウントで、アカウントを識別する表示名を使用して、連結アカウントの Location を作成します。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/locations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d display_name=HQ \ -d "address[line1]"="1272 Valencia Street" \ -d "address[city]"="San Francisco" \ -d "address[state]"=CA \ -d "address[country]"=US \ -d "address[postal_code]"=94110

アプリケーションをスマートリーダーに接続するには、事前にリーダーをプラットフォームアカウントに登録しておく必要があります。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/readers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d registration_code={{READER_REGISTRATION_CODE}} \ --data-urlencode label="Alice's reader" \ -d location=
"{{LOCATION_ID}}"

接続トークンの作成 サーバー側

Terminal SDK の ConnectionToken を作成するときは、プラットフォームアカウントのシークレットキーを使用します。Stripe-Account ヘッダーは設定しないでください。リーダーへのアクセスを制御するには、location パラメーターを指定します。店舗を指定すると、ConnectionToken はその店舗に割り当てられたリーダーでのみ利用可能になります。店舗を指定しないと、ConnectionToken はすべてのリーダーで利用可能になります。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/terminal/connection_tokens \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d location=
"{{LOCATION_ID}}"

PaymentIntents を作成する クライアント側 サーバー側

デスティネーション支払いを使用して PaymentIntent を作成するときは、on_behalf_of、transfer_data[destination]、application_fee_amount の各パラメーターを指定します。

on_behalf_of パラメーターは、支払いの売上処理加盟店となる連結アカウントの ID です。Terminal の取引では、プラットフォームの国と連結アカウントの国が異なる場合、このパラメーターを設定する必要があります。on_behalf_of が設定されていると、Stripe は自動的に次のように動作します:

  • 指定されたアカウントの国での売上処理。この処理によって支払い拒否を最小限に抑え、通貨換算を回避します。
  • 連結アカウントの国の手数料体系を使用します。
  • 顧客のクレジットカード明細書に、プラットフォームの住所と電話番号ではなく、連結アカウントの住所と電話番号を記載します (アカウントとプラットフォームの国が異なる場合のみ)。

transfer_data[destination] には、送金を受け取る連結アカウントの ID を設定します。

最後に、application_fee_amount パラメーターを指定することによって、プラットフォーム手数料を差し引くことができます。

クライアント側

iOS、Android、React Native の SDK では、クライアント側で PaymentIntent を作成して、onBehalfOf、transferDataDestination、applicationFeeAmount の各パラメーターを指定できます。

メモ

クライアント側では、他の SDK を使用して PaymentIntent を作成できます。Stripe Terminal で JavaScript SDK を使用している場合は、サーバ側で PaymentIntent を作成します。

サーバー側

JavaScript SDK では、サーバー上で PaymentIntent を作成する必要があります。他のクライアントの SDK で、支払いの開始に必要な情報をアプリですぐに利用できない場合には、サーバー上に PaymentIntent を作成することをお勧めします。詳細については、PaymentIntents を作成する (サーバー側) をご覧ください。

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1000 \ -d currency=usd \ -d "payment_method_types[]"=card_present \ -d capture_method=manual \ -d application_fee_amount=200 \ -d on_behalf_of=
"{{CONNECTED_ACCOUNT_ID}}"
\ -d "transfer_data[destination]"=
"{{CONNECTED_ACCOUNT_ID}}"

次に、PaymentIntent を処理するために決済を徴収するステップに従います。

参照情報

  • カートの表示
  • 領収書
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc