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

アプリを構築してテストする

DevKit を使用してアプリを構築し、テストする方法をご紹介します。

ページをコピー

導入サンプル

GitHub の Apps on Devices の導入サンプルリポジトリーにアクセスします。

SmartPOS DevKit デバイスを使用して、デプロイやアプリの審査、署名のプロセスを実行せずに、アプリケーションを繰り返しテストします。

DevKit デバイスが必要な場合は、ダッシュボードのリーダーセクションから、ユーザーあたり最大 5 台まで注文できます。

DevKit を設定する

DevKit を使用してアプリを開発する前に、以下を実行する必要があります。

  1. 画面の指示に従ってネットワークに接続します。
  2. デバイスをお使いの Stripe アカウントに登録します。
  3. 利用可能なすべての更新をインストールします。

初期設定後に、DevKit を別のアカウントや場所にいつでも登録できます。これを行うには、DevKit をインターネットに接続し、リーダーの登録手順に従います。

本番環境用デバイスと似ていますが、DevKit デバイスは次の点で異なります。

  • サンドボックスでのみ操作できます。
  • 開発者向けオプションと Android Debug Bridge (adb) がデフォルトで有効になっている状態で出荷されます。
  • デバイスがテスト専用で使用されていることを示すウォーターマークが画面上に表示されます。このウォーターマークは、デバイスの使用中に画面内を移動するため、ユーザーは画面のすべての部分を確認できます。

Terminal API は、登録済みの DevKit デバイスのターゲット設定をサポートします。

Stripe デバイス向けのアプリを開発する

以下のステップを使用して、Stripe Android デバイス向けのアプリを開発します。これには、アプリの設定と Stripe リーダーアプリへのハンドオフが含まれます。

アプリを設定する
クライアント側

まず、対面支払いの導入を設定します。その後に、以下の Apps on Devices の導入のガイダンスに従います。

依存関係を追加する

次の依存関係をプロジェクトの Gradle ビルドスクリプトに追加します。Apps on Devices の導入には、Terminal Android SDK バージョン 2.22.0 以降が必要ですが、Stripe では最新バージョンの導入をお勧めしています。

build.gradle.kts
Kotlin
dependencies { implementation("com.stripe:stripeterminal-core:4.5.0") implementation("com.stripe:stripeterminal-handoffclient:4.5.0") }

その他の Stripe Terminal SDK の依存関係を使用していないことを確認してください。たとえば、前に Terminal Android SDK を実装したことがある場合は、最上位の com.stripe:stripeterminal の依存関係 (例: com.stripe:stripeterminal:4.5.0) を使用しないでください。

アプリのビルドスクリプトに依存関係を含めるの例をご覧ください。

アプリケーションを設定する

Stripe SDK にライフサイクルイベントを通知するには、TerminalApplicationDelegate.onCreate() コールをアプリケーションサブクラスの onCreate() メソッドに追加します。

MyApplication.kt
Kotlin
class MyApplication : Application() { override fun onCreate() { super.onCreate() TerminalApplicationDelegate.onCreate(this) } }

アプリのマニフェスト で、android:name 属性が含まれる Application サブクラスの名前を指定します。

AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <application android:name=".MyApp"> <!-- App manifest contents --> </application> </manifest>

導入の設定の詳細をご覧になるか、Application サブクラスを正確に設定する例について Apps on Devices サンプルアプリの GitHub リポジトリーをご覧ください。

アプリを構築する
クライアント側

Apps on Devices の導入については、以下のガイダンスに従います。

リーダーを検出して接続する

新しい Stripe デバイスを新しい Reader オブジェクトとしてアカウントに登録する必要があります。デバイスの管理者設定に表示される、Reader オブジェクトの作成に必要なペアリングコードを使用します。お使いのアプリは Stripe Terminal Android SDK を使用してデバイスを検出し、接続します。

Apps on Devices の導入サンプルの GitHub リポジトリーで、ハンドオフモードを使用する検出方法と接続方法の例をご覧ください。

  1. 登録済みのデバイスでアプリが実行されます。
  2. HandoffDiscoveryConfiguration を指定して discoverReaders を呼び出すと、アプリでリーダーが検出されます。
  3. connectReader を使用してアプリをリーダーに接続します。

次の例は、Android アプリでハンドオフモードを使用して Stripe リーダーを検出し、接続する方法を示しています。

DiscoverReadersActivity.kt
Kotlin
private fun discoverReaders() { Terminal.getInstance().discoverReaders( config = HandoffDiscoveryConfiguration(), discoveryListener = object : DiscoveryListener { override fun onUpdateDiscoveredReaders(readers: List<Reader>) { // In handoff discovery, the list will // contain a single reader. Connect to // the reader after it is discovered. readers.firstOrNull()?.let { reader -> connectReader(reader) } } }, callback = object : Callback { override fun onSuccess() { // Handle successfully discovering readers } override fun onFailure(e: TerminalException) { // Handle exception while discovering readers } } ) } private fun connectReader(reader: Reader) { Terminal.getInstance().connectReader( reader, HandoffConnectionConfiguration( object : HandoffReaderListener { override fun onDisconnect(reason: DisconnectReason) { // Optionally get notified about reader disconnects (for example, reader was rebooted) } override fun onReportReaderEvent(event: ReaderEvent) { // Optionally get notified about reader events (for example, a card was inserted) } } ), object : ReaderCallback { override fun onSuccess(reader: Reader) { // Handle successfully connecting to the reader } override fun onFailure(e: TerminalException) { // Handle exception when connecting to the reader } } ) }

支払いを回収する

ハンドオフモードを使用してリーダーに接続すると、支払いの回収を開始できます。

Stripe Reader アプリは、支払いの回収やその他の支払い操作 (支払い情報の保存など) を処理します。支払い操作を開始すると、Stripe Reader アプリがプライマリになり、全画面で起動します。その後、Stripe Reader アプリがフローを進め、支払いの完了 (成功または失敗) または顧客のキャンセル後に制御をアプリに戻します。制御がアプリに戻ると、Stripe Reader アプリはバックグラウンドで実行され続けます。

Apps on Devices アプリで支払いを回収する例をご覧ください。

オフライン中に支払いを回収するPreview

Apps on Devices は、オフラインでの支払いの回収をサポートします。

デバイス管理
クライアント側

アプリから stripe://settings/ ディープリンクの URI を起動することで、デバイスの管理者設定にアクセスできます。

管理者設定のディープリンク URI の起動の例をご覧ください。

MyActivity.kt
Kotlin
startActivity( Intent(Intent.ACTION_VIEW) .setData(Uri.parse("stripe://settings/")) )

アプリを測定する
クライアント側

Stripe は、アプリケーションレベルの測定ソリューションを提供していません。アプリケーションのクラッシュやその他のログを追跡するには、Sentry や Crashlytics などのサードパーティーのライブラリを使用できます。

デバイスのロケールを設定する
クライアント側

デバイスユーザーが選択した言語 (国ではなく) は、Locale.getDefault() によって返される値に入力されます。デバイスの言語は管理者設定で変更できます。

画面の向き
クライアント側

Stripe Android デバイスでは、_自動回転画面_設定がデフォルトで有効になっています。アプリでは、UI を特定の画面の向きにロックすることで、この設定を上書きできます。

これは、マニフェストで関連する <activity> タグに screenOrientation 属性を設定することで行えます。

AndroidManifest.xml
<activity android:name=".MainActivity" android:screenOrientation="portrait"> </activity>

または、Activity クラスで Activity::setRequestedOrientation を使用して、プログラムで設定することもできます。

MainActivity.kt
Kotlin
class MainActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Lock to portrait orientation requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT // Or, lock to landscape orientation // requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE } }

制限
クライアント側

Stripe Android デバイスでは、戻るボタンやステータスバーなどのシステム UI は表示されません。

アプリが電池残量、充電状態、接続のステータスをユーザーに表示する必要がある場合は、以下の Android API のドキュメントで詳細をご覧ください。

  • 電池残量と充電状態を監視する
  • 接続のステータスと種類をモニタリングする

デバイスアクセサリーを扱う
クライアント側

Stripe リーダーがドックに接続または切断すると、Android オペレーションシステムは設定の変更をトリガーします。

デフォルトでは、設定が変更されるとアプリのアクティビティーは自動的に再作成されます。

ドックの接続時または切断時にアクティビティーの自動再作成を無効にするには、AndroidManifest.xml ファイルの <activity> エントリーに android:configChanges="uiMode" を追加します。

AndroidManifest.xml
<activity android:name=".MyActivity" android:configChanges="uiMode" />

Activity::onConfigurationChanged を実装することにより、アクティビティーで設定変更が通知されるようにすることができます。このメソッドは、マニフェストで android:configChanges 属性で処理する設定を指定している場合にのみ呼び出されます。

MainActivity.kt
class MainActivity : Activity() { override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // implement custom configuration change handling logic } }

アプリをテストする

S700 DevKit デバイスを使用して、Stripe ダッシュボードでアプリをテストするか、Android Debug Bridge (adb) を使用してアプリをテストします。

USB-A to USB-C ケーブルを使用して、DevKit デバイスをコンピューターに接続できます。次に、adb を使用して、アプリの構築済みの APK を DevKit デバイスに直接インストールします。

以下の例では、アプリケーションのパッケージ名が com.example.myapp で、主要なアクティビティーが MainActivity であると想定しています。

$ adb install myapp.apk

インストールが完了したら、アプリを起動します。

$ adb shell am start com.example.myapp/.MainActivity

管理者設定を開始します。

$ adb shell am start -d "stripe://settings/"

必要に応じて、アプリをアンインストールします。

$ adb uninstall com.example.myapp

Google の Android Debug Bridge のドキュメント では、adb の使用に関する包括的なガイドが提供されています。

支払いをテストする

DevKit デバイスは、ダッシュボードで注文できる Stripe のテスト用の物理カードを使用してテスト支払いを処理できます。支払いをテストする際に、小数を使用する金額を使用して特定の結果を生成することができます。

警告

DevKit デバイスで支払いをテストするときに、実際のカードを使用しないでください。

次のステップ

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