Supported Devices & NFC Tap Location
A guide to compatible Android devices for Tap to Pay, device requirements, and where customers should tap their card on each device.
What you learn
In this guide, you'll learn:
- Which Android devices are compatible with Tap to Pay
- Minimum device requirements for NFC contactless payments
- Where the NFC antenna is located on popular devices
- How to instruct customers to tap their card correctly
Device Requirements
To accept Tap to Pay on Android, the merchant's device must meet all of the following requirements:
| Requirement | Details |
|---|---|
| Android version | Android 12 (API level 31) or later |
| NFC hardware | Built-in NFC chip (virtually all modern flagship and mid-range Android phones) |
| Hardware keystore | TEE or StrongBox-backed keystore for secure key storage |
| Google Play Services | Google Mobile Services (GMS) must be installed and up to date |
| Google Play Protect | Must be enabled for device integrity verification |
| Developer mode | Must be disabled during live transactions |
| Device integrity | No rooted devices, custom ROMs, or unlocked bootloaders |
| Visa Kernel app | The Visa Tap to Pay Ready kernel app must be installed from the Google Play Store |
Developer Mode: Tap to Pay transactions will fail if developer mode is enabled. Always disable developer mode before processing payments. See the Installing the SDK guide for the recommended workflow.
Eligibility Check
The SDK provides a built-in eligibility check that verifies all device requirements before attempting a transaction. Call getKiCEligibility() to confirm the device meets all criteria:
val eligibilityMap = KiCThinClient
.getInstance()
.getKiCEligibility(applicationContext)
val failures = eligibilityMap["FailureList"]
if (failures.isNullOrEmpty()) {
// Device is eligible for Tap to Pay
} else {
// Handle ineligibility — inspect failure codes
failures.forEach { code ->
Log.w("TapToPay", "Eligibility failure code: $code")
}
}
Tested & Certified Devices
The following devices have been tested and certified by Visa for use with the Kernel in the Cloud (KiC) Tap to Pay Ready application:
| Device | Android Version | Form Factor |
|---|---|---|
| Google Pixel 3a | Android 12 | Phone |
| Google Pixel 4 | Android 13 | Phone |
| Google Pixel 6 | Android 15 | Phone |
| Google Pixel 8 | Android 16 | Phone |
| Google Pixel 9 | Android 15 | Phone |
| Samsung Galaxy S22 | Android 13 | Phone |
| Samsung Galaxy S23 | Android 14 | Phone |
| Oona Tablet | — | Tablet |
Not limited to this list: These are the devices Visa has explicitly tested and certified. In practice, any Android device that meets all the requirements listed above (Android 12+, NFC, hardware keystore, GMS) should work with Tap to Pay. The SDK's getKiCEligibility() check will confirm compatibility at runtime.
Full Supported Device List
Beyond the Visa-certified list, Tap to Pay on Android is supported across a wide range of manufacturers and models. The following devices are confirmed compatible (when running Android 12+):
| Brand | Supported Models |
|---|---|
| Asus | Zenfone 9, Zenfone 10, Zenfone 11 Ultra, Zenfone 12 Ultra, ROG Phone 6, ROG Phone 7, ROG Phone 8, ROG Phone 9 |
| Google Pixel | Pixel 6, Pixel 6a, Pixel 7, Pixel 7a, Pixel 8, Pixel 8a, Pixel 9, Pixel 9a, Pixel 10 |
| Nokia | G22, G42, G60, G400, X30, XR21 |
| Honor | 70, 70 Lite, 80, 90, 90 Lite, Magic5, Magic6, Magic7, Magic8 |
| Infinix | Hot 30, Hot 40, Hot 50, Hot 60i, Zero 20, Zero 30, Zero 40 |
| Motorola | Edge 2023, Edge 2024, Edge 2025, Moto G 2025, Razr 40, Razr 50, Razr 60 |
| OnePlus | Nord 3, Nord 4, Nord 5, Nord CE3, Nord CE4, Nord CE5, Nord N30, 11, 11R, 12, 12R, 13, 13R |
| Oppo | A60, A77, A78, A98, Find X5, Find X6, Find X7, Find X8, Find X9, Reno8, Reno9, Reno10, Reno11, Reno12, Reno13, Reno14, Reno15 |
| Samsung Galaxy | A04s, A05s, A13, A14, A15, A16, A17, A24, A25, A26, A33, A34, A35, A36, A53, A54, A55, A56, A73, S22, S23, S24, S25, S26 Ultra, Z Flip4, Z Flip5, Z Flip6, Z Flip7, Z Fold4, Z Fold5, Z Fold6, Z Fold7 |
| Xiaomi | 12, 12S, 12T, 13, 13T, 14, 14T, 15, 15T, Redmi 12, Redmi 12C, Redmi 13, Redmi 13C, Redmi 14C, Redmi 15, Redmi Note 12, Redmi Note 13, Redmi Note 14 |
Always verify at runtime: NFC support can vary by region and carrier variant — especially for mid-range devices. Use the SDK's getKiCEligibility() check at runtime rather than relying solely on a static device list.
NFC Antenna Location & Tap Guidance
The NFC antenna location determines where the customer should hold or tap their contactless card or device. Getting this right is critical for a smooth payment experience.
General Rule
On virtually all Android phones, the NFC antenna is located on the back of the device, in the upper-center area (roughly behind the rear camera module). Customers should hold their card flat against the upper-middle portion of the phone's back.
NFC Antenna Location Summary
The table below summarizes NFC antenna placement by manufacturer. For per-model details, see the device tables in the Full Supported Device List above.
| Manufacturer | NFC Antenna Location | Tap Zone Guidance |
|---|---|---|
| Asus (Zenfone / ROG Phone) | Center to upper-center back | Hold card against the center-top third of the back |
| Google Pixel | Upper-center back, near/behind the rear camera bar | Hold card against the top third of the back |
| Nokia | Upper-center back | Hold card against the top third of the back |
| Honor | Upper-center back; Magic series slightly above midpoint | Hold card against the top third of the back |
| Infinix | Upper-center back | Hold card against the top third of the back |
| Motorola (Edge / Moto G) | Upper-center back, near the camera or Motorola logo | Hold card against the top third of the back |
| Motorola (Razr foldables) | Upper half of back (when folded) | Tap on the upper portion of the folded device |
| OnePlus (flagships) | Upper-center back, near camera module | Hold card against the top third of the back |
| OnePlus (Nord series) | Upper-center back | Hold card against the top third of the back |
| Oppo (Find X series) | Center back, near camera module | Hold card against the center of the back |
| Oppo (A / Reno series) | Upper-center back | Hold card against the top third of the back |
| Samsung Galaxy S series | Center back, slightly above the midpoint | Hold card against the center of the back |
| Samsung Galaxy A series | Upper-center to center back (varies by tier) | Hold card against the center of the back |
| Samsung Galaxy Z Flip | Upper half of the back (when folded) | Tap on the upper portion of the folded device |
| Samsung Galaxy Z Fold | Center of the back panel (when closed) | Tap on the center of the back when folded |
| Xiaomi (flagships) | Upper-center back, near camera module | Hold card against the top third of the back |
| Xiaomi (Redmi series) | Upper-center back | Hold card against the top third of the back |
| Tablets | Varies — typically center back or near one edge | Check manufacturer documentation |
Visual Tap Guide
For the best tap experience, instruct customers to:
- Remove the card from any wallet or sleeve — Other cards or RFID-blocking material can interfere with the NFC signal
- Hold the card flat against the back of the phone — Do not tap at an angle
- Position the card over the NFC antenna zone (upper-center back on most devices)
- Hold steady for 1–2 seconds — Do not pull away until the phone confirms the read
- Listen/watch for confirmation — The device will display a status message and/or vibrate when the card is read successfully
┌─────────────────────┐
│ │ ← Phone (back view)
│ ┌───────────┐ │
│ │ 📷 Camera │ │
│ └───────────┘ │
│ ╔═══════════════╗ │
│ ║ NFC ANTENNA ║ │ ← Tap card here
│ ║ TAP ZONE ║ │
│ ╚═══════════════╝ │
│ │
│ │
│ │
│ │
└─────────────────────┘
Phone cases: Thin phone cases generally do not interfere with NFC reads. However, thick rugged cases, metal cases, or cases with built-in card holders may block or weaken the NFC signal. If customers experience read failures, try removing the case.
Handling Tap Failures
If the card does not read on the first attempt:
- Reposition the card slightly — move it toward the camera area
- Ensure the card is flat and not angled
- Remove any phone case that may be interfering
- Check that the device screen shows the "Present card" or "Tap card" prompt
- If the issue persists, the SDK will surface an appropriate display message or an
OnFailurestatus code such asNFC_NOT_AVAILABLE
Troubleshooting Device Compatibility
| Issue | Possible Cause | Solution |
|---|---|---|
| Eligibility check returns failure codes | Device doesn't meet one or more requirements | Inspect the failure codes from getKiCEligibility() and address each (e.g., enable Google Play Protect, update Google Play Services, disable developer mode) |
| NFC transactions fail on a supported device | Developer mode enabled | Disable developer mode in Settings → Developer options |
| Card not reading | NFC disabled in device settings | Go to Settings → Connected devices → Connection preferences → NFC and ensure it's toggled on |
| Intermittent read failures | Card positioned incorrectly | Guide the customer to tap in the correct NFC zone (see table above) |
| "Kernel app not found" error | Visa Tap to Pay Ready app not installed | Install the Visa Kernel app from the Google Play Store |
| Transactions fail after app update | Developer mode was re-enabled for deployment | Disable developer mode after installing updates, then restart the device |
Next Steps
- Installing the SDK — Set up your development environment
- Running Payments — Process your first Tap to Pay transaction
- SDK Response Codes — Understand transaction outcomes and error handling
- Running the Demo App — Test with the sample application

