Tap to Pay
Découvrez comment accepter les paiements sans contact sur un appareil iPhone ou Android compatible.
Vous cherchez une solution no-code ? Acceptez des Payments depuis l’application mobile Stripe Dashboard.
Utilisez Tap to Pay sur Android pour accepter des paiements sans contact en personne avec des appareils Android compatibles NFC.
Tap to Pay sur Android prend en charge les cartes sans contact Visa, Mastercard, American Express et Discover, ainsi que les portefeuilles mobiles basés sur la technologie NFC (Apple Pay, Google Pay et Samsung Pay). La saisie du code PIN est prise en charge. En outre, eftpos est pris en charge en Australie et Interac est disponible en version bêta au Canada. Stripe inclut Tap to Pay sur Android dans le SDK Terminal Android et le SDK Terminal React Native, et permet les paiements directement dans votre application mobile Android.
Disponibilité
Disponibilité en version bêta publique
Démarrer
Appareils pris en charge
Tap to Pay sur Android fonctionne avec une variété d’appareils Android tels que les téléphones mobiles, les kiosques, les tablettes, les appareils portatifs, etc. Vous pouvez uniquement découvrir et vous connecter aux appareils qui répondent à tous les critères suivants :
- Dispose d’un capteur NFC intégré fonctionnel et d’un processeur ARM
- N’est pas rooté et le bootloader de l’appareil est verrouillé et n’a pas été modifié
- Fonctionne sous Android 13 ou version ultérieure
- Utilise les services Google Mobile et dispose de l’application Google Play Store
- Dispose d’un keystore avec prise en charge matérielle pour ECDH (
FEATURE_version doit être 100 ou ultérieure)HARDWARE_ KEYSTORE - Une connexion Internet stable
- Exécute le système d’exploitation non modifié fourni par le fabricant
Remarque
Tap to Pay ne fonctionnera pas sur les versions bêta d’Android.
Les émulateurs Android ne sont pas pris en charge par Tap to Pay. Le lecteur de simulation et le lecteur réel appliquent les mêmes exigences concernant les appareils, afin d’offrir aux développeurs l’expérience la plus réaliste possible pendant les tests.
Types d’appareils
Les types d’appareils pris en charge incluent, sans s’y limiter :
| Type d’appareil | Fabricant | Modèles |
|---|---|---|
| Comptoir | Sunmi | D3 MINI, V3 MIX |
| Portatif | Amobile | PD602 |
| Honeywell | CT37, CT47 | |
| Chainway | C66 | |
| Ciontek | CS50C | |
| iMin | Swift 2 Pro | |
| Sunmi | L3, V3 | |
| ZCS | Z92 | |
| Zebra | TC53, TC53E | |
| Kiosque | Sunmi | FLEX 3, K2 |
| S’inscrire | iMin | Falcon2 |
| Sunmi | D3 PRO, T3 PRO | |
| Tablette | Samsung Galaxy Tab | Active Pro, Active3, Active4 Pro, Active5 |
| HMD Global | HMD T21 | |
| Hosoton | H101 | |
| Oukitel | RT3 | |
| Ulefone | Armor Pad Pro |
Certains fabricants produisent à la fois des appareils certifiés GMS et non certifiés GMS. Si vous utilisez un appareil non certifié GMS, vous recevrez un message d’erreur indiquant « ATTESTATION_FAILURE : l’appareil n’est pas certifié Google Mobile Services (GMS) » lorsque vous tenterez de connecter l’appareil. Si cela se produit, contactez le fabricant pour résoudre le problème.
Téléphones portables
Les téléphones mobiles pris en charge incluent, sans s’y limiter :
| Fabricant | Modèles |
|---|---|
| Asus | Zenphone 9 |
| Pixel 6, Pixel 6a, Pixel 7, Pixel 7a, Pixel 8, Pixel 8a, Pixel 9, Pixel 9a, Pixel 10 | |
| Nokia | G22, G310, G42, G60, X10, X20, X30 |
| Honor | 70, 70 Lite, 90, 90 Lite, 90 Smart, Magic5, Magic6, Magic7, X6, X7, X8, X9 |
| Infinix | Hot 40 Pro, HOT 60i |
| LG | V60 ThinQ |
| Motorola | Moto GX4, Moto GX5, G 2023, Edge 2023, G 2024, Edge 2024, G 2025, Edge 2025 |
| OnePlus | Nord 4, Nord CE3, Nord CE4, Nord N30, 12, 12R, 13, 13R |
| Oppo | A60, A74, A77, A78, A79, A98, A98, FindX2 Pro, Find X2 Lite, Find X3 Pro, Find X5 Pro, Reno8, Reno10, Reno11, Reno12, Reno13, Reno14 |
| Samsung Galaxy | A04s, A05s, A13, A14, A15, A16, A17, A22, A23, A24, A25, A26, A32, A33, A34, A35, A36, A42, A42s, A53, A54, A55, A56, A71, A72, A73, Note20, S22, S23, S24, S25, Z Flip3, Z Fold3, Z Flip4, Z Fold4, Z Flip5, Z Fold5, Z Flip6, Z Fold6, Z Flip7, Z Fold7 |
| Xiaomi | 12, 12S, 12T, 13, 13T, 14, 14T, 15, 15T, Redmi 10, Redmi 12, Redmi 12C, Redmi 13, Redmi 13C, Redmi 14C, Redmi 15, Redmi Note 10, Redmi Note 11, Redmi Note 12, Redmi Note 13, Redmi Note 14 |
Interface utilisateur
Tap to Pay sur Android inclut des écrans pour le recouvrement des paiements. Une fois que votre application est prête à collecter un paiement, le SDK Stripe Terminal prend le relais pour gérer le processus de recouvrement. Après avoir appelé la méthode de traitement du paiement, votre application continue de fonctionner tandis que Tap to Pay affiche un message en plein écran invitant le titulaire de la carte à taper sa carte ou son portefeuille mobile NFC. Si une erreur survient lors de la lecture de la carte, un message invitant à réessayer s’affiche. Une fois la carte validée, une indication de réussite s’affiche et le contrôle revient à votre application.
Zone de prise NFC spécifique à l’appareil
Le SDK Tap to Pay sur Android déplace automatiquement l’indicateur de zone de paiement afin d’aider l’utilisateur final à comprendre où se trouve la zone de paiement sur l’appareil. Découvrez des exemples illustrant à quoi pourrait ressembler l’expérience utilisateur dans la pratique :

Écran tactile générique

Écran tactile spécifique à l’appareil
Configuration de l’expérience utilisateur
Limites de la vérification du titulaire de la carte et solution de repli
Certaines transactions par carte sans contact au-delà d’un certain montant peuvent nécessiter des méthodes de vérification supplémentaires du titulaire de la carte (CVM), comme la saisie d’un code PIN. Tap to Pay sur Android prend en charge la saisie du code PIN sur le SDK Terminal Android 4.3.0, ou une version supérieure.
Le code PIN est collecté dans deux scénarios :
- Le montant de la transaction est supérieur à la limite associée à la méthode de vérification du titulaire de carte.
Dans ce cas, le code PIN est collecté avant le renvoi de collectPaymentMethod. Le flux revient à votre application après la saisie du code PIN ou l’annulation de cette collecte.

- L’émetteur fait une demande d’authentification forte du client (SCA).
Dans ce cas, le code PIN est collecté pendant confirmPaymentIntent. Le flux revient à votre application après confirmPaymentIntent, sauf si l’émetteur demande un code PIN. Dans ce cas, la collecte du code PIN revient au premier plan jusqu’à ce que le code PIN soit saisi ou que sa collecte soit annulée.

Gestion des erreurs de code PIN
Vous ne pouvez collecter un code PIN que dans les conditions suivantes :
- Les options pour les développeurs sont désactivées.
- Il n’y a pas de services d’accessibilité inscrits ou en cours d’exécution.
- Il n’y a pas d’enregistrement d’écran en cours.
- Il n’y a pas de fenêtres de superposition à l’écran
- Vous disposez d’une connexion internet active.
La collecte du code PIN échoue également si une partie tente de faire une capture d’écran.
Si la collecte du code PIN échoue en raison de l’un de ces facteurs, vous recevez un message d’erreur TAP_ contenant des informations supplémentaires sur la cause de l’erreur. Nous vous recommandons de fournir des indications concrètes aux utilisateurs afin qu’ils puissent relancer le paiement et saisir le code PIN.
Spécificités régionales concernant les codes PIN
Les paiements par portefeuille NFC (Apple Pay, Google Pay et Samsung Pay) ne nécessitent généralement pas de code PIN. Toutefois, au Royaume-Uni, au Canada et en Finlande, les exigences régionales et les politiques des émetteurs de cartes peuvent avoir une incidence sur les paiements sans contact.
Au Royaume-Uni, l’authentification forte du client peut nécessiter l’insertion de certaines cartes dans un appareil, en fonction de l’émetteur. Dans ce cas, si la carte bancaire n’est pas insérée, le paiement est refusé avant l’apparition de l’écran de code PIN, avec le motif offline_.
Au Canada et en Finlande, de nombreuses cartes utilisent uniquement un code PIN hors ligne, ce qui signifie que la saisie du PIN nécessite un contact physique, comme l’insertion dans un appareil, ce qui n’est pas pris en charge par Tap to Pay.
Dans ce cas, nous vous recommandons de proposer au client d’essayer avec une autre carte ou d’encaisser son paiement d’une autre manière, par exemple, à l’aide d’un lecteur de carte Terminal ou en envoyant un lien de paiement.
Lorsque vous collectez un paiement avec votre appareil mobile, tenez la carte devant le lecteur jusqu’à ce qu’il lise les informations de la puce. Vous devrez peut-être attendre quelques secondes après la vibration qui se produit lorsque la carte entre en contact. En cas de refus de paiement, utilisez une autre méthode, comme un lecteur de cartes Terminal. Il n’est possible d’activer qu’une connexion à un lecteur à la fois.
Expérience utilisateur - PIN
Pour des raisons de sécurité, le clavier PIN n’apparaît pas toujours au centre de l’écran. Il apparaît à un emplacement déterminé de manière aléatoire.

Un clavier PIN décentré est un comportement normal
Bonnes pratiques pour vos actions de promotion et votre branding
Pour offrir une expérience utilisateur optimale, tenez compte des points suivants :
- Connectez-vous au lecteur en arrière-plan au démarrage de l’application pour réduire les temps d’attente lors de l’encaissement d’un paiement.
- Utilisez la reconnexion automatique pour vous reconnecter au lecteur lorsque l’application passe au premier plan afin de réduire les temps d’attente.
- Expliquez à vos marchands comment accepter les paiements sans contact sur un appareil Android compatible, notamment concernant la gestion des promotions intégrées au produit et des alertes par SMS ou par e-mail.
- Lancez et faites la promotion de vos campagnes marketing Tap to Pay sur Android à l’aide de nos modèles de message et de nos ressources de conception. Devenez un partenaire Stripe ici pour accéder à ces ressources sur le portail des partenaires.