Conoce cómo autenticar la tokenización de las tarjetas con 3DS
Esta funcionalidad se encuentra disponible para los siguientes modelos:
☐ Agregador
☑ Gateway
Producto en versión beta 🔐👨💻
Estamos trabajando en nuestra versión beta. ¡Manténte atento a su lanzamiento oficial! También puedes contactar a tu gerente de cuenta para más información.
La autenticación 3DS solo se ejecuta al momento de hacer la tokenización de la tarjeta.
Para garantizar la seguridad de tu comercio, el equipo de prevención de fraude de Kushki te solicitará activar la validación 3DS al momento de realizar la tokenización de la tarjeta para ejecutar cobros posteriores ya sea OneClick o calendarizados.Al tener activo el servicio de validación 3DS, se solicitará a tus clientes completar un paso extra de verificación (en adelante challenge) con el emisor de la tarjeta para completar ciertas transacciones. Por lo general, dicho challenge consiste en un OTP enviado por el banco al correo electrónico o teléfono de tu cliente.
Importante
Ten en cuenta que esta autenticación se realiza al momento de que se complete una suscripción y no al momento de realizar un cobro.
Revisa a continuación la disponibilidad de la validación 3DS con suscripciones de acuerdo con los modelos de afiliación e integración disponibles en Kushki.
Disponibilidad de validación 3DS con suscripciones#
La validación 3DS con suscripciones se encuentra disponible en los siguientes métodos de integración:
Soporta ✅
No soporta ⛔️
Integración con Smartlink (pagos calendarizados) Integración con Kajita Integración Android (SDK) Integración iOS (SDK) Integración con botón de pago Integración Kushki.js Integración Kushki.js Hosted Fields
Una vez el usuario complete el formulario y haga clic en Guardar tarjeta, Kushki validará si es necesaria la validación 3DS para la transacción. De ser requerida dicha validación a tu cliente se le mostrará un challenge cuya experiencia podría variar dependiendo de la marca y del banco emisor. Cuando éste complete el challenge podrá finalizar la inscripción de la trajeta.El flujo de autenticación 3DS con Kushki (creación de cargo recurrente) es el siguiente:
Sigue nuestras instrucciones para Kushki.js descritas en nuestra guía para aceptar pagos recurrentes.Ahora, antes de enviar los datos al endpoint en tu back-end debemos realizar la validación 3DS con el emisor.Cuando 3DS está activado la respuesta obtenida desde el método requestSubscriptionToken() se verá de esta manera:
A continuación la descripción de estas variables:
Parámetro
Tipo
Descripción
authRequired
Booleana
Este campo te indica si se requiere o no challenge de 3DS.
acsURL
URL
Hace referencia a la URL de la página del reto que el usuario debe pasar (Access Control System).
specificationVersion
String
Se refiere a la versión de 3DS aplicable.
authenticationTransactionId
String
ID de la transacción verificada desde las marcas.
paReq
String
Significa Payer Authentication Request. Es un campo codificado en base64 que contiene información de tu comercio y del tarjetahabiente y que se envía al emisor para la autenticación Nota: en caso de estar haciendo pruebas en ambiente UAT, se debe enviar sandbox.
Recibirás el token y las variables secureService, secureId y el objeto security (expecificadas en la tabla anterior).
5.
Consumir el método requestValidate3DS para hacer la validación 3DS, tal y como se explica a continuación.
Una vez recibas la respuesta del Token con la estructura anterior, debes enviar el objeto security a Kushki consumiendo el método requestValidate3DS :
Si el valor de la variable authRequired es igual a true el modal para validación de 3DS será presentado y tu cliente entonces recibirá el valor a ingresar por correo electrónico o mensaje de texto.Si el valor de la variable authRequired es igual a false no se presentará el modal para validación de 3DS.La respuesta exitosa que recibirás en la función callback será:
{"code":"3DS000","message":"ok"}
En caso de error, la respuesta de la función callback será algo como:
La respuesta de la autenticación la obtendrás en el cargo. Si la autenticación se declina, recibirás un código K322 y alguno de los subcódigos especificados en la guía de Códigos de error.
El tarjetahabiente tendrá hasta un máximo de 3 reintentos para completar la autenticación 3DS.
Al momento de llamar al método requestToken() para solicitar un token, si existe una regla 3DS y se cumple la condición, el método requestToken() desplegará el modal para que el cliente pueda ingresar los datos de la validación 3DS.
Nota: Recuerda que se debe mandar la propiedad isSubscription con el valor de true para generar una suscripción. Si el método initCardToken() se configuró como suscripción, deberás llamar al endpoint de crear un cargo recurrente desde tu back-end, en lugar de realizar un pago único con el token obtenido.
Si la validación fue incorrecta, podrás recibir uno de los siguientes códigos de error:
{ code: "E004", message: "Error en solicitud de JWT" }
Si el comercio tiene habilitada una regla para 3DS y hubo un error al solicitar el JWT, se regresará el código E004. Por favor, vuelve a intentar; si el error persiste, contacta a soporte de Kushki.
Si el comercio tiene habilitada una regla para 3DS y hubo un error en la autenticación 3DS, se regresará el código E005. Por favor, vuelve a intentar asegurándote de ingresar correctamente los datos para la validación 3DS.
{ code: "E006", message: "Error en solicitud de validación de token" }
Si el comercio tiene habilitada una regla 3DS y hubo un error en la sesión de validación 3DS, se regresará el código E006. Por favor, vuelve a intentar asegurándote de ingresar correctamente los datos para la validación 3DS; si el error persiste contacta a soporte de Kushki.
Consulta la referencia para más información sobre validación 3DS.
A continuación encontrarás algunas tarjetas de prueba que puedes utilizar en modo prueba (UAT) para asegurarte que tu integración está lista. Úsalas con cualquier CVV, ingresa cualquier fecha de expiración futura y una vez aparezca el modal de 3DS, ingresa 1234 como código de validación.
Transacción aprobada con generación de modal 3DS:
4456528080389860
4456529267234200
4456529165328302
4456524869770255
4456523340069956
Transacción aprobada sin generación de modal 3DS:
4456540000000063
4456543371713314
4456541982068615
4456541249811088
Importante
Para habilitar 3DS en modo pruebas en tu comercio se requiere una configuración adicional por parte de Kushki.