Tap to Pay
Accept contactless payments on a compatible iPhone or Android device with the Stripe Terminal SDK.
Looking for a no-code solution? Accept payments from the Stripe Dashboard mobile app.
Use Tap to Pay on Android to accept in-person contactless payments with compatible NFC-equipped Android devices.
Tap to Pay on Android includes support for Visa, Mastercard, and American Express contactless cards and NFC-based mobile wallets (Apple Pay, Google Pay, and Samsung Pay). Stripe includes Tap to Pay on Android in the Terminal Android SDK and the Terminal React Native SDK, and enables payments directly in your Android mobile app.
Availability
Available in Beta
Get started
Supported devices
Tap to Pay on Android works with a variety of Android devices such as mobile phones, kiosks, tablets, handheld devices, and so on. You won’t be able to discover or connect to devices that don’t meet all of the following criteria:
- Contains functioning NFC antenna and chipset
- Isn’t rooted and device bootloader is locked and unchanged
- Runs a current version of Android (Android 11 or above)
- Uses Google Mobile Services and has the Google Play Store app installed
- Has a hardware backed keystore
- Supports generating key pairs using a variety of key algorithms, including RSA and AES from the Android keystore
- A stable connection to the internet
- Runs the unmodified manufacturer provided OS
Android device emulators aren’t supported by Tap to Pay.
Device types
Supported device types include, but aren’t limited to:
Type of device | Manufacturer | Models |
---|---|---|
Countertop | Sunmi | D3 MINI, V3 MIX |
Handheld | Amobile | PD602 |
Honeywell | CT45 | |
Chainway | C66 | |
Ciontek | CS30, CS50C | |
iMin | Swift 2 Pro | |
Sunmi | L2s PRO, V2S | |
ZCS | Z92 | |
Zebra | TC26 | |
Kiosk | Elo Touch Solutions | 22in-I-Series-4 |
Sunmi | K2 | |
Register | iMin | Falcon2 |
Sunmi | T3 PRO | |
Tablet | Samsung Galaxy Tab | Active Pro, Active3, Active4 Pro, Active5 |
HMD Global | HMD T21 | |
Hosoton | H101 | |
Oukitel | RT3 | |
Ulefone | Armor Pad Pro |
Some manufacturers produce both GMS and non-GMS certified devices. If you’re using a non-GMS certified device you’ll receive an error when attempting to connect the device saying ATTESTATION_
. If this happens, contact the manufacturer to resolve the issue.
Mobile phones
Supported mobile phones include, but aren’t limited to:
Manufacturer | Models |
---|---|
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, |
User interface
Tap to Pay on Android includes payment collection screens. When your application is ready to collect a payment, the Stripe Terminal SDK takes over the display to handle the collection process. After you call the collect payment method, your application continues to run while Tap to Pay displays a full-screen prompt that instructs the cardholder to tap their card or NFC-based mobile wallet. If there’s an error reading the card, a prompt for retry displays. A successful tap returns a success indication and then your application regains control to confirm the payment.
Device-specific NFC tap zone UI
The Tap to Pay on Android SDK supports device-specific UX that dynamically indicates to the end user where the tap zone is located on the device. View examples of what the UX might look like in practice:
Generic UX
Device-specific UX
UX Configuration
You can override the default UX using the Terminal Android SDK, including colors of the tap zone, error message, success animation, and the position of the tap zone indicator. Call this method during your initialization or reader connection process. You can invoke this function multiple times if you need to adjust the appearance of the Tap to Pay screen during the lifetime of your application. View an example of customizing the UX:
Cardholder verification limits and fallback
Some contactless card transactions above certain amounts might require additional cardholder verification methods (CVM) such as PIN entry. Tap to Pay on Android doesn’t yet support PIN capture, so you might see elevated decline rates for transactions above the limit. NFC wallet payments (Apple Pay, Google Pay, and Samsung Pay) might not be subject to these same limits.
We recommend attempting the transaction anyway. When collecting payment with your mobile device, hold the card to the reader long enough to read the information from the chip. You might need to wait a few seconds after the initial vibrate when the card makes contact. In the event of a decline, use another method to collect payment, such as a Terminal card reader. You can only have one active connection to a reader at a time.
Best practices and promotion guidelines
Ensure an optimal user experience by considering the following:
- Connect to the reader in the background on app startup to reduce wait times when collecting a payment.
- Reconnect to the reader when the app comes to the foreground to reduce wait times.
- Provide merchant education to guide your users on how to accept contactless payments on a compatible Android device, including in-product promotion and text or email alerts.
- Launch and promote your Tap to Pay on Android marketing campaigns using our messaging templates and design assets. Become a Stripe Partner here to access these assets in the partner portal.