15. Autenticación 3DSecure
Nueva funcionalidad para autenticar al pagador antes de solicitar autorización de pago a Plexo.
Las tarjetas VISA y MASTERCARD implementan un sistema de autenticación del tarjetahabiente, que dependiendo del banco emisor realiza un challenge para validar que quien esta pagando sea el dueño de la tarjeta, al tener que ingresar un código OTP que le es enviado a su celular o correo electronico personal.
Toda transaccion con estos medios de pago, que realizan previamente la validación 3DSecura no son contracargables. Es decir, que si un tarjetahabiente inicia realiza un repudio de una transaccion que previamente realizo esta validacion y fue autenticada, el banco emiso se hace cargo de la transaccion fraudulenta y no el comercio.
Es un serviocio opcional y depende del comercio ejecutaro o no antes de cada transacción. Esto no quita que algunos procesadores o facilitadores de pago, puedan llegar a aceptar transacciones autenticadas solamente y rechacen las que no lo sean. Esto va a depender del rubro del comercio y monto de las transacciones u otro tipo de condiciones dispuestas por dichos actores.
Para invocar al servicio de validacion 3DS, se hará un POST a:
Firmado como todos los demás paquetes, con la versión JSON del objeto ThreeDSValidation
Los campos requeridos se detallan a continuación:
ClientReferenceId: es el ID de referencia del e-commerce, y debe ser enviado en el campo opcional ThreeDSReferenceId del Purchase, para poder obtener informacion del resultado de la autenticación 3DSecure antes de autorizar el pago.
CurrencyId: moneda de la venta
Amount: monto de venta.
InstrumentToken: token que se va a utilizar para realizar el pago.
RedirectUrl: URL a donde la web de Plexo va a redirigir luego de terminar la autenticación.
CallbackUrl
CommerceId: codigo de comercio de la venta.
Indicator: en el caso de una compra enviar "purchase", si es na alta de cargos recurrentes "recurring"
Ejemplo de invocación que solicita OTP:
{
"Object":{
"Fingerprint":"06356B6157EF3AB24D20EBCC5158C75E371D3734",
"Object":{
"Client":"Fvidal",
"Request":{
"Amount":30.0,
"ClientReferenceId":"1724853514106",
"CommerceId":10865,
"CurrencyId":1,
"Indicator":"purchase",
"InstrumentToken":"62cb19ef87f3404a84cbf6b645cad8be",
"RedirectUrl":"https://google.com.uy/"
}
},
"UTCUnixTimeExpiration":1724863514
},
"Signature":"J6M4JAOyIIv3gu6SVxxm2PBVydY055pknOoDPf/jiJsPmKbcMnvEURSU4sT8SnU+hETv1YC2lPUhsKc1suZh3GyH8KDYBh7sH1rRjFD17AvZr8amac+OmUkdQOSm+AxJ3QoNNkRW/oWsclYgxHERp5in4auVn9+8KJhbNq5GdUvlM2g+Ddv3MkuVn6CSNjNzAW7Bd2qQpPjQzkSVGhcZh13YkjTsJzUFVPOBMzWNrc2HCqNZtbntkoAgStpzU7eri0EHD62KSyhDu5X8mP+4T3vDA0EtFxl0lSRYFZmiXyauF55VbI/qIpga/8dg7UtpDlHOfSl9ap6Z+LkjZd0gBFMPCWnPnnnTNVbXC4M/2DH/Eq+1YKKA65RZ6LjlBRmFNuir/Yhx29Tfin8bzwcqmBLSaaAIc52+zseQMWr+sot0QfwzZd75L0LLRc+6NoqdkDI3ntAEn7dpksi14m3LA/6vAMAO2iluaPvIJy+gHgIoDbNE3TUkxMtb4X+w9f2+TbS0Vl3Nzq/A6PBRvi3tj342nQ18yK4fH0EvOQiqpmkO1QbI8bWFw9EFswPVRhwFSMwBK3mLC16Xr9l2fx/AJp2jBZhcIOg4kJa4v7LhR3Kd/NWYSVJTQJTQ4AGxWRDbSKbEvpXxyqgZDdvk9sbplxXKIiwzZsgoWTlDu0FfgEs="
}
Como resultado, Plexo devuelve una URL que el e-commerce debe abrir idealmente en un iFrame o ventana modal, donde el tarjetahabiente ingresara el codigo OTP que le es enviado:
https://threeds.testing.plexo.com.uy/v2/f1e2fd34f47941e78daaf3a489d47079

Alli se ingresa el codigo de pruebas 1234 y se hace click en "SUBMIT", haciendo se un redurect a la URL especificada en el REQUEST enviado previamente.
Luego en el Purchase posterior, se envian dentro del PaymentRequest los campos asociados al ThreeDSValidation:
InstrumentToken = '62cb19ef87f3404a84cbf6b645cad8be'
ThreeDSReferenceId = '1724853514106'
BilledAmount = 30.00
CurrencyId = 1
OptionalCommerceId = 10865
Los datos deben coincidir, para que Plexo obtenga la informacion dle resultado de la autenticación y lo envíe al procesador de pago correspondiente.
Tarjeta de pruebas VISA para probar ingreso de OTP : 4456530000001096 con vto 01/26
Last updated