# Tap to Pay en el iPhone en tu app

El SDK de Tap to Pay de MONEI para iOS (`MoneiTapToPay`) permite que tu propia app iOS acepte pagos con tarjeta sin contacto con Tap to Pay en el iPhone. El pago se ejecuta dentro de tu app, con tu propio permiso de Apple. MONEI procesa el pago y envía el resultado a tu app y a tu servidor.

## Elige tu integración[​](#choose-your-integration "Enlace directo al Elige tu integración")

MONEI Pay tiene dos formas de aceptar pagos con tarjeta desde tu propia app. Usa esta tabla para elegir.

|                                 | Tap to Pay en tu app (este SDK)                     | [Integración app a app](https://docs.monei.com/es/monei-pay/app-integration/getting-started.md) |
| ------------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Dónde se ejecuta el pago        | Dentro de tu app iOS                                | En la app MONEI Pay, que tu app abre                                                            |
| Plataformas                     | iPhone                                              | iOS, Android, React Native y web                                                                |
| Permiso de Apple                | Tu propio permiso de Tap to Pay en el iPhone        | No es necesario                                                                                 |
| App MONEI Pay en el dispositivo | No es necesaria                                     | Es necesaria                                                                                    |
| Servidor                        | Crea un token de autenticación POS con tu clave API | Crea un token de autenticación POS con tu clave API                                             |
| Resultado fiable                | Webhook firmado a tu `callbackUrl`                  | Webhook firmado a tu `callbackUrl`                                                              |

Elige Tap to Pay en tu app cuando el cliente debe quedarse en tu app y tu equipo puede obtener de Apple el permiso de Tap to Pay en el iPhone. Elige la integración app a app cuando también necesitas Android o web, o cuando no quieres solicitar el permiso de Apple.

## Cómo funciona[​](#how-it-works "Enlace directo al Cómo funciona")

<!-- -->

1. Tu servidor obtiene un token de autenticación POS de la API de MONEI con tu clave API. La clave API se queda en tu servidor.
2. Tu servidor envía el token a tu app.
3. Al iniciarse, tu app llama a `TapToPay.prepare(token:)`. El SDK prepara el lector en segundo plano.
4. Cuando el cliente paga, tu app llama a `TapToPay.acceptPayment(amount:orderId:callbackUrl:)`.
5. Apple muestra la pantalla de pago. El cliente acerca la tarjeta al iPhone.
6. El SDK envía el pago a MONEI.
7. MONEI procesa el pago. `acceptPayment` devuelve un `PaymentResult` con el estado `approved` o `declined`, los datos de la tarjeta y el estado de MONEI. Un resultado rechazado tiene el motivo.
8. MONEI envía un webhook firmado con el resultado del pago a tu `callbackUrl`. Este webhook es el único resultado fiable. Usa el resultado de la app solo para la interfaz.

## Requisitos[​](#requirements "Enlace directo al Requisitos")

* Un iPhone XS o posterior con iOS 18.5 o posterior. En otros dispositivos, `TapToPay.isSupported` es `false`.
* Xcode 26.6 o posterior. Consulta [versiones y compatibilidad](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/test-and-go-live.md#versions).
* El permiso de Tap to Pay en el iPhone de Apple para tu equipo de desarrollo. Consulta [Solicita el permiso de Apple](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/get-started.md#apple-entitlement).
* Tu Team ID de Apple y el bundle ID de cada app que acepta pagos, enviados a MONEI. Consulta [Envía los datos de tu app a MONEI](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/get-started.md#app-details).
* Una cuenta de MONEI y su clave API. Una clave API del modo de prueba da tokens de prueba.
* Un servidor que crea los tokens y recibe el webhook firmado. Consulta [Crea tokens en tu servidor](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/backend.md).

## Pasos de la integración[​](#integration-steps "Enlace directo al Pasos de la integración")

1. [Configura tu proyecto](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/get-started.md): el permiso de Apple, los datos de tu app, el paquete, `Info.plist` y la integración continua.
2. [Crea tokens en tu servidor](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/backend.md): el endpoint del token, las tiendas y la renovación del token.
3. [Acepta pagos](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/accept-payments.md): prepara el lector, cobra un pago, lee el resultado y el webhook.
4. [Gestiona errores y resultados desconocidos](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/errors.md): cada error y qué hacer cuando el resultado es desconocido.
5. [Prueba y pasa a producción](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/test-and-go-live.md): el modo de prueba, la app de ejemplo, las versiones y la lista de comprobación.

## Preguntas frecuentes[​](#common-questions "Enlace directo al Preguntas frecuentes")

### ¿Necesito la app MONEI Pay en el iPhone?[​](#monei-pay-app "Enlace directo al ¿Necesito la app MONEI Pay en el iPhone?")

No. El SDK ejecuta Tap to Pay en el iPhone dentro de tu app. La app MONEI Pay solo es necesaria para la [integración app a app](https://docs.monei.com/es/monei-pay/app-integration/getting-started.md).

### ¿Hay una versión para Android?[​](#android "Enlace directo al ¿Hay una versión para Android?")

No. El SDK es solo para iPhone. En Android, usa la [integración app a app](https://docs.monei.com/es/monei-pay/app-integration/getting-started.md).

### ¿Qué moneda puedo aceptar?[​](#currency "Enlace directo al ¿Qué moneda puedo aceptar?")

Euros. Indicas el importe en céntimos de euro, por ejemplo `1050` para 10,50 EUR.

### ¿Cómo obtengo acceso al SDK?[​](#access "Enlace directo al ¿Cómo obtengo acceso al SDK?")

El paquete es público. Añádelo a tu proyecto sin una cuenta de GitHub. Consulta [Añade el paquete](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/get-started.md#add-package). Para aceptar pagos, también necesitas:

* El permiso de Tap to Pay en el iPhone de Apple. Consulta [Solicita el permiso de Apple](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/get-started.md#apple-entitlement).
* MONEI debe habilitar tu app. Envía a MONEI tu Team ID de Apple y el bundle ID de cada app que acepta pagos. Consulta [Envía los datos de tu app a MONEI](https://docs.monei.com/es/monei-pay/in-app-tap-to-pay/get-started.md#app-details).
* Una cuenta de MONEI y su clave API.
