# 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](https://docs.stripe.com/no-code/in-person.md). # iPhone > This is a iPhone for when platform is ios. View the full page at https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay?platform=ios. Utilisez Tap to Pay sur iPhone pour accepter les paiements sans contact en personne avec un [iPhone compatible](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay.md?platform=ios#supported-devices). Tap to Pay sur iPhone prend en charge les paiements sans contact des cartes bancaires Visa, Mastercard et American Express, ainsi que les wallets mobiles NFC comme Apple Pay, Google Pay et Samsung Pay, ou encore les [paiements par QR code](https://docs.stripe.com/terminal/payments/additional-payment-methods.md). La saisie du code PIN est également prise en charge. Cette solution est compatible avec Discover aux États-Unis, Interac au Canada et eftpos en Australie. Stripe intègre Tap to Pay sur iPhone dans le SDK Terminal iOS et le SDK Terminal React Native pour accepter les paiements directement depuis votre application iOS. > Pour les plateformes, l’utilisation de Tap to Pay sur iPhone est soumise aux [Conditions d’utilisation de la plateforme d’acceptation Apple](https://stripe.com/legal/apple-acceptance-platform). ### Disponibilité - AT - AU - BE - CA - CH - CZ - DE - DK - ES - FR - GB - IE - IT - NL - NZ - PL - PT - SE - SG - US > Tap to Pay sur iPhone n’est pas disponible à Porto Rico. ### Disponibilité en (version bêta publique) - BG - CY - EE - FI - HR - HU - JP - LI - LT - LU - LV - MT - NO - RO - SI - SK ## Démarrer #### iOS Tap to Pay sur iPhone introduit une option de découverte [SCPDiscoveryMethodTapToPay](https://stripe.dev/stripe-terminal-ios/docs/Enums/SCPDiscoveryMethod.html#/c:@E@SCPDiscoveryMethod@SCPDiscoveryMethodTapToPay) et une méthode [connectReader](https://stripe.dev/stripe-terminal-ios/docs/Classes/SCPTerminal.html#/c:objc\(cs\)SCPTerminal\(im\)connectReader:delegate:connectionConfig:completion:). Intégrez la dernière version du [SDK Terminal iOS](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=ios) afin de bénéficier des derniers correctifs et fonctionnalités. Vous pouvez consulter les mises à jour et correctifs spécifiques à chaque version dans le [journal des modifications du SDK](https://github.com/stripe/stripe-terminal-ios/blob/master/CHANGELOG.md). Les exigences relatives aux appareils et à la version minimale du SDK peuvent changer en raison de la mise à jour des exigences de conformité ou de failles de sécurité. Pour vous assurer que votre solution répond aux exigences de Tap to Pay, veuillez vous abonner à [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). Pour activer Tap to Pay dans votre formulaire d’inscription iOS : 1. [Demander](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc) un droit. 1. [Installer](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=iOS) le SDK iOS Terminal. 1. [Connectez-vous](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=ios&reader-type=tap-to-pay) au lecteur Tap to Pay. 1. [Collecter](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=ios) le paiement avec le lecteur Tap to Pay. ### Fichier de droits et fichier de build Pour utiliser Tap to Pay sur iPhone afin d’accepter des paiements dans votre application, vous devez d’abord [demander et configurer le droit de développement Tap to Pay sur iPhone auprès de votre compte développeur Apple](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc). Une fois les tests internes terminés, vous devez demander un droit de distribution. Après avoir ajouté le fichier de droits de développement à la cible de build de votre application, ajoutez les éléments suivants : | | | | | Clé | `com.apple.developer.proximity-reader.payment.acceptance` | | Type de valeur | `boolean` | | Valeur | `true` ou `1` | La mise en œuvre de Tap to Pay sur iPhone est un processus complexe qui nécessite de soumettre votre application à Apple pour approbation. Pour obtenir des instructions détaillées, vous pouvez télécharger notre guide : [Guide Tap to Pay (PDF)](https://docs.stripecdn.com/fd6123a72c0ea6d22019c125f9a35d855fe859b4e327faeb89a2934091830744.pdf) #### React Native Tap to Pay sur iPhone introduit une option de découverte [tapToPay](https://stripe.dev/stripe-terminal-react-native/api-reference/modules/Reader.IOS.html#DiscoveryMethod) et une méthode [connectReader](https://stripe.dev/stripe-terminal-react-native/api-reference/interfaces/StripeTerminalSdkType.html#connectreader-1). Intégrez la dernière version du [SDK Terminal React Native](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native) afin de bénéficier des derniers correctifs et fonctionnalités. Vous pouvez consulter les mises à jour et correctifs spécifiques à chaque version dans le [journal des modifications du SDK](https://github.com/stripe/stripe-terminal-android/blob/master/CHANGELOG.md). Les exigences relatives aux appareils et à la version minimale du SDK peuvent changer en raison de la mise à jour des exigences de conformité ou de failles de sécurité. Pour vous assurer que votre solution répond aux exigences de Tap to Pay, veuillez vous abonner à [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). Pour activer Tap to Pay dans votre application : 1. [Demander](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc) un droit. 1. [Installer](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native) le SDK iOS Terminal. 1. [Connectez-vous](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=react-native&reader-type=tap-to-pay) au lecteur Tap to Pay. 1. [Collecter](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=react-native) le paiement avec le lecteur Tap to Pay. ### Fichier de droits et fichier de build Pour utiliser Tap to Pay sur iPhone afin d’accepter des paiements dans votre application, vous devez d’abord [demander et configurer le droit de développement Tap to Pay sur iPhone auprès de votre compte développeur Apple](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc). Une fois les tests internes terminés, vous devez demander un droit de distribution. Après avoir ajouté le fichier de droits de développement à la cible de build de votre application, ajoutez les éléments suivants : | | | | | Clé | `com.apple.developer.proximity-reader.payment.acceptance` | | Type de valeur | `boolean` | | Valeur | `true` ou `1` | La mise en œuvre de Tap to Pay sur iPhone est un processus complexe qui nécessite de soumettre votre application à Apple pour approbation. Pour obtenir des instructions détaillées, vous pouvez télécharger notre guide : [Guide Tap to Pay (PDF)](https://docs.stripecdn.com/fd6123a72c0ea6d22019c125f9a35d855fe859b4e327faeb89a2934091830744.pdf) ## Appareils pris en charge Tap to Pay nécessite un iPhone XS (ou une version ultérieure) exécutant une version iOS datant d’un an ou moins. La [documentation d’Apple Business Register](https://register-docs.apple.com/tap-to-pay-on-iphone/docs/sdk-and-api-guide#ios-versions-and-deprecation-management) répertorie les versions d’iOS prises en charge. Conseillez à vos utilisateurs d’installer la dernière version d’iOS pour de meilleures performances. > Tap to Pay ne fonctionnera pas sur les versions bêta d’iOS. ## 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](https://support.stripe.com/questions/what-are-the-regional-contactless-limits-for-stripe-terminal-transactions) peuvent exiger des méthodes de vérification supplémentaire du titulaire de la carte, comme la saisie d’un code PIN. Tap to Pay sur iPhone prend en charge la saisie du code PIN avec les appareils fonctionnant sous iOS 16.4 ou une version ultérieure. 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_pin_required`. 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](https://docs.stripe.com/payment-links.md). 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. Pour tester la saisie du code PIN sur les marchés où le code PIN est accepté, utilisez des [cartes de test physiques](https://docs.stripe.com/terminal/references/testing.md#physical-test-cards) avec des montants se terminant par ,03. Sur les marchés où le code PIN n’est pas accepté, une transaction se terminant par ,03 renvoie un code d’erreur `online_or_offline_pin_required` après la présentation de la carte, au lieu de permettre à l’utilisateur de tester la saisie du code PIN. ## Bonnes pratiques pour vos actions de promotion et votre branding Veuillez suivre les [recommandations pour les interfaces utilisateurs](https://developer.apple.com/design/human-interface-guidelines/technologies/tap-to-pay-on-iphone/) pour Tap to Pay sur iPhone afin de garantir une expérience utilisateur optimale et un processus de révision réussi auprès d’Apple. Prenez en compte les éléments 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](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=ios&reader-type=tap-to-pay#automatically-attempt-reconnection) pour vous reconnecter au lecteur lorsque l’application passe au premier plan afin de réduire les temps d’attente. - Expliquez à vos commerçants comment accepter les paiements sans contact sur un iPhone compatible, notamment concernant la gestion des promotions intégrées au produit et des alertes par SMS ou par e-mail. Consultez les [conseils marketing pour développeurs](https://developer.apple.com/tap-to-pay/marketing-guidelines/) d’Apple. Avec iOS 18, vous pouvez utiliser l’[API ProximityReaderDiscovery](https://developer.apple.com/documentation/proximityreader/proximityreaderdiscovery) d’Apple pour fournir une éducation marchande pour Tap to Pay sur iPhone avec quelques lignes de code. Apple s’assure que le contenu est à jour et localisé pour la région de votre entreprise. - Lancez et faites la promotion de votre campagne marketing Tap to Pay sur iPhone en utilisant nos modèles de messages et ressources graphiques conformément aux [directives de marque d’Apple](https://developer.apple.com/tap-to-pay/marketing-guidelines/#editorial-guidelines). Devenez un [partenaire Stripe](https://stripe.com/partners/become-a-partner) pour accéder à ces ressources dans le [portail des partenaires](https://portal.stripe.partners/s). # Android > This is a Android for when platform is android. View the full page at https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay?platform=android. Utilisez Tap to Pay sur Android pour accepter des paiements sans contact en personne avec des [appareils Android compatibles NFC](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay.md?platform=android#supported-devices). Tap to Pay sur Android prend en charge les cartes sans contact Visa, Mastercard, American Express et Discover, les wallets mobiles NFC (Apple Pay, Google Pay et Samsung Pay) et [les moyens de paiement QR](https://docs.stripe.com/terminal/payments/additional-payment-methods.md). La saisie du code PIN est prise en charge. En outre, eftpos est pris en charge en Australie, Interac est en version bêta publique au Canada et Cartes Bancaires est en version bêta publique en France. 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é - AT - AU - BE - CH - DE - DK - FI - FR - GB - IE - IT - MY - NL - NZ - PL - SE - SG - US ### Disponibilité en (version bêta publique) - BG - CA - CY - CZ - EE - ES - GI - HR - HU - LI - LT - LU - LV - MT - NO - PT - RO - SI - SK ## Démarrer #### Android Intégrez la dernière version du [SDK Terminal Android](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=android) pour inclure les dernières corrections de bogues et fonctionnalités. Vous pouvez afficher les mises à jour spécifiques à la version et les corrections de bogues dans le [changelog du SDK](https://github.com/stripe/stripe-terminal-android/blob/master/CHANGELOG.md). Les exigences relatives aux appareils et à la version minimale du SDK peuvent changer en raison de la mise à jour des exigences de conformité ou de failles de sécurité. Pour vous assurer que votre solution répond aux exigences de Tap to Pay, veuillez vous abonner à [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). Pour activer Tap to Pay sur votre application Android : 1. [Configurez](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=android) le SDK Android Terminal. 1. Remplacez vos dépendances `stripeterminal` existantes par les dépendances suivantes : #### Kotlin ```kotlin dependencies { implementation("com.stripe:stripeterminal-taptopay:5.3.0") implementation("com.stripe:stripeterminal-core:5.3.0") // ... } ``` 1. [Connectez-vous](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=android&reader-type=tap-to-pay) au lecteur Tap to Pay. 1. [Collecter](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=android) le paiement avec le lecteur Tap to Pay. #### React Native Intégrez la dernière version du [SDK Terminal React Native](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native) pour inclure les derniers correctifs et les dernières fonctionnalités. Les exigences relatives aux appareils et à la version minimale du SDK peuvent changer en raison de la mise à jour des exigences de conformité ou des failles de sécurité. Pour vous assurer que votre solution est à jour avec les exigences Tap to Pay, abonnez-vous à [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). Pour activer Tap to Pay dans votre application : 1. [Configurez](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native) le SDK Terminal React Native. 1. [Connectez-vous](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=react-native&reader-type=tap-to-pay) au lecteur Tap to Pay. 1. [Collecter](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=react-native) le paiement avec le lecteur Tap to Pay. ## 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 - A installé une mise à jour de sécurité durant les 12 derniers mois - 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_HARDWARE_KEYSTORE`](https://developer.android.com/reference/android/content/pm/PackageManager#FEATURE_HARDWARE_KEYSTORE) version doit être 100 ou ultérieure) - Une connexion Internet stable - Exécute le système d’exploitation non modifié fourni par le fabricant - Les options Développeur sont désactivées > 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](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | D3 MINI, V3 MIX | | Portatif | Honeywell | CT32, CT37 | | iMin | Lark 1 | | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | L3, V3 | | Zebra | TC53E | | S’inscrire | iMin | Falcon 2 | | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | T3, T3 PRO | | Tablette | HMD Global | HMD T21 | | Samsung Galaxy | Onglet Active5 | | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | CPad | | Oukitel | RT3 Plus | | Ulefone | Armor Pad 4 Ultra | 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 | ROG Phone 7 series, ROG Phone 8 series, ROG Phone 9, Zenfone 10, Zenfone 11 Ultra, Zenfone 12 Ultra, Zenfone 9 | | Google | Pixel 10, Pixel 10 Pro, Pixel 10 Pro Fold, Pixel 10 Pro XL, Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel 8, Pixel 8 Pro, Pixel 8a, Pixel 9, Pixel 9 Pro, Pixel 9 Pro Fold, Pixel 9 Pro XL, Pixel 9a, Pixel Fold | | Honor | 100, 200, 200 Lite, 200 Pro, 200 Smart, 400, 400 Lite, 400 Pro, 400 Smart, 90, 90 Lite, 90 Smart, Magic V2, Magic V3, Magic V5, Magic Vs, Magic4 Pro, Magic5 Pro, Magic6, Magic6 Lite 5G, Magic6 Pro, Magic7 Lite, Magic7 Pro, Magic8 Lite, Magic8 pro, X5c Plus, X6, X6a, X6b, X6c, X7b, X7b 5G, X7c 5G, X7d, X8a, X8b, X9b 5G, X9c, X9c Smart, X9d | | Infinix | GT 20 Pro, GT 30, GT 30 Pro, HOT 40 Pro, HOT 40i, HOT 50 5G, HOT 50 Pro, HOT 50 Pro+, HOT 60 5G, HOT 60 Pro, HOT 60 Pro+, HOT 60i, NOTE 30, NOTE 30 Pro, NOTE 40, NOTE 40 5G, NOTE 40 Pro, NOTE 40 Pro 5G, NOTE 40 Pro+ 5G, NOTE 50, NOTE 50 Pro, NOTE 50 Pro+ 5G, NOTE 50S 5G, SMART 10 PLUS, ZERO 30, ZERO 40 | | Motorola | ThinkPhone 25 by motorola, ThinkPhone by Motorola, edge (2022), edge 2023, edge 2024, edge 2025, edge 30 ultra, edge 40, edge 40 neo, edge 40 pro, edge 50, edge 50 fusion, edge 50 neo, edge 50 pro, edge 50 ultra, edge 60, edge 60 fusion, edge 60 neo, edge 60 pro, edge 60 stylus, edge 70, edge plus (2022), edge plus 2023, edge plus 5G UW (2022), moto g - 2025, moto g play - 2024, moto g power - 2025, moto g power 5G - 2024, moto g stylus 5G - 2023, moto g stylus 5G - 2024, moto g stylus 5G - 2025, moto g04, moto g04s, moto g05, moto g06, moto g06 power, moto g14, moto g15, moto g35 5G, moto g54 5G, moto g55 5G, moto g56 5G, moto g57 power, moto g64 5G, moto g64y 5G, moto g66j 5G, moto g67 power 5G, moto g72, moto g73 5G, moto g75 5G, moto g85 5G, moto g86 5G, moto g86 power 5G, moto g96 5G, razr 2022, razr 2023, razr 2024, razr 2025, razr 40, razr 40 ultra, razr 50, razr 50 ultra, razr 60, razr 60 ultra, razr plus 2023, razr plus 2024, razr plus 2025, razr ultra 2025 | | OnePlus | 10 Pro, 10 Pro 5G, 10R 5G, 10T 5G, 11 5G, 11R 5G, 12, 12R, 13, 13R, 13T, 13s, 15, Ace 5, Ace 6, Nord 3 5G, Nord 4, Nord 5, Nord CE4 Lite 5G, Nord CE5, Nord N30 SE 5G, Oneplus Ace 2 Pro, Open | | Oppo | A3, A3 Pro 5G/A3 5G/A80 5G, A38, A40/A3/A40m, A40/A40m, A5 5G, A5 Pro, A5 Pro 5G, A5/A5m, A58, A5x, A60, A60 5G, A78, A78 5G, A79 5G, A80 5G, F25 Pro 5G, Find N2 Flip, Find N3, Find N3 Flip, Find N5, Find X5 Pro, Find X6, Find X6 Pro, Find X7 Ultra, Find X8, Find X8 Pro, Find X9, Find X9 Pro, OPPO A38, OPPO A6 Pro 5G, OPPO A60 5G/ A3 5G, OPPO F31 5G, OPPO Reno8 Pro 5G, OPPO Reno8 T, Reno 11, Reno 11 Pro, Reno10 5G, Reno10 Pro+ 5G, Reno11 F 5G, Reno11 F 5G/Reno11 A, Reno12 5G, Reno12 F, Reno12 F 5G, Reno12 F/FS 5G, Reno12 Pro, Reno12 Pro 5G, Reno13 5G, Reno13 F 5G, Reno13 F 5G / Reno13 A, Reno13 Pro 5G, Reno14 5G, Reno14 F 5G, Reno14 F 5G/Reno14 FS 5G, Reno14 Pro 5G, realme C51 | | Redmi | 12 5G, 13C 5G, 15, 15 5G, 15C 5G, K50, K60 Pro, K60 Ultra, K70, Note 12, Note 12 Turbo, Note 13, Note 13 5G, Note 13 Pro, Note 13 Pro 5G, Note 13 Pro+ 5G, Note 14, Note 14 5G, Note 14 Pro, Note 14 Pro 5G, Note 14 Pro+, Note 14 Pro+ 5G, Turbo 3 | | Samsung Galaxy | A04s, A05s, A13, A14, A14 5G, A15, A15 5G, A16, A16 5G, A17, A17 5G, A23 5G, A24, A25 5G, A26 5G, A33 5G, A34 5G, A35 5G, A36 5G, A53 5G, A53 5G UW, A54 5G, A55 5G, A56 5G, F34 5G, F54 5G, Flip7 FE, M13, M14 5G, M15 5G, M33 5G, M34 5G, M35 5G, M36 5G, M53 5G, M56 5G, S22, S22 Ultra, S22+, S23, S23 FE, S23 Ultra, S23+, S24, S24 FE, S24 Ultra, S24+, S25, S25 Edge, S25 FE, S25 Ultra, S25+, Tab Active5, Tab Active5 5G, Tab Active5 Pro, Tab Active5 Pro 5G, Wide8, XCover7, XCover7 Pro, Z Flip4, Z Flip5, Z Flip6, Z Flip7, Z Fold4, Z Fold5, Z Fold6, Z Fold7 | | Xiaomi | 12, 12 Pro, 12T, 12T Pro, 13, 13 Lite, 13 Pro, 13 Ultra, 13T, 13T Pro, 14, 14 Pro, 14 Ultra, 14T, 14T Pro, 15, 15 Ultra, 17 Pro Max, MIX Fold 3, MIX Fold 4 | ## 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](https://docs.stripe.com/terminal/payments/collect-card-payment.md#process-payment), 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 : ![Exemple d’écran tactile générique](https://b.stripecdn.com/docs-statics-srv/assets/ttp-android-default.0b6b2b49177a7562930ded27f6f8c048.gif) Écran tactile générique ![Exemple d’écran tactile spécifique à un appareil](https://b.stripecdn.com/docs-statics-srv/assets/ttp-android-device-specific.99f854b663b4891265747d47fa131f11.gif) Écran tactile spécifique à l’appareil ### Configuration de l’expérience utilisateur #### Android - [TapToPayUxConfiguration (Android)](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.models/-tap-to-pay-ux-configuration/index.html) Vous pouvez remplacer l’écran tactile par défaut à l’aide du SDK Android Terminal, y compris les couleurs de la zone tactile, le message d’erreur, l’animation de réussite et la position de l’indicateur de zone tactile. Appelez cette méthode pendant votre processus d’initialisation ou de connexion du lecteur. Vous pouvez invoquer cette fonction plusieurs fois si vous devez ajuster l’apparence de l’écran tactile pendant la durée de vie de votre application. Cette méthode n’affecte que l’apparence de l’écran tactile, elle n’a aucun impact sur l’écran de saisie du code PIN ou l’invite de paiement simulée. #### Kotlin ```kotlin val config = TapToPayUxConfiguration.Builder() .tapZone( TapToPayUxConfiguration.TapZone.Front(0.5f, 0.3f) ) .colors( TapToPayUxConfiguration.ColorScheme.Builder() .primary(TapToPayUxConfiguration.Color.Value(Color.parseColor("#FF008686"))) .success(TapToPayUxConfiguration.Color.Default) .error(TapToPayUxConfiguration.Color.Resource(android.R.color.holo_red_dark)) .build() ) .darkMode( TapToPayUxConfiguration.DarkMode.DARK ) .build() Terminal.getInstance().setTapToPayUxConfiguration(config) ``` #### React Native - [TapToPayUxConfiguration (React Native)](https://stripe.dev/stripe-terminal-react-native/api-reference/types/TapToPayUxConfiguration.html) Vous pouvez remplacer l’écran tactile par défaut à l’aide du SDK Terminal React Native, y compris les couleurs de la zone tactile, le message d’erreur, l’animation de réussite et la position de l’indicateur de zone tactile. Appelez cette méthode pendant votre processus d’initialisation ou de connexion du lecteur. Vous pouvez invoquer cette fonction plusieurs fois si vous devez ajuster l’apparence de l’écran tactile pendant la durée de vie de votre application. Cette méthode n’affecte que l’apparence de l’écran tactile, elle n’a aucun impact sur l’écran de saisie du code PIN ou l’invite de paiement simulée. ```js import { useStripeTerminal, TapZoneIndicator, DarkMode, } from '@stripe/stripe-terminal-react-native'; const { setTapToPayUxConfiguration } = useStripeTerminal(); const callSetTapToPayUxConfiguration = async () => { let tapZoneIndicator = TapZoneIndicator.FRONT; let tapZonePosition = { xBias: 0.5, yBias: 0.3, }; let tapZone = { tapZoneIndicator: tapZoneIndicator, tapZonePosition: tapZonePosition, }; let darkMode = DarkMode.DARK; let colors = { primary: '#FF008686', error: '#FFCC0000', }; let config = { tapZone: tapZone, darkMode: darkMode, colors: colors, }; const { error } = await setTapToPayUxConfiguration(config); if (error) { console.log('setTapToPayUxConfiguration error', error); return; } console.log('setTapToPayUxConfiguration success'); }; ``` ## 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](https://support.stripe.com/questions/what-are-the-regional-contactless-limits-for-stripe-terminal-transactions) 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](https://github.com/stripe/stripe-terminal-android/releases/tag/v4.3.0), ou une version supérieure. Le code PIN est collecté dans deux scénarios : 1. Le montant de la transaction est supérieur à la [limite de la méthode de vérification du titulaire de la carte (CVM)](https://support.stripe.com/questions/what-are-the-regional-contactless-limits-for-stripe-terminal-transactions). Dans ce cas, le code PIN est collecté avant le retour de [collectPaymentMethod](https://stripe.dev/stripe-terminal-android/core/com.stripe.stripeterminal/-terminal/collect-payment-method.html). Le flux revient à votre application après la saisie du code PIN ou l’annulation de l’entrée du code PIN. ![Flux de code PIN local avec Tap to Pay sur Android](https://b.stripecdn.com/docs-statics-srv/assets/ttpa-local-pin-flow.7335429a2eb1b9e6be1149d416ac2058.png) 1. L’émetteur fait une [requête d’authentification forte du client (SCA)](https://stripe.com/guides/strong-customer-authentication). Dans ce cas, le code PIN est collecté pendant [confirmPaymentIntent](https://stripe.dev/stripe-terminal-android/core/com.stripe.stripeterminal/-terminal/confirm-payment-intent.html). 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. ![Flux de code PIN et SCA avec Tap to Pay sur Android](https://b.stripecdn.com/docs-statics-srv/assets/ttpa-sca-pin-flow.4b0ab1725cef842b07660da1d762416f.png) ### Gestion des erreurs de code PIN Vous ne pouvez collecter un code PIN que dans les conditions suivantes : - Les [options pour les développeurs](https://developer.android.com/studio/debug/dev-options) sont désactivées. - Il n’y a pas de [services d’accessibilité](https://developer.android.com/guide/topics/ui/accessibility/service) inscrits ou en cours d’exécution. - Il n’y a pas d’[enregistrement d’écran](https://support.google.com/android/answer/9075928) en cours. - Il n’y a pas de [fenêtres de superposition à l’écran](https://developer.android.com/privacy-and-security/risks/tapjacking) - 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_TO_PAY_INSECURE_ENVIRONMENT` 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_pin_required`. 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](https://docs.stripe.com/payment-links.md). 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. ![Écran de collecte du code PIN avec Tap to Pay sur Android](https://b.stripecdn.com/docs-statics-srv/assets/ttpa-pin-screen.ceb66e1d9695de8ca517e39265a2be10.png) 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](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=android&reader-type=tap-to-pay#automatically-attempt-reconnection) 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 en utilisant nos modèles de message et ressources graphiques. Devenez un [partenaire de Stripe](https://stripe.com/partners/become-a-partner) pour accéder à ces ressources dans le [portail des partenaires](https://portal.stripe.partners/s/login/?language=en_US&ec=302&startURL=%2Fs%2F). ## Prochaines étapes - [Configuration de l’intégration](https://docs.stripe.com/terminal/payments/setup-integration.md)