コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
Ask AI
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
高度なシステムを構築
アプリ内実装を構築
支払い方法
決済手段を追加
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
    概要
    対面支払いを受け付ける
    導入方法の設計
    リーダーを選択
    導入方法の設計
    クイックスタート
    サンプルアプリケーション
    テスト
    Terminal の設定
    実装方法を設定する
    リーダーに接続する
      ネットワーク要件
    決済の受け付け
    カード支払いを回収
    オフライン決済を受け付ける
    通信販売/電話販売の決済
    地域的な考慮事項
    購入時
    チップを回収する
    将来の使用に備えて支払い情報を収集して保存する
    柔軟なオーソリ
    決済後
    返金の取引
    領収書の提供
    Checkout のカスタマイズ
    カートの表示
    画面上の入力を収集
    スワイプで取得されたデータを収集
    Apps on Devices
    リーダーを管理
    リーダーの注文、返品、交換
    リーダーの登録
    場所とゾーンの管理
    リーダーの設定
    暗号化
    リファレンス
    API リファレンス
    モバイルリーダー
    スマートリーダー
    SDK 移行ガイド
    デプロイのチェックリスト
    Stripe Terminal リーダー製品シート
他の Stripe プロダクト
Financial Connections
仮想通貨
Climate
ホーム支払いTerminal

注

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

リーダーに接続する

アプリケーションを Stripe Terminal リーダーに接続します。

ページをコピー

注

まだリーダーを選択していない場合は、利用可能な Terminal リーダーを比較して、ニーズに最適なリーダーを選択してください。

iPhone のタッチ決済を使用すると、ユーザーは、互換性のある iPhone と Stripe Terminal SDK で対面の非接触型決済を受け付けることができます。iPhone のタッチ決済は、Visa、Mastercard、アメリカン・エキスプレス、ディスカバーの非接触型カードと、NFC ベースのモバイルウォレット (Apple Pay、Google Pay、Samsung Pay) に対応しています。iPhone のタッチ決済は、Terminal iOS SDK に含まれていて、iOS モバイルアプリで直接決済を有効にします。

リーダーを検出する

SDK リファレンス

  • discoverReaders (iOS)
  • TapToPayDiscoveryConfiguration (iOS)

discoverReaders メソッドを使用して、ご利用の iPhone がタッチ決済に対応しているかどうかを判定します。

completion ハンドラは、アプリケーションがサポートされているデバイスの条件を満たしていないデバイスで実行されている場合、エラーで呼び出されます。

DiscoverReadersViewController.swift
Swift
import StripeTerminal class DiscoverReadersViewController: UIViewController, DiscoveryDelegate { var discoverCancelable: Cancelable? // ... // Action for a "Discover Readers" button func discoverReadersAction() throws { let config = try TapToPayDiscoveryConfigurationBuilder().build() self.discoverCancelable = Terminal.shared.discoverReaders(config, delegate: self) { error in if let error = error { print("discoverReaders failed: \(error)") } else { print("discoverReaders succeeded") } } } // ... // MARK: DiscoveryDelegate func terminal(_ terminal: Terminal, didUpdateDiscoveredReaders readers: [Reader]) { // In your app, display the ability to use your phone as a reader // Call `connectReader` to initiate a session with the phone } }

リーダーに接続する

SDK リファレンス

  • connectReader (iOS)
  • TapToPayConnectionConfiguration (iOS)

iPhone のタッチ決済での決済受け付けを開始するには、検出されたリーダーを connectReader メソッドに指定します。また、リーダーに必要になる可能性がある更新を処理するために、デリゲートを作成する必要があります。

リーダーを接続する際、場所にリーダーを登録する必要があります。これを行うには、接続時に locationId を関連付けられているロケーション ID に設定した SCPTapToPayConnectionConfiguration を作成して使用します。

場所を作成する際に、ビジネスの名前を表す display_name を設定します。リーダーの接続時にビジネス名を明示的に指定しない限り、デバイスのタップ画面に場所の display_name が表示されます。必要に応じて既存の場所を編集することで、このテキストを調整できます。

on_behalf_of を使用してデスティネーション支払い を行う場合、SCPTapToPayConnectionConfiguration に連結アカウント ID を入力する必要があります。

APPDiscoverReadersViewController.swift
Swift
// Call `connectReader` with the selected reader and a connection config // to register to a location as set by your app. let connectionConfig = try TapToPayConnectionConfigurationBuilder.init(locationId:
"{{LOCATION_ID}}"
) .delegate(yourTapToPayReaderDelegate) .build() Terminal.shared.connectReader(selectedReader, connectionConfig: connectionConfig) { reader, error in if let reader = reader { print("Successfully connected to reader: \(reader)") } else if let error = error { print("connectReader failed: \(error)") } }

デバイスの設定を処理する

互換性のある iPhone のタッチ決済リーダーに接続するとき、設定の更新が必要になる場合があり、そのために数分かかることがあります。加盟店の待ち時間を短縮するために、前もってバックグラウンドでリーダーを接続しておくことをお勧めします。

設定手順を処理し、ビジネスに待機を求めるメッセージを表示させるために、SCPTapToPayReaderDelegate をアプリケーションに実装してください。設定手順はソフトウェア更新として表示されるため、ビジネスは進捗の通知を適宜受け取ることができます。

APPReaderViewController.swift
Swift
class APPReaderViewController: TapToPayReaderDelegate { // MARK: TapToPayReaderDelegate // ... func tapToPayReader(_ reader: Reader, didStartInstallingUpdate update: ReaderSoftwareUpdate, cancelable: Cancelable?) { // In your app, let the user know that an update is being installed on the reader } func tapToPayReader(_ reader: Reader, didReportReaderSoftwareUpdateProgress progress: Float) { // The update or configuration process has reached the specified progress (0.0 to 1.0) // If you are displaying a progress bar or percentage, this can be updated here } func tapToPayReader(_ reader: Reader, didFinishInstallingUpdate update: ReaderSoftwareUpdate?, error: Error?) { // The reader has finished installing an update // If `error` is nil, it is safe to proceed and start collecting payments // Otherwise, check the value of `error` for more information on what went wrong } func tapToPayReader(_ reader: Reader, didRequestReaderDisplayMesage displayMessage: ReaderDisplayMessage) { // This is called to request that a prompt be displayed in your app. // Use Terminal.stringFromReaderDisplayMessage(:) to get a user-facing string for the prompt } func tapToPayReader(_ reader: Reader, didRequestReaderInput inputOptions: ReaderInputOptions = []) { // This is called when the reader begins waiting for input // Use Terminal.stringFromReaderInputOptions(:) to get a user-facing string for the input options } // ... }

口座の関連付けおよび Apple 利用規約

リーダーに初めて接続すると、Apple の iPhone のタッチ決済利用規約が表示されます。Apple に登録するには、Apple によって表示される利用規約に同意する前に、ビジネスを表す有効な Apple ID を指定する必要があります。この操作は、Stripe アカウントごとに 1 回のみ実行する必要があります。このフローは、他のモバイルデバイスで使用する場合も含めて、同じ Stripe アカウントを使用する以降の接続では表示されません。

それぞれの連結アカウントは、次の場合に利用規約に同意する必要があります。

  • Connect ユーザーがダイレクト支払いを作成する
  • Connect ユーザーがデスティネーション支払いを作成し、on_behalf_of アカウントを指定する

Apple ID アカウントを関連付けて、タッチ決済による決済を受け付ける

iPhone のタッチ決済で connectReader メソッドを呼び出すと、どの iPhone でも 24 時間以内にアプリ間で最大 3 つの Stripe アカウントを使用できます。同じ 24 時間以内に同一デバイスで別のアカウントが使用された場合、connectReader メソッドがSCPErrorTapToPayReaderMerchantBlockedエラーを生成します。

口座の関連付けについて、詳細は Apple iPhone のタッチ決済 FAQ の「iPhoneのタッチ決済のビジネス情報」セクションをご覧ください。

接続切断に対処する

アプリケーションがバックグラウンドになるか、iPhone のインターネット接続が失われると、リーダーは切断されます。これを処理する方法は 2 つあります。

SDK リファレンス

  • TapToPayReaderDelegate (iOS)

切断を手動で処理する

この切断に対処するには、アプリケーションで SCPTapToPayReaderDelegate reader:didDisconnect: デリゲートメソッドを実装する必要があります。このコールバックをトリガーとして利用することで、問題の発生およびインターネット接続による続行の要求をユーザーに通知できます。また、アプリケーションが再びフォアグラウンドになった場合は、リーダーに手動で再接続することもできます。

ReaderViewController.swift
Swift
import StripeTerminal class ReaderViewController: UIViewController, TapToPayReaderDelegate { override func viewDidLoad() { super.viewDidLoad() // Set the reader delegate when connecting to a reader } // ... func reader(_ reader: Reader, didDisconnect reason: DisconnectReason) { // Consider displaying a UI to notify the user and start rediscovering readers } }

自動的に再接続を試行する

SCPTapToPayReaderDelegate に自動再接続メソッドを実装します。その後、SCPTapToPayReaderDelegate を SCPTapToPayConnectionConfiguration に渡す必要があります。

ConnectReaderViewController.swift
Swift
let connectionConfig = try TapToPayConnectionConfigurationBuilder(locationId: locationId) .delegate(yourTapToPayReaderDelegate) .build() Terminal.shared.connectReader( reader, connectionConfig: connectionConfig, completion: connectCompletion )

自動的に再接続を試行すると、以下が発生します。

  1. 切断が発生すると、SDK は自動的に再接続しようとし、onReaderReconnectStarted を介して通知します。接続が切れて、再接続が進行中であることを必ずアプリで知らせてください。
    • Cancelable オブジェクトを使用して、いつでも再接続の試行を停止できます。
  2. SDK でリーダーへの再接続が成功すると、onReaderReconnectSucceeded を介して通知されます。接続が復元され、通常の動作が続行することを、必ずアプリで知らせてください。
  3. SDK がリーダーに接続できない場合は、onReaderReconnectFailed と reader:didDisconnect: の両方を介して通知されます。予期しない切断の発生をアプリが通知できるようにしてください。
ReaderViewController.swift
Swift
import StripeTerminal extension ReaderViewController: TapToPayReaderDelegate { // MARK: ReconnectionDelegate func reader(_ reader: Reader, didStartReaderReconnect cancelable: Cancelable) { // 1. Notified at the start of a reconnection attempt // Use cancelable to stop reconnection at any time } func readerDidSucceedReaderReconnect(_ reader: Reader) { // 2. Notified when reader reconnection succeeds // App is now connected } func readerDidFailReaderReconnect(_ reader: Reader) { // 3. Notified when reader reconnection fails // App is now disconnected } }

次のステップ

アプリケーションをリーダーに接続しました。次に、Stripe Terminal の最初の支払いを回収します。

BBPOS および Chipper™ の名称およびロゴは BBPOS Limited の米国および/またはその他の国における商標または登録商標です。Verifone® の名称およびロゴは Verifone の米国および/またはその他の国における商標または登録商標のいずれかです。これらの商標の使用は BBPOS または Verifone による何らかの承認を意味するものではありません。

このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc