タッチ決済
サポートされている iPhone または Android デバイスでタッチ決済を受け付ける方法について説明します。
Looking for a no-code solution? Accept payments from the Stripe Dashboard mobile app.
Android のタッチ決済を使用すると、対応している NFC 搭載の Android デバイスで対面での非接触型決済を受け付けることができます。
Android のタッチ決済には、Visa、Mastercard、American Express の非接触型カードと NFC ベースのモバイルウォレット (Apple Pay、Google Pay、Samsung Pay) のサポートが含まれています。PIN 入力がサポートされています。また、eftpos はオーストラリアでサポートされています。Stripe には、Terminal Android SDK と Terminal React Native SDK に Android のタッチ決済が含まれており、Android モバイルアプリで直接支払いが可能です。
提供状況
公開プレビュー版の提供状況
始める
対応デバイス
Android のタッチ決済は、携帯電話、キオスク、タブレット、ハンドヘルドデバイスなど、さまざまな Android デバイスで機能します。次のすべての条件を満たすデバイスのみを検出して接続できます。
- 機能的で統合された NFC センサーと ARM ベースのプロセッサーを搭載
- ルートが指定されておらず、デバイスのブートローダーがロックされ変更されていない
- 現行バージョンの Android (Android 11 以降) を実行している
- Google モバイルサービスを使用しており、かつ Google Play Store アプリがインストールされている
- ハードウェア格納型キーストアを持つ
- RSA、Andoroid キーストアの AES など、各種のキーアルゴリズムを使用して、キーのペアの生成に対応します
- インターネットへの安定した接続状態
- メーカーから提供された、変更されていない OS を実行します
注
タッチ決済は Android のベータ版では動作しません。
Android デバイス エミュレーターは、タッチ決済ではサポートされていません。シミュレートリーダーと実稼働リーダーで同じデバイス要件が適用されるため、開発者はテスト中に最も現実的な体験を得られます。
デバイスタイプ
サポートされているデバイスタイプには、次のものが含まれますが、これらに限定されません。
デバイスタイプ | メーカー | モデル |
---|---|---|
カウンタートップ | Sunmi | D3 MINI、V3 MIX |
ハンドヘルド | Amobile | PD602 |
Honeywell | CT45 | |
Chainway | C66 | |
Ciontek | CS30、CS50C | |
iMin | Swift 2 Pro | |
Sunmi | L2s PRO、V2S | |
ZCS | Z92 | |
Zebra | TC26 | |
キオスク | Sunmi | K2 |
レジ | iMin | Falcon2 |
Sunmi | T3 PRO | |
タブレット | Samsung Galaxy Tab | Active Pro、Active3、Active4 Pro、Active5 |
HMD Global | HMD T21 | |
Hosoton | H101 | |
Oukitel | RT3 | |
Ulefone | Armor Pad Pro |
一部のメーカーは、GMS 認定デバイスと非 GMS 認定デバイスの両方を製造しています。GMS 認定を受けていないデバイスを使用している場合、デバイスを接続しようとすると、「ATTESTATION_
というエラーが表示されます。これが発生した場合は、製造元に問い合わせて問題を解決してください。
携帯電話
サポートされている携帯電話には、次のものが含まれますが、これらに限定されません。
メーカー | モデル |
---|---|
Asus | Zenphone 9 |
Google Pixel | 2 XL、3、3 XL、3a、4、4a、5、5a、6、6 Pro、6a、7、7a、7 Pro、8、8 Pro、8a、9 Pro、9 Pro XL |
Nokia | G22、G60、X10、X30 |
Honor | 70、90、90 Lite、Magic5 Lite、Magic6 Pro、Magic6 Lite、X6a、X6b、X7、X7b、X8 |
Huawei | P30 Pro |
Infinix | Hot 40 Pro |
LG | V60 ThinQ |
Motorola | Edge 5G UW、G、G Stylus 5G、G9 Play、G34、G54、G84 |
OnePlus | Nord N200、Nord CE、Nord N30、12R、6T |
Oppo | A60、A98、FindX2 Pro、Find X2 Lite、Find X3 Pro、Find X5 Pro、Reno5、Reno 7、Reno8、Reno10 Pro、Reno 12 Pro |
Samsung Galaxy | A04s、A10、A12、A13、A14、A15、A20e、A21s、A22、A23、A24、A31、A32、A33、A34、A40、A51、A52、A52s、A53、A54、A55、A70、A71、F23、M52、Note10+、Note20、Note20 Ultra、Note9、S10、S10+、S10e、S20、S20 FE、S20 Ultra、S20+、S21、S21 FE、S21 Ultra、S21+、S21+ Plus、S22、S22 Ultra、S22+、S23、S23 FE、S23 Ultra、S23+、S24、S24 Ultra、S24+、S9、S9+ |
Xiaomi | Redmi Note 9 Pro、Redmi 10、Redmi Note 10 Pro、Redmi Note 11、Redmi Note 11 Pro、Redmi 12、 Redmi 12C、Redmi Note 13 Pro、Redmi 13C、11T Pro、11 Lite、12T、13T Pro、 |
ユーザーインターフェイス
Android のタッチ決済には支払いの回収画面があります。アプリケーション側で支払い回収の準備が完了すると、Stripe Terminal SDK がその画面を引き継いで回収プロセスを進めます。支払い方法の収集を呼び出した後、アプリケーションは実行中のままで、タッチ決済からカード保有者に対して全画面のメッセージが表示され、カードまたは NFC ベースのモバイルウォレットをタップするように求めます。カードの読み取りエラーが発生した場合は、再試行を求めるメッセージが表示されます。タップに成功すると成功のメッセージが表示され、アプリケーションに制御が戻り支払いが確定されます。
デバイス固有の NFC タップゾーン UI
Android のタッチ決済 SDK は、デバイス上のタップゾーンの位置をエンドユーザーに動的に示す、デバイス固有のユーザー機能に対応しています。ユーザー機能が実際にどのようになるかを示す例をご覧ください。
一般的なユーザー機能
デバイスの固有のユーザー機能
ユーザー体験の設定
Terminal Android SDK を使用して、タップゾーンの配色、エラーメッセージ、成功時のアニメーション、タップゾーンのマークの位置など、デフォルトの UX を上書きできます。このメソッドは、初期化プロセスまたはリーダー接続プロセス中に呼び出されます。アプリケーションの有効期間中にタッチ決済画面のデザインを調整する必要がある場合は、この関数を複数回呼び出すこともできます。この方法で調整を行った場合、本番環境に表示されるタッチ決済の支払いメッセージのデザインにのみ影響します。PIN 収集画面やシミュレートされた支払いメッセージには影響しません。UX のカスタマイズの例をご覧ください。
カード保有者の本人確認の制限とフォールバック
一定額を超える一部の非接触型カード取引では、PIN 入力などの追加のカード所有者確認方法 (CVM) が必要になる場合があります。Android のタッチ決済は、Terminal Android SDK 4.3.0 以降で PIN 入力に対応しています。
PIN は次の 2 つのシナリオで収集されます。
- 取引金額がカード保有者確認方法 (CVM) の上限を超えています。
このケースでは、collectPaymentMethod が返される前に PIN が収集されます。PIN が入力されるか、PIN の収集がキャンセルされると、フォーカスはアプリケーションに戻ります。

- カード発行会社が強力な顧客認証 (SCA) リクエストを行います。
この場合、PIN は confirmPaymentIntent の際に収集されます。カード発行会社が PIN リクエストを行わない限り、confirmPaymentIntent の確定後にフォーカスがアプリケーションに戻ります。この場合、PIN が入力されるか、PIN の収集がキャンセルされるまで、PIN の収集が再びフォーカスを行います。

PIN エラー処理
PIN は、次の条件の場合にのみ収集できます。
- 開発者向けオプションは無効です。
- アクセシビリティサービスが登録されていないか、実行されていません。
- 画面録画はアクティブではありません。
- 画面オーバーレイウィンドウはありません
- アクティブなインターネット接続があります。
また、第三者がスクリーンショットを撮ろうとした場合にも、PIN の収集は失敗します。
これらの要因のいずれかが原因で PIN の収集に失敗した場合は、エラーの原因に関する追加情報を含む TAP_
エラーが表示されます。ユーザーが支払いを再試行して PIN を入力するための、実行可能な次のステップを提供することをおすすめします。
地域的な PIN に関する考慮事項
NFC ウォレットの支払い (Apple Pay、Google Pay、Samsung Pay) は通常、PIN を必要としません。ただし、イギリス、カナダ、フィンランドでは、地域の要件とカード発行会社のポリシーが非接触型決済に影響を与える可能性があります。
イギリスでは、カード発行会社によっては、強力な顧客認証 (SCA) でデバイスへのカードの挿入が必要になる場合があります。この場合は、カードが挿入されていないと、PIN 画面が表示される前に支払いが拒否され、その理由は offline_
になります。
カナダとフィンランドでは、発行されるカードの多くがオフライン PIN のみであるため、PIN を入力するには、デバイスへの挿入などの物理的な接触が必要ですが、これはタッチ決済ではサポートされていません。
このようなシナリオでは、顧客に別のカードを試すようにお願いするか、別の方法で支払いを回収することをお勧めします。たとえば、Terminal カードリーダーを使用したり、決済用リンクを送信したりします。
モバイルデバイスで支払いを回収するときは、チップ情報が読み取られるまでカードをリーダーにかざしてください。カードが接触したときに、最初の振動から数秒待つ必要がある場合があります。支払いが拒否された場合は、Terminal カードリーダーなど、別の方法で支払いを回収します。リーダーへのアクティブな接続は、一度に 1 つだけです。
PIN UX
セキュリティ上の理由により、ピンパッドは画面の中央に表示されません。ランダムに決定される位置に表示されます。

ピンパッドが中心から外れているのは予測された動作です。
ベストプラクティスとプロモーションのガイドライン
最適なユーザー体験を提供できるように、次の項目を検討してください。
- アプリの起動時にバックグラウンドでリーダーを接続して、支払い回収時の待機時間を短縮します。
- 自動再接続を使用すると、アプリがフォアグラウンドになったときにリーダーに再接続されるようになり、待ち時間を短縮できます。
- プロダクト内のプロモーション、テキストやメールのアラートなどの、互換性のある Android デバイスで非接触型決済を受け付ける方法をユーザーに伝えられるようにする研修を加盟店に提供します。
- Stripe のメッセージテンプレートとデザイン資産を使用して、Android のタッチ決済キャンペーンを始動し、プロモーションを行います。パートナーポータルでこれらの資産にアクセスするには、こちらから Stripe パートナーにご登録ください。