# Tap to Pay Descubre cómo aceptar pagos sin contacto en un dispositivo iPhone o Android compatible. ¿Buscas una solución sin programación? [Acepta pagos desde la aplicación móvil del Dashboard de Stripe](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. Usa Tap to Pay en iPhone para aceptar pagos sin contacto en persona con un [iPhone compatible](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay.md?platform=ios#supported-devices). Tap to Pay en iPhone es compatible con tarjetas sin contacto Visa, Mastercard, American Express, monederos móviles establecidos en NFC (Apple Pay, Google Pay y Samsung Pay) y [métodos de pago](https://docs.stripe.com/terminal/payments/additional-payment-methods.md) con QR. Es compatible con la introducción de PIN. Además, es compatible con eftpos en EE. UU., Interac está en versión beta pública en Canadá y Cartes Bancaires está en Australia. Stripe incluye Tap to Pay en iPhone en el SDK de Terminal iOS y el SDK de Terminal React Native, y permite pagos directamente en tu aplicación móvil iOS. > Para las plataformas, el uso de Tap to Pay en iPhone está sujeto a los [Términos y condiciones del usuario de la plataforma de aceptación de Apple](https://stripe.com/legal/apple-acceptance-platform). ### Disponibilidad - AT - AU - BE - CA - CH - CZ - DE - DK - ES - FR - GB - IE - IT - NL - NZ - PL - PT - SE - SG - US > Tap to Pay en iPhone no está disponible en Puerto Rico. ### Disponibilidad en (Public preview) - BG - CY - EE - FI - HR - HU - JP - LI - LT - LU - LV - MT - NO - RO - SI - SK ## Empezar #### iOS Tap to Pay en iPhone introduce una opción de detección [SCPDiscoveryMethodTapToPay](https://stripe.dev/stripe-terminal-ios/docs/Enums/SCPDiscoveryMethod.html#/c:@E@SCPDiscoveryMethod@SCPDiscoveryMethodTapToPay) y un método [connectReader](https://stripe.dev/stripe-terminal-ios/docs/Classes/SCPTerminal.html#/c:objc(cs) SCPTerminal(im)connectReader:delegate:connectionConfig:completion:). Integra la última versión del [SDK de Terminal para iOS](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=ios) para incluir las últimas correcciones de errores y funciones. Puedes ver las actualizaciones específicas de cada versión y las correcciones de errores en el [registro de cambios del SDK](https://github.com/stripe/stripe-terminal-ios/blob/master/CHANGELOG.md). Los requisitos del dispositivo y de la versión mínima del SDK pueden cambiar debido a requisitos de cumplimiento de la normativa actualizados o a vulnerabilidades de seguridad. Para asegurarte de que tu solución está actualizada con los requisitos de Tap to Pay, suscríbete a [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). Para habilitar Tap to Pay en tu aplicación iOS: 1. [Solicitar](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc) un derecho. 1. [Configurar](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=iOS) el SDK de Terminal para iOS. 1. [Conectarse](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=ios&reader-type=tap-to-pay) al lector Tap to Pay. 1. [Cobra](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=ios) el pago con el lector Tap to Pay. ### Derechos y archivo de compilación Para utilizar Tap to Pay en iPhone para aceptar pagos en tu solicitud de acceso, primero debes [petición y configuración del derecho de desarrollo Tap to Pay en iPhone desde tu cuenta desarrolladora Apple](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc). Después de completar las pruebas internas, debes petición del derecho de distribución. Después de añadir el archivo de derechos de desarrollo al objetivo de compilación de la aplicación, añade lo siguiente: | | | | | Clave | `com.apple.developer.proximity-reader.payment.acceptance` | | Tipo de valor | `boolean` | | Valor | `true` o `1` | Implementar Tap to Pay en iPhone es un proceso complejo que requiere enviar tu aplicación a Apple para su aprobación. Para obtener instrucciones detalladas, puedes descargar nuestra guía: [ Guía Tap to Pay (PDF)](https://docs.stripecdn.com/fd6123a72c0ea6d22019c125f9a35d855fe859b4e327faeb89a2934091830744.pdf) #### React Native Tap to Pay en iPhone introduce una opción de detección [tapToPay](https://stripe.dev/stripe-terminal-react-native/api-reference/modules/Reader.IOS.html#DiscoveryMethod) y un método [connectReader](https://stripe.dev/stripe-terminal-react-native/api-reference/interfaces/StripeTerminalSdkType.html#connectreader-1). Integra la última versión del [SDK de Terminal React Native](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native) para incluir las últimas correcciones de errores y funciones. Puedes ver las actualizaciones específicas de cada versión y las correcciones de errores en el [registro de cambios del SDK](https://github.com/stripe/stripe-terminal-android/blob/master/CHANGELOG.md). Los requisitos del dispositivo y de la versión mínima del SDK pueden cambiar debido a requisitos de cumplimiento de la normativa actualizados o a vulnerabilidades de seguridad. Para asegurarte de que tu solución está actualizada con los requisitos de Tap to Pay, suscríbete a [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). Para activar Tap to Pay en tu aplicación: 1. [Solicitar](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc) un derecho. 1. [Configurar](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native) el SDK de Terminal para iOS. 1. [Conéctate](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=react-native&reader-type=tap-to-pay) al lector de Tap to Pay. 1. [Cobra](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=react-native) el pago con el lector Tap to Pay. ### Derechos y archivo de compilación Para utilizar Tap to Pay en iPhone para aceptar pagos en tu solicitud de acceso, primero debes [petición y configuración del derecho de desarrollo Tap to Pay en iPhone desde tu cuenta desarrolladora Apple](https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc). Después de completar las pruebas internas, debes petición del derecho de distribución. Después de añadir el archivo de derechos de desarrollo al objetivo de compilación de la aplicación, añade lo siguiente: | | | | | Clave | `com.apple.developer.proximity-reader.payment.acceptance` | | Tipo de valor | `boolean` | | Valor | `true` o `1` | Implementar Tap to Pay en iPhone es un proceso complejo que requiere enviar tu aplicación a Apple para su aprobación. Para obtener instrucciones detalladas, puedes descargar nuestra guía: [ Guía Tap to Pay (PDF)](https://docs.stripecdn.com/fd6123a72c0ea6d22019c125f9a35d855fe859b4e327faeb89a2934091830744.pdf) ## Dispositivos aceptados Tap to Pay requiere un iPhone XS o posterior con una versión de iOS de un año o posterior. La [documentación del Registro Mercantil de Apple](https://register-docs.apple.com/tap-to-pay-on-iphone/docs/sdk-and-api-guide#ios-versions-and-deprecation-management) enumera las versiones de iOS compatibles. Recomienda a tus usuarios que actualicen a la última versión de iOS para obtener el mejor rendimiento. > Tap to Pay no funciona en las versiones beta de iOS. ## Límites y alternativa de verificación del titular de la tarjeta Algunas transacciones con tarjetas sin contacto por encima de [ciertos importes](https://support.stripe.com/questions/what-are-the-regional-contactless-limits-for-stripe-terminal-transactions) pueden requerir métodos de verificación (CVM) del titular de la tarjeta adicionales, como la entrada de un PIN. Tap to Pay en iPhone admite la entrada de PIN para dispositivos con iOS 16.4 o posterior. Los pagos con monedero NFC (Apple Pay, Google Pay y Samsung Pay) no suelen requerir PIN. Sin embargo, en Reino Unido, Canadá y Finlandia, los requisitos regionales y las políticas de los emisores de tarjetas pueden afectar a los pagos sin contacto. En el Reino Unido, según el emisor, la autenticación reforzada de clientes puede requerir que se inserten algunas tarjetas en un dispositivo. En estos casos, si la tarjeta no está insertada, el pago se rechaza antes de que aparezca la pantalla del PIN, con el motivo `offline_pin_required`. En Canadá y Finlandia, muchas de las tarjetas emitidas solo tienen PIN fuera de línea, lo que significa que para introducir el PIN se requiere contacto físico, como la inserción en un dispositivo, algo que no es compatible con Tap to Pay. En estas situaciones, recomendamos pedir al cliente que pruebe con otra tarjeta o cobrar el pago de otra forma. Por ejemplo, usando un lector de tarjetas Terminal o enviando un [enlace de pago](https://docs.stripe.com/payment-links.md). Al cobrar con tu dispositivo móvil, mantén la tarjeta junto al lector hasta que lea la información del chip. Es posible que tengas que esperar unos segundos después de la vibración inicial cuando la tarjeta haga contacto. En caso de rechazo, utiliza otro método para cobrar el pago, como un lector de tarjetas de Terminal. Solo puedes tener una conexión activa a un lector a la vez. Para probar la entrada de PIN en mercados donde se acepta el PIN, utiliza [tarjetas de prueba físicas](https://docs.stripe.com/terminal/references/testing.md#physical-test-cards) con importes que acaben en 0,03. En los mercados en los que no se acepta el PIN, una transacción que termina en 0,03 devuelve un código de error `online_or_offline_pin_required` después de acercar la tarjeta, en lugar de permitir que el usuario pruebe la introducción del PIN. ## Prácticas recomendadas y directrices de la promoción Sigue las [Directrices de interfaz humana](https://developer.apple.com/design/human-interface-guidelines/technologies/tap-to-pay-on-iphone/) para Tap to Pay en iPhone para garantizar una experiencia de usuario óptima y un proceso de revisión satisfactorio con Apple. Ten en cuenta lo siguiente: - Conéctate al lector en segundo plano al iniciar la aplicación para reducir los tiempos de espera al cobrar un pago. - Usa la [reconexión automática](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=ios&reader-type=tap-to-pay#automatically-attempt-reconnection) para volver a conectarte al lector cuando la aplicación aparezca en primer plano y así reducir los tiempos de espera. - Proporciona formación a los comerciantes para explicar a tus usuarios cómo aceptar pagos sin contacto en un iPhone compatible, incluyendo promociones en el producto y alertas por SMS o correo electrónico. Consulta la [guía de marketing para desarrolladores](https://developer.apple.com/tap-to-pay/marketing-guidelines/) de Apple. Con iOS 18, puedes utilizar la [API ProximityReaderDiscovery](https://developer.apple.com/documentation/proximityreader/proximityreaderdiscovery) de Apple para proporcionar formación a los comerciantes sobre Tap to Pay en iPhone con unas pocas líneas de código. Apple se asegura de que el contenido esté actualizado y localizado para la región de tu empresa. - Lanza y promociona tus campañas de marketing de Tap to Pay en iPhone utilizando nuestras plantillas de mensajes y recursos de diseño siguiendo las [directrices de marca de Apple](https://developer.apple.com/tap-to-pay/marketing-guidelines/#editorial-guidelines). Hazte [socio de Stripe](https://stripe.com/partners/become-a-partner) para acceder a estos recursos en el [portal de socios](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. Usa Tap to Pay en Android para aceptar pagos sin contacto en persona con [dispositivos Android compatibles equipados con NFC](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay.md?platform=android#supported-devices). Tap to Pay en Android es compatible con tarjetas sin contacto Visa, Mastercard, American Express y Discover, monederos móviles basados en NFC (Apple Pay, Google Pay y Samsung Pay) y [métodos de pago con QR](https://docs.stripe.com/terminal/payments/additional-payment-methods.md). Es compatible con la introducción de PIN. Además, es compatible con eftpos en Australia, Interac está en versión beta pública en Canadá y Cartes Bancaires está en versión beta pública en Francia. Stripe incluye Tap to Pay en Android en el SDK de Terminal para Android y el SDK de Terminal React Native, y permite realizar pagos directamente en tus aplicaciones móviles para Android. ### Disponibilidad - AT - AU - BE - CH - DE - DK - FI - FR - GB - IE - IT - MY - NL - NZ - PL - SE - SG - US ### Disponibilidad en (Public preview) - BG - CA - CY - CZ - EE - ES - GI - HR - HU - LI - LT - LU - LV - MT - NO - PT - RO - SI - SK ## Empezar #### Android Integra la última versión del [SDK de Terminal para Android](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=android) para incluir las últimas correcciones de errores y funciones. Puedes ver las actualizaciones y correcciones de errores específicas de cada versión en el [registro de cambios](https://github.com/stripe/stripe-terminal-android/blob/master/CHANGELOG.md) del SDK. Los requisitos del dispositivo y de la versión mínima del SDK pueden cambiar debido a requisitos de cumplimiento de la normativa actualizados o a vulnerabilidades de seguridad. Para asegurarte de que tu solución está actualizada con los requisitos de Tap to Pay, suscríbete a [terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). Para activar Tap to Pay en tu aplicación de Android, haz lo siguiente: 1. [Configura](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=android) el SDK de Android de Terminal. 1. Reemplaza tus dependencias existentes de `stripeterminal` por las siguientes: #### Kotlin ```kotlin dependencies { implementation("com.stripe:stripeterminal-taptopay:5.4.0") implementation("com.stripe:stripeterminal-core:5.4.0") // ... } ``` 1. [Conéctate](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=android&reader-type=tap-to-pay) al lector de Tap to Pay. 1. [Cobra](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=android) el pago con el lector Tap to Pay. #### React Native Integra la última versión del [SDK para React Native de Terminal](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native) para incluir las últimas correcciones de errores y funciones. Los requisitos de versión mínima de dispositivos y SDK pueden cambiar debido a la actualización de los requisitos de cumplimiento de la normativa o a vulnerabilidades de seguridad. Para asegurarte de que tu solución cumple con los requisitos de Tap to Pay, suscríbete a[terminal-announce@lists.stripe.com](https://groups.google.com/a/lists.stripe.com/g/terminal-announce). Para habilitar Tap to Pay en tu aplicación: 1. [Configura](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native) el SDK para React Native de Terminal. 1. [Conéctate](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=react-native&reader-type=tap-to-pay) al lector de Tap to Pay. 1. [Cobra](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=react-native) el pago con el lector Tap to Pay. ## Dispositivos aceptados Tap to Pay en Android funciona con una variedad de dispositivos Android, como teléfonos móviles, quioscos, tabletas, dispositivos portátiles, etc. Solo puedes detectar y conectarte a dispositivos que cumplan todos los siguientes criterios: - Tiene un sensor NFC integrado en funcionamiento y un procesador basado en ARM - No está rooteado y el cargador de arranque del dispositivo está bloqueado y permanece sin cambios - Funciona con Android 13 o posterior - Tienes una actualización de seguridad instalada de los últimos 12 meses - Utiliza los servicios móviles de Google y tiene instalada la aplicación Google Play Store - Tiene un almacén de claves con soporte de hardware para ECDH (la versión de [`FEATURE_HARDWARE_KEYSTORE`](https://developer.android.com/reference/android/content/pm/PackageManager#FEATURE_HARDWARE_KEYSTORE) debe ser 100 o posterior). - Una conexión estable a Internet - Ejecuta el sistema operativo no modificado proporcionado por el fabricante - Tienes deshabilitadas las opciones de desarrollador > Tap to Pay no funciona en las versiones beta de Android. Los emuladores de dispositivos Android no son compatibles con Tap to Pay. Los mismos requisitos del dispositivo se aplican en el lector simulado y en producción para ofrecer a los desarrolladores la experiencia más realista durante las pruebas. ### Tipos de dispositivos Los tipos de dispositivos admitidos incluyen, entre otros: | Tipo de dispositivo | Fabricante | Modelos | | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------ | | Sobremesa | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | D3 MINI, V3 MIX | | Portátil | Honeywell | CT32, CT37 | | iMin | Lark 1Alondra 1 | | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | L3, V3 | | Zebra | TC53E | | Kiosk | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | Flex 3 with Qualcomm 6225 chip | | Regístrate | iMin | Falcon 2 | | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | T3, T3 PRO | | Tableta | HMD Global | HMD T21 | | Samsung Galaxy | Tab Active5 | | [Sunmi](https://partner.posportal.com/stripe/stripe/catalog/category/view/id/11/) | CPad | | Oukitel | RT3 Plus | | Ulefone | Armor Pad 4 Ultra | Algunos fabricantes producen dispositivos certificados GMS y no GMS. Si utilizas un dispositivo no certificado por GMS, recibirás un mensaje de error que indica `ATTESTATION_FAILURE: Device is not Google Mobile Services (GMS) certified` al intentar conectar el dispositivo. Si esto ocurre, contacta con el fabricante para solucionar el problema. ### Teléfonos móviles Los teléfonos móviles compatibles incluyen, entre otros: | Fabricante | Modelos | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Asus | Serie ROG Phone 7, serie ROG Phone 8, 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 | ## Interfaz de usuario Tap to Pay en Android incluye pantallas de cobro de pagos. Cuando la aplicación está lista para cobrar un pago, el SDK de Stripe Terminal se hace cargo de la pantalla para gestionar el proceso de cobro. Después de llamar al método de [pago del proceso](https://docs.stripe.com/terminal/payments/collect-card-payment.md#process-payment), tu aplicación sigue ejecutándose, pero Tap to Pay muestra un mensaje de pantalla completa al titular de la tarjeta, indicándole que toque su tarjeta o monedero móvil basado en NFC. Si hay un error al leer la tarjeta, se muestra un mensaje para volver a intentarlo. Un toque exitoso devuelve una indicación de éxito y, a continuación, el control vuelve a tu aplicación. ### Zona de contacto NFC específica del dispositivo Siempre que sea posible, el SDK de Tap to Pay en Android desplaza automáticamente el indicador de la zona de toque para ayudar al cliente final a identificar dónde se encuentra dicha zona en el dispositivo: ![](https://d37ugbyn3rpeym.cloudfront.net/videos/terminal/ttpa-onscreen-demo-1.mp4)![](https://d37ugbyn3rpeym.cloudfront.net/videos/terminal/ttpa-onscreen-demo-2.mp4) Si el SDK no puede determinar automáticamente la posición de la zona de toque (por ejemplo, cuando esta se encuentra fuera de la pantalla), se utiliza una variante predeterminada: ![](https://d37ugbyn3rpeym.cloudfront.net/videos/terminal/ttpa-default-demo.mp4) ### Configuración de experiencia del usuario - [TapToPayUxConfiguration (Android)](https://stripe.dev/stripe-terminal-android/external/com.stripe.stripeterminal.external.models/-tap-to-pay-ux-configuration/index.html) - [TapToPayUxConfiguration (React Native)](https://stripe.dev/stripe-terminal-react-native/api-reference/types/TapToPayUxConfiguration.html) Puedes anular la pantalla de pagos predeterminada mediante el SDK de Terminal, incluyendo los colores de la interfaz de usuario de pago, la interfaz de usuario de error, la interfaz de usuario de éxito y la posición del indicador de la zona de pago. Llama a este método durante el proceso de inicialización o de conexión del lector. Puedes invocar esta función varias veces si necesitas ajustar el aspecto de la pantalla de pagos mientras la aplicación esté en funcionamiento. Este método solo afecta al aspecto de la pantalla de pago; no tiene ningún impacto en la pantalla de introducción del PIN ni en la solicitud de pagos simulada. #### Android #### 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 ```js import { useStripeTerminal, DarkMode, } from '@stripe/stripe-terminal-react-native'; const { setTapToPayUxConfiguration } = useStripeTerminal(); const callSetTapToPayUxConfiguration = async () => { let tapZone = { indicator: 'front', xBias: 0.5, yBias: 0.3, }; 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'); }; ``` ![](https://d37ugbyn3rpeym.cloudfront.net/videos/terminal/ttpa-configuration-demo.mp4) ## Límites y alternativa de verificación del titular de la tarjeta Algunas transacciones con tarjetas sin contacto [por encima de ciertos importes](https://support.stripe.com/questions/what-are-the-regional-contactless-limits-for-stripe-terminal-transactions) pueden requerir métodos de verificación (CVM) del titular de la tarjeta adicionales, como la entrada de un PIN. Tap to Pay en Android admite la introducción de PIN en el SDK de Android de Terminal [4.3.0](https://github.com/stripe/stripe-terminal-android/releases/tag/v4.3.0) o en una versión posterior. El PIN se recopila en dos casos: - El importe de la transacción supera el límite del [método de verificación del titular de la tarjeta (CVM)](https://support.stripe.com/questions/what-are-the-regional-contactless-limits-for-stripe-terminal-transactions). En este caso, el PIN se solicita antes de que se devuelva el [collectPaymentMethod](https://stripe.dev/stripe-terminal-android/core/com.stripe.stripeterminal/-terminal/collect-payment-method.html). El foco vuelve a tu aplicación después de introducir el PIN o cancelar el cobro. ![Flujo de PIN local de Tap to Pay en Android](https://b.stripecdn.com/docs-statics-srv/assets/ttpa-local-pin-flow.0f134662b73c0dfa4eaf1e57f09fd17a.png) - El emisor hace una solicitud de [autenticación reforzada de clientes (SCA)](https://stripe.com/guides/strong-customer-authentication). En este caso, el PIN se solicita durante [confirmPaymentIntent](https://stripe.dev/stripe-terminal-android/core/com.stripe.stripeterminal/-terminal/confirm-payment-intent.html). El foco vuelve a estar en tu aplicación después del `confirmPaymentIntent`, a menos que el emisor haga una solicitud de PIN. En ese caso, el cobro vuelve a ser el foco de atención hasta que se introduce el PIN o se cancela el cobro. ![Flujo de PIN de SCA de Tap to Pay en Android](https://b.stripecdn.com/docs-statics-srv/assets/ttpa-sca-pin-flow.4144d0670052a3544bfe573182bb9487.png) ### Gestión de errores con el PIN Solo puedes recoger el PIN bajo las siguientes condiciones: - Las [opciones para desarrolladores](https://developer.android.com/studio/debug/dev-options) están deshabilitadas. - Los [servicios de accesibilidad](https://developer.android.com/guide/topics/ui/accessibility/service) no están registrados ni en funcionamiento. - La [grabación en pantalla](https://support.google.com/android/answer/9075928) no está activa. - No hay [ventanas de superposición de pantalla](https://developer.android.com/privacy-and-security/risks/tapjacking) - Tienes una conexión a Internet activa. La recopilación del PIN también falla si alguna de las partes intenta tomar una captura de pantalla. Si la recopilación del PIN falla debido a uno de estos factores, recibirás un error `TAP_TO_PAY_INSECURE_ENVIRONMENT` con información adicional sobre la causa del error. Recomendamos que se indiquen los siguientes pasos para que el usuario vuelva a intentar el pago y se le pida un PIN. ### Consideraciones sobre el PIN regional Los pagos con monedero NFC (Apple Pay, Google Pay y Samsung Pay) no suelen requerir PIN. Sin embargo, en Reino Unido, Canadá y Finlandia, los requisitos regionales y las políticas de los emisores de tarjetas pueden afectar a los pagos sin contacto. En el Reino Unido, según el emisor, la autenticación reforzada de clientes puede requerir que se inserten algunas tarjetas en un dispositivo. En estos casos, si la tarjeta no está insertada, el pago se rechaza antes de que aparezca la pantalla del PIN, con el motivo `offline_pin_required`. En Canadá y Finlandia, muchas de las tarjetas emitidas solo tienen PIN fuera de línea, lo que significa que para introducir el PIN se requiere contacto físico, como la inserción en un dispositivo, algo que no es compatible con Tap to Pay. En estas situaciones, recomendamos pedir al cliente que pruebe con otra tarjeta o cobrar el pago de otra forma. Por ejemplo, usando un lector de tarjetas Terminal o enviando un [enlace de pago](https://docs.stripe.com/payment-links.md). Al cobrar con tu dispositivo móvil, mantén la tarjeta junto al lector hasta que lea la información del chip. Es posible que tengas que esperar unos segundos después de la vibración inicial cuando la tarjeta haga contacto. En caso de rechazo, utiliza otro método para cobrar el pago, como un lector de tarjetas de Terminal. Solo puedes tener una conexión activa a un lector a la vez. ### PIN UX Por razones de seguridad, el teclado PIN no siempre aparece en el centro de la pantalla. Aparece en una posición determinada aleatoriamente. ![Pantalla de recogida del PIN de Tap to Pay en Android](https://b.stripecdn.com/docs-statics-srv/assets/ttpa-pin-screen.ceb66e1d9695de8ca517e39265a2be10.png) Es normal que el teclado PIN esté descentrado ## Prácticas recomendadas y directrices de la promoción Garantiza una experiencia de usuario óptima teniendo en cuenta lo siguiente: - Conéctate al lector en segundo plano al iniciar la aplicación para reducir los tiempos de espera al cobrar un pago. - Utiliza la [reconexión automática](https://docs.stripe.com/terminal/payments/connect-reader.md?terminal-sdk-platform=android&reader-type=tap-to-pay#automatically-attempt-reconnection) para volver a conectarte al lector cuando la aplicación aparezca en primer plano y reducir los tiempos de espera. - Proporciona formación a los comerciantes para orientar a tus usuarios sobre cómo aceptar pagos sin contacto en un dispositivo Android compatible, incluyendo la promoción dentro del producto y las alertas por mensaje de texto o correo electrónico. - Lanza y promociona tus campañas de marketing de Tap to Pay en Android utilizando nuestras plantillas de mensajes y recursos de diseño. Hazte [socio de Stripe](https://stripe.com/partners/become-a-partner) para acceder a estos recursos en el [portal de socios](https://portal.stripe.partners/s/login/?language=en_US&ec=302&startURL=%2Fs%2F). ## Próximos pasos - [Configura tu integración](https://docs.stripe.com/terminal/payments/setup-integration.md)