Reportes de tokenización
Haz seguimiento de cada intento de agregar tus tarjetas a una wallet digital y detecta rápido dónde se pierden tus clientes.
Introducción
Cada vez que uno de tus clientes intenta agregar una de tus tarjetas a Apple Pay, Google Pay, Click to Pay o a la wallet de un comercio, generamos un registro con el resultado de ese intento. Para que puedas monitorear la salud de tu proceso de tokenización sin depender de una integración con nuestras APIs, ponemos a tu disposición un archivo diario con el detalle de todos los intentos y tokens de tus tarjetas.
Con este reporte puedes:
- Identificar qué tarjetas tuvieron intentos de tokenización y cuándo.
- Ver si el intento terminó en un token activo, fue rechazado o quedó pendiente de verificación adicional.
- Distinguir el método usado (Push Provisioning, Manual Provisioning, Tap to Add) y el token requestor (Apple Pay, Google Pay, Click to Pay o un comercio).
- Detectar patrones de rechazo o abandono que te ayuden a mejorar la experiencia de tus clientes.
Funcionamiento
- Todos los días generamos un archivo con los intentos y tokens creados el día anterior para cada una de tus tarjetas.
- Dejamos el archivo disponible en la carpeta
tokenization/de tu SFTP.
Attempt (el intento en sí) y, si terminó en un token creado, otro de tipo Token (el token resultante). Si el intento fue rechazado antes de crear el token, solo vas a ver el registro Attempt.
Estructura del archivo
- Nombre del archivo:
tokenization_report_{YYYY-MM-DD}.csv - Ubicación: carpeta
tokenization/de tu SFTP - Disponibilidad: diaria, con los datos del día anterior
- Formato: CSV separado por punto y coma (
;), con encabezado
Campos del archivo
| Campo | Descripción | Ejemplo |
|---|---|---|
| token_attempt_created_at | Fecha y hora en la que se registró el intento de tokenización. | 2026-07-22T14:32:10Z |
| token_reference | Identificador del token. Vale No aplica cuando el intento fue rechazado antes de crear el token. | - |
| type | Indica si el registro es un token efectivamente creado (Token) o un intento (Attempt). Un intento rechazado solo genera un registro Attempt. | Token |
| token_attempt_status | Estado del intento o del token. Ver tabla de valores posibles más abajo. | ACTIVATED |
| failure_reason | Motivo asociado al estado del token, cuando aplica. Vale No aplica si el estado no tiene un motivo asociado. | CARD_NOT_ACTIVE |
| token_activated_at | Fecha y hora de activación del token. Vacío si el token nunca se activó. | 2026-07-22T14:35:02Z |
| token_is_push_provisioning | true si el token se generó mediante Push Provisioning (alta rápida desde la app del emisor, sin ingreso manual de datos). | true |
| token_is_tap_to_add | true si el token se generó acercando la tarjeta física al dispositivo (NFC), sin intervención manual. | false |
| token_origin | Token requestor que originó la solicitud. Ver tabla de valores posibles más abajo. | APPLE_PAY |
| token_updated_at | Fecha y hora de la última actualización del token o intento. | 2026-07-22T14:35:02Z |
| token_disabled_at | Fecha y hora en la que se deshabilitó el token. Solo aplica cuando token_attempt_status es DISABLED. | 2026-07-20T09:12:00Z |
| client_id | Identificador de tu cuenta como cliente de Pomelo. | cli-XXXXXX |
| branch_country_name | País de la sucursal asociada a la tarjeta. | Argentina |
| card_public_id | Identificador público de la tarjeta. | crd-XXXXXX |
| card_brand | Marca de la tarjeta (Visa, Mastercard). | Visa |
| user_public_id | Identificador público del cliente titular de la tarjeta. | usr-XXXXXX |
| user_identification_type | Tipo de documento de identidad de tu cliente. Vale Sin información si no está disponible. | DNI |
| user_identification_value | Número de documento de identidad de tu cliente. Vale Sin información si no está disponible. | 34567890 |
Email de tu cliente. Vale Sin información si no está disponible. | [email protected] | |
| phone | Teléfono de tu cliente. Vale Sin información si no está disponible. | +5491122334455 |
| address_country | País de residencia de tu cliente. Vale Sin información si no está disponible. | Argentina |
| otp_sent_by_pomelo | true si nosotros enviamos el código de verificación (OTP) a tu cliente durante el Manual Provisioning. | true |
| otp_method | Canal por el que enviamos el OTP (por ejemplo, SMS). Vale No aplica si no enviamos un OTP. | SMS |
| sms_abandoned_sent_by_pomelo | true si le enviamos a tu cliente una notificación porque abandonó el proceso de tokenización. | true |
| sms_abandoned_method | Canal usado para la notificación de tokenización abandonada. Vale No aplica si no se envió. | SMS |
| sms_complete_sent_by_pomelo | true si le enviamos a tu cliente una notificación de que la tokenización se completó con éxito. | true |
| sms_complete_method | Canal usado para la notificación de tokenización completada. Vale No aplica si no se envió. | SMS |
Valores posibles de token_attempt_status
| Estado | Significado |
|---|---|
⚪️ PENDING_OTP | El intento está esperando que tu cliente complete la verificación con el código enviado (OTP). |
🔵 OTP_SENT | Enviamos el código de verificación (OTP) a tu cliente. |
🔵 AUTHORIZED_BY_ISSUER | Autorizamos el intento como emisor. |
🟢 ACTIVATED | El token se activó y está disponible para operar. |
🟠 SUSPENDED | El token está temporalmente suspendido. |
🔴 DISABLED | El token fue deshabilitado. |
🔴 REJECTED | Rechazamos el intento y no llegó a generar un token. |
Valores posibles de token_origin
| Valor | Significado |
|---|---|
APPLE_PAY | El intento se originó desde Apple Pay. |
GOOGLE_PAY | El intento se originó desde Google Pay. |
CLICK_TO_PAY | El intento se originó desde Click to Pay. |
MERCHANT | El intento se originó desde la wallet de un comercio. |
Valores posibles de failure_reason
El campo failure_reason se completa cuando un intento queda en estado REJECTED. Indica por qué el intento no pudo completarse.
| Valor | ¿Cuándo ocurre? |
|---|---|
INVALID_CVV | Tu cliente ingresó un CVV que no coincide con el registrado para la tarjeta. Puede ser un error de tipeo o un intento con datos incorrectos. |
INVALID_EXP_DATE | La fecha de vencimiento ingresada no coincide con la registrada en el sistema. Es típico en flujos donde se pide validación del PAN completo. |
CARD_NOT_ACTIVE | La tarjeta existe pero su estado no es ACTIVE (puede estar bloqueada, cancelada, en proceso de reemplazo, etc.). No es posible tokenizar una tarjeta inactiva. |
USER_NOT_ACTIVE | El titular de la tarjeta no está activo en el sistema (cuenta suspendida, baja, KYC rechazado, etc.). |
TOO_MANY_INVALID_CVV | Tu cliente superó el límite de intentos fallidos de CVV. Es una medida de seguridad antifraude para prevenir ataques de fuerza bruta. |
DEVICE_SCORE_TOO_LOW | El score de riesgo del dispositivo es inferior al umbral mínimo permitido. El dispositivo se considera no confiable. |
TOO_MANY_TOKENS | La tarjeta ya alcanzó el máximo de tokens activos permitidos. Cada red de pago define un límite de tokens por PAN. |
TOO_MANY_DEVICES | Tu cliente ya tiene demasiados dispositivos registrados con tokens activos. Este límite está configurado para prevenir el abuso. |
TOKEN_NOT_ACTIVE | Se intentó operar sobre un token (por ejemplo, activar o suspender) que no está en estado activo; puede estar suspendido, eliminado o en un proceso de provisioning incompleto. |
INSUFFICIENT_CONTACT_METHODS | Tu cliente no tiene suficientes métodos de contacto verificados (email, teléfono) para completar el proceso de autenticación adicional (step-up) que puede requerir la red de pago. |
INVALID_TAP_TO_ADD | La solicitud de tokenización vía Tap to Add (agregar la tarjeta acercando la tarjeta física al dispositivo) falló la validación, generalmente porque el NFC payload no es válido o no corresponde a esa tarjeta. |
NULL_USER | No encontramos un usuario asociado a la tarjeta. Puede ocurrir si hay inconsistencia de datos entre servicios. |
INVALID_PHONE_NUMBER | El número de teléfono de tu cliente no tiene el formato esperado o está vacío. Se valida porque es necesario para el envío del OTP de activación. |
CARD_NOT_FOUND | La tarjeta solicitada no existe en el sistema. |
Preguntas frecuentes
¿Qué diferencia hay entre un registro Token y uno Attempt?
Token es un registro que efectivamente se convirtió en un token de tu tarjeta. Attempt es el intento que lo originó. Si el intento fue rechazado antes de crear el token, solo vas a ver el registro Attempt.
¿Un intento rechazado tiene token_reference?
No. El campo token_reference viene vacío (No aplica) cuando el intento no llegó a generar un token.