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

Terminal SDK V3 移行ガイド

Stripe Terminal SDK (3.0.0) への移行方法を解説します。

ページをコピー

Stripe Terminal iOS SDK および Android SDK が更新され、API と動作への重要な変更がいくつか行われました。その一部については Stripe Terminal SDK のシステムアップグレードが必要になります。Stripe は、SDK 間の一貫性を向上させ、アプリケーションロジックとシステムを効率化するために、定期的にメジャーバージョンの更新を行い、システムの機能や動作に影響を与える変更を加えています。このガイドでは、システムのアップグレードに関わる最新の変更について解説します。

注

新しい Stripe Terminal の導入を構築する場合は、導入を設計するページをご参照ください。

バージョン 3.0.0 に移行する

Stripe Terminal iOS および Android の SDK 3.0.0 に関する変更点をいくつかご紹介します。

  • オフライン決済処理のサポートPreview
    • オフラインモード機能は現在、非公開ベータ版でのみご利用いただけます。アクセスをリクエストするには、stripe-terminal-betas@stripe.com までお問い合わせください。アカウントのバックエンドで変更を有効にした後、更新された設定を有効にするには、SDK でリーダーを切断して再接続する必要があります。
  • iOS と Android でサポートされる最小プラットフォームバージョンの更新
  • 非推奨の機能とプロパティの削除

アプリケーションが 3.0.0 より前のバージョンの Terminal iOS SDK を使用している場合、アップグレードしてカードの対面支払いをグローバルに受け付けるために、いくつかの変更が必要です。バージョン 2.23.1 から 3.0.0 への変更点の詳細なリストについては、SDK 変更ログをご覧ください。

サポートされる最小バージョンを iOS 13 以降に更新

Stripe は、開発者に最適な体験を提供することに重点を置いており、SDK の最小サポートバージョンを定期的に更新しています。

Terminal iOS SDK の既存の 2.X バージョンでは、引き続き iOS 11 以降を実行するデバイスをサポートします。

DiscoveryConfiguration の使用方法を特定の DiscoveryConfiguration の実装向けに更新

さまざまな検出方法の設定をサポートするために、SCPDiscoveryConfiguration は、複数のタイプで実装されるプロトコルになりました。DiscoveryMethod を提供する代わりに、特定のタイプのリーダーを検索するためのクラスから個別に選択できるようになっています。

Configuration クラス使用状況
SCPBluetoothScanDiscoveryConfigurationこの iOS デバイスの近くにある Bluetooth 対応リーダー
SCPBluetoothProximityDiscoveryConfigurationこの iOS デバイスの近くにある Bluetooth 対応リーダーのサブセット
SCPInternetDiscoveryConfigurationこのアカウントに登録されたインターネット接続型リーダー
SCPLocalMobileDiscoveryConfigurationこの iOS デバイスの NFC リーダーを使用するタッチ決済

提供されたビルダークラスを使用して、目的の検出方法に適した検出設定を作成し、それを discoverReaders に提供してください。ビルダーは、それぞれの設定でサポートされるプロパティのセッターを表示します。

discoverReaders と connectReader の使用方法の更新

  • discoverReaders を呼び出すと、その他すべてのキャンセル方法と同様に、コード SCPErrorCanceled のエラーで完了ブロックが呼び出されるようになりました。
  • connectReader が呼び出されると discoverReaders がすぐに正しく完了するようになりました。connectReader が失敗した場合にリーダーの検出を再開するには、システムで discoverReaders を新たに呼び出す必要があります。
  • connectReader を機能させるために、discoverReaders を実行する必要はなくなりました。以前検出されたリーダーインスタンスを使用して connectReader を呼び出すことも、discoverReaders を再開することなく接続を再試行することもできます。

ReconnectionDelegate の実装を更新

SCPReconnectionDelegate は Terminal インスタンスの代わりに再接続されているリーダーのインスタンスを提供するようになりました。このデリゲートを以前実装している場合、メソッド名の terminal を reader に置き換える必要があります。

ビルダーを使用するための、パラメーターと Configuration クラスの使用方法の更新

SCPCollectConfiguration や SCPPaymentIntentParameters などの入力クラスが変更不可能になり、それらを作成する関連ビルダーが含まれるようになりました。すべてのビルダーには、入力を検証し、構築するクラスを作成するビルドメソッドが含まれます。

  • Swift では、build() がスローされ、エラーを確認する必要があります。
  • Objective-C では、NSError ** out パラメーターを指定して、該当する場合にエラーを受け取ります。
PaymentViewController.swift
Swift
let paymentParams = try PaymentIntentParametersBuilder(amount: 100, currency: "cad") .setCaptureMethod(.automatic) .build()

SCPErrorBusy への依存を削除する

SCPErrorBusy は削除されました。SDK 3.0.0 以降では、別のメソッドがまだ進行中の間に Terminal メソッドを呼び出すと、新しい呼び出しがキューに追加されるようになりました。コマンドは、前のコマンドがすべて完了した後で実行されます。以前 SCPErrorBusy を防ぐために状態を追跡していた場合、または SCPErrorBusy を解消するために自分で作成したコマンドをキューに追加していた場合は、コマンドキューを使用してコードをシンプルにできます。アプリケーションで SCPErrorBusy を使用してコマンドが実行中であるかを把握していた場合は、コードを参照し、キューに入れるコマンドが多くなりすぎて問題が発生していなかったかを確認してください。

オフライン決済のサポートを確認する

オフライン決済では SCPPaymentIntent.stripeId は null になります。構築済みのシステムがオンライン決済のみに対応している場合、stripeId は常に表示されるため、ID が存在していることの確認以外に必要な変更はありません。オフライン時に支払いを処理する方法について、詳細はオフラインでカード支払いを回収するをご覧ください。

PaymentViewController.swift
Swift
Terminal.shared.createPaymentIntent(params) { intent, error in if let error = error { // Placeholder for handling exception } guard let intentId = intent.stripeId else { // PaymentIntent was created offline without an id. See intent.offlineDetails. // This is only expected when offline mode is enabled. } }

プロセス呼び出しを更新して確定する

SCPTerminal.processPayment は SCPTerminal.confirmPaymentIntent に名前が変わり、SCPTerminal.processRefund は SCPTerminal.confirmRefund に名前が変わりました。これらのメソッドのパラメーターに変更はありませんが、エラータイプはそれぞれ SCPConfirmPaymentIntentError と SCPConfirmRefundError に変更されています。

readReusableCard の使用を SetupIntents の使用に更新

SCPTerminal.readReusableCard は削除されました。SetupIntents は、請求なしで決済手段を保存するための推奨手段です。SetupIntents は PaymentIntents と同様、SDK で作成、収集、確定されます。詳しくは、オンライン決済で再利用するために支払い情報を保存するを参照してください。

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