Autenticación con 3DSecure
Protocolo de autenticación EMV3DS
Para realizar la autenticación es necesario incorporar en el flujo de pago varios pasos adicionales (excepto en el caso de integración por redirección). Los comercios que utilizan conexión REST y estén interesados en incluir el proceso de autenticación del titular mediante protocolo 3DSecure, tienen que incluir en el flujo de la transacción la mensajería de este protocolo de seguridad.
El proceso de pago de una operación con autenticación en la conexión REST sigue los siguientes pasos:
- Inicia petición: El comercio deberá hacer una petición al TPV Get Checkout ES para obtener la versión de la tarjeta y poder iniciar el proceso de autenticación con el protocolo correspondiente.
- 3DSMethod (Si procede): El comercio ejecuta el 3DSMethod para que el emisor capture la información del dispositivo.
- Trata Petición (Solicitud de autorización): El comercio enviará la solicitud de autorización de la operación con el parámetro "Ds_Merchant_Emv3ds" con un valor en formato JSON donde se incluyen los valores del protocolo EMV3DS.
- Respuesta: Una vez enviada la petición, se puede recibir una respuesta "Frictionless" (respuesta final con el parámetro "Ds_Response") o "Challenge"(necesita continuar la autenticación).
- Autenticación (Si procede): La entidad emisora requiere de que el titular verifique su autenticidad (mediante OTP, contraseña estática, biometría, etc).
- Confirmación de autorización: El comercio enviará la autorización con el resultado del challenge al TPV Virtual para finalizar el proceso de autorización y recibir el parámetro "Ds_Response".
Existen dos flujos posibles con la V2, dependiendo de la respuesta del TPV Get Checkout ES:
1. El titular selecciona los productos que desea comprar e introduce los datos de tarjeta en un formulario mostrado por el comercio.
2. El comercio inicia petición enviando los datos al TPV Get Checkout ES.
3. El TPV Get Checkout ES comprueba la configuración de la tarjeta, y en la respuesta informará si la tarjeta soporta autenticación EMV3DS y la versión de protocolo EMV3DS que se aplica.
3.1 Si la tarjeta lo requiere ejecutar el 3DSMethod: se inicia conexión desde el browser con el ACS y este devuelve el resultado de la ejecución al comercio.
4. El comercio envía la solicitud de autorización con tarjeta que soporta EMV3DS v2. Además de los datos de pago es necesario enviar el resultado del 3DSMethod y los datos adicionales para la autenticación. El TPV Get Checkout ES inicia la autenticación, y el emisor, en base a los datos recibidos, autentica la operación sin necesidad de la intervención del titular. A continuación, el TPV Get Checkout ES procesará la autorización.
5. Una vez realizado el pago, el TPV Get Checkout ES informa del resultado de la operación.
6. El comercio devuelve la información del resultado del pago al titular.
1. El titular selecciona los productos que desea comprar e introduce los datos de tarjeta en un formulario mostrado por el comercio.
2. El comercio realiza un inicia petición enviando los datos al TPV Get Checkout ES.
3. El TPV Get Checkout ES comprueba la configuración de la tarjeta, y en la respuesta informará si la tarjeta soporta autenticación EMV3DS y la versión de protocolo EMV3DS que se aplica.
3.1 Si la tarjeta lo requiere ejecutar el 3DSMethod: se inicia conexión desde el browser con el ACS y este devuelve el resultado de la ejecución al comercio
4. El comercio envía la solicitud de autorización con tarjeta que soporta EMV3DS v2. Además de los datos de pago es necesario enviar el resultado del 3DSMethod y los datos adicionales para la autenticación.
El TPV Get Checkout ES inicia la autenticación, y el emisor en base a los datos recibidos decide que el titular debe verificar su autenticidad (challenge)
5. El TPV Get Checkout ES devuelve la información para que el titular pueda realizar el challenge con su banco emisor. Según el protocolo con el que se deba autenticar estas peticiones quedarán marcadas de la siguiente forma. Versión 2.1.0 (8210)
6. El comercio redirige al titular vía browser para que conecte con su emisor
7. El titular completa el challenge
8. La entidad emisora devuelve el resultado del challenge a la url indicada por el comercio
9. El comercio envía el resultado del challenge al TPV Virtual para finalizar el proceso de autorización
10. Una vez realizado el pago, el TPV Get Checkout ES responde con el resultado de la operación.
11. El comercio responde con la información del resultado del pago al titular
Inicia Petición
Esta petición permite obtener el tipo de autenticación EMV 3DS ( "Version 2.1.0" o "Version 2.2.0") que se puede realizar. Se debe enviar una peticion inicial rest a la siguiente URL:
Entorno | URL conexión |
---|---|
Pruebas | https://sis-t.redsys.es:25443/sis/rest/iniciaPeticionREST |
Real | https://sis.redsys.es/sis/rest/iniciaPeticionREST |
Modalidad REST
Dentro del elemento "Ds_MerchantParameters" deberá enviarse el parámetro "Ds_Merchant_Emv3ds", de tipo JSON, con la etiqueta y valor que vemos en el ejemplo:
{
"DS_MERCHANT_AMOUNT": "1000",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_EMV3DS": {
"threeDSInfo": "CardData"
},
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_CVV2": "123",
"DS_MERCHANT_EXPIRYDATE": "1512",
"DS_MERCHANT_ORDER": "1552571678",
"DS_MERCHANT_PAN": " XXXXXXXXXXXXXXXXXX ",
"DS_MERCHANT_TERMINAL": "999",
"DS_MERCHANT_TRANSACTIONTYPE": "0"
}
Como resultado de la petición se devolverá en la respuesta un elemento "Ds_MerchantParameters" con un parámetro "Ds_EMV3DS", el cual tiene la información necesaria para proceder a la autenticación:
En este caso se corresponde a un "protocolVersion": "2.1.0" ó "2.2.0", en adelante "2.X.0" según la versión devuelta en el inicia:
{
"Ds_EMV3DS": {
"protocolVersion": "2.X.0",
"threeDSServerTransID": "8de84430-3336-4ff4-b18d-f073b546ccea",
"threeDSInfo": "CardConfiguration",
"threeDSMethodURL": "https://sis.redsys.es/sis-simulador-web/threeDsMethod.jsp"
},
"Ds_MerchantCode": "999008881",
"Ds_Order": "1552571678",
"Ds_Terminal": "2",
"Ds_TransactionType": "0"
}
Modalidad InSite
Dentro del elemento "Ds_MerchantParameters" deberá enviarse el parámetro "Ds_Merchant_Emv3ds", de tipo JSON, con la etiqueta y valor que vemos en el ejemplo:
{
"DS_MERCHANT_AMOUNT": "1000",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_EMV3DS": {
"threeDSInfo": "CardData"
},
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_ORDER": "1552571678",
"DS_MERCHANT_IDOPER": "9c75f357629acb672e0f5444401d138f02e834ad ",
"DS_MERCHANT_TERMINAL": "999",
"DS_MERCHANT_TRANSACTIONTYPE": "0"
}
Como resultado de la petición se devolverá en la respuesta un elemento "Ds_MerchantParameters" con un parámetro "Ds_EMV3DS", el cual tiene la información necesaria para proceder a la autenticación:
En este caso se corresponde a un "protocolVersion": "2.1.0" ó "2.2.0", en adelante "2.X.0" según la versión devuelta en el inicia:
{
"Ds_EMV3DS": {
"protocolVersion": "2.X.0",
"threeDSServerTransID": "8de84430-3336-4ff4-b18d-f073b546ccea",
"threeDSInfo": "CardConfiguration",
"threeDSMethodURL": "https://sis.redsys.es/sis-simulador-web/threeDsMethod.jsp"
},
"Ds_MerchantCode": "999008881",
"Ds_Order": "1552571678",
"Ds_Terminal": "2",
"Ds_TransactionType": "0"
}
3DSMethod
El 3DSMethod es un proceso que permite a la entidad emisora capturar la información del dispositivo que está utilizando el titular. Esta información, junto con los datos EMV3DS que son enviados en la autorización, será utilizada por la entidad para hacer una evaluación del riesgo de la transacción. En base a esto el emisor puede determinar que la transacción es confiable y por lo tanto no requerir la intervención del titular para verificar su autenticidad (frictionless).
La captura de datos del dispositivo se realiza mediante un iframe oculto en el navegador del cliente, que establecerá conexión directamente con la entidad emisora de forma transparente para el usuario. El comercio recibirá una notificación cuanto haya terminado la captura de información. En el siguiente paso, al solicitar la autorización al TPV Get Checkout ES se enviará el parámetro threeDSCompInd indicando la ejecución del 3DSMethod
Pasos para la ejecución del 3DSMethod:
- En la respuesta recibida con la configuración de la
tarjeta (iniciaPeticion) se recibe los datos siguientes para
ejecutar el 3DSMethod:
threeDSMethodURL:
Es la url del 3DSMethod.threeDSServerTransID:
Es el identificador de transacción EMV3DS.
threeDSMethodURL
el proceso finaliza. En la autorización enviarthreeDSCompInd = N
. - Construir el JSON Object con los parámetros:
threeDSServerTransID:
Es el valor recibido en la respuesta de consulta de tarjeta.threeDSMethodNotificationURL:
Es la url del comercio a la que será notificada la finalización del 3DSMethod desde la entidad.
- Codificar el JSON anterior en Base64url encode.
- Debe incluirse un iframe oculto en el navegador del
cliente, y enviar un campo
threeDSMethodData
con el valor del objecto json anterior, en un formulario http post a la url obtenida en la consulta inicialthreeDSMethodURL
. - La entidad emisora interactúa con el browser para proceder a la captura de información. Al finalizar enviará el campo threeDSMethodData en el iframe html del navegador por http post a la url threeDSMethodNotificationURL (indicada en el paso 2), y el 3DSMethod termina.
- Si el 3DSMethod se ha completado en menos de 10 segundos
se enviará en la autorización:
threeDSCompInd = Y
.
threeDSCompInd = N
.
Trata petición
Un vez recibida la respuesta del "Inicia Petición", deberá enviarse un "trata Petición" a la URL indicada. Esta petición deberá constar del parámetro "Ds_Merchant_Emv3ds", con los siguientes campos y valores correspondientes, los cuales dependen del valor del elemento "protocolVersion":
Modalidad REST
{
"DS_MERCHANT_AMOUNT": "1000",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_CVV2": "XXX",
"DS_MERCHANT_EMV3DS": {
"threeDSInfo": "AuthenticationData",
"protocolVersion": "2.X.0",
"browserAcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json",
"browserUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
"browserJavaEnabled": "false",
"browserLanguage": "ES-es",
"browserColorDepth": "24",
"browserScreenHeight": "1250",
"browserScreenWidth": "1320",
"browserTZ": "52",
"threeDSServerTransID": "8de84430-3336-4ff4-b18d-f073b546ccea",
"notificationURL": "https://sis-d.redsys.es/sis-simulador-web/SisRESTCreqCres_3DSecureV2.jsp",
"threeDSCompInd": "Y"
},
"DS_MERCHANT_EXPIRYDATE": "XXXX",
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_ORDER": "1552572812",
"DS_MERCHANT_PAN": " XXXXXXXXXXXXXXXXXX ",
"DS_MERCHANT_TERMINAL": "2",
"DS_MERCHANT_TRANSACTIONTYPE": "0"
}
Modalidad InSite
{
"DS_MERCHANT_AMOUNT": "1000",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_IDOPER": "9c75f357629acb672e0f5444401d138f02e834ad ",
"DS_MERCHANT_EMV3DS": {
"threeDSInfo": "AuthenticationData",
"protocolVersion": "2.X.0",
"browserAcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json",
"browserUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
"browserJavaEnabled": "false",
"browserLanguage": "ES-es",
"browserColorDepth": "24",
"browserScreenHeight": "1250",
"browserScreenWidth": "1320",
"browserTZ": "52",
"threeDSServerTransID": "8de84430-3336-4ff4-b18d-f073b546ccea",
"notificationURL": "https://sis-d.redsys.es/sis-simulador-web/SisRESTCreqCres_3DSecureV2.jsp",
"threeDSCompInd": "Y"
},
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_ORDER": "1552572812",
"DS_MERCHANT_TERMINAL": "2",
"DS_MERCHANT_TRANSACTIONTYPE": "0"
}
Respuesta
Como resultado del envío de esta petición, se pueden obtener dos tipos de respuesta, "frictionless" o "Challenge":
Para frictionless la operación habrá sido autorizada y finalizada. Se recibe el parámetro "Ds_Response"
{
"Ds_Amount": "1000",
"Ds_AuthorisationCode": "694432",
"Ds_CardNumber": "454881******0004",
"Ds_Card_Brand": "1",
"Ds_Card_Country": "724",
"Ds_Card_Type": "C",
"Ds_Currency": "978",
"Ds_Language": "1",
"Ds_MerchantCode": "999008881",
"Ds_MerchantData": "",
"Ds_Order": "1552572812",
"Ds_Response": "0000",
"Ds_SecurePayment": "1",
"Ds_Terminal": "2",
"Ds_TransactionType": "0"
}
Para challenge la operación requerirá de autenticación del titular, se inicia el flujo challenge:
Ejemplo de petición para "protocolVersion": "2.X.0"
{
"Ds_Amount": "1000",
"Ds_Currency": "978",
"Ds_EMV3DS": {
"threeDSInfo": "ChallengeRequest",
"protocolVersion": "2.X.0",
"acsURL": "https://sis.redsys.es/sis-simulador-web/authenticationRequest.jsp",
"CReq": "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjhkZTg0NDMwLTMzMzYtNGZmNC1iMThkLWYwNzNiNTQ2Y2NlYSIsImFjc1RyYW5zSUQiOiJkYjVjOTljNC1hMmZkLTQ3ZWUtOTI2Zi1mYTBiMDk0MzUyYTAiLCJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjA1In0"
},
"Ds_MerchantCode": "999008881",
"Ds_Order": "1552572812",
"Ds_Terminal": "2",
"Ds_TransactionType": "0"
}
Autenticación
En el caso que la operación no haya finalizado en el paso anterior (flujo frictionless), debejerá ejecutarse el flujo Challenge. El comercio deberá montar un formulario que envíe un POST a la URL del parámetro "acsURL" obtenido en la respuesta de la petición de autorización anterior. En dicho formulario deberá envíar el parámetro "CReq" que se obtiene en la respuesta si es el protocolo 2.X.0 (2.1.0 ó 2.2.0) Este formulario redireccionará al titular a la página de autenticación de su banco, donde la entidad emisora requerirá que el titular verifique su autenticidad (mediante OTP, contraseña estática, biometría, etc).
Ejemplo de formulario HTML para "protocolVersion": "2.X.0"
<form action="acsURL" method="post">
<input type="hidden" name="creq" value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjA4MWQ1N2RlLWE4YTYtNGZkYi1hMzZj..." />
</form>
Confirmación Autenticación
Como resultado de esta verificación, la entidad Emisora hará un POST a la URL indicada en el parámetro "notificationURL" (version 2.X.0) del"trataPetición".
En esta url indicada se recibirá una respuesta que debe de ser capturada con el parámetro "cres" (version 2.X.0).
Para terminar la autenticación, debe enviarse otra petición rest con éstos valores dentro del parémetro "Ds_Merchant_Emv3ds" en formato JSON:
Modalidad REST
Ejemplo de respuesta para "protocolVersion": "2.X.0"
{
"DS_MERCHANT_AMOUNT": "1000",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_CVV2": "XXX",
"DS_MERCHANT_EMV3DS": {
"threeDSInfo": "ChallengeResponse",
"protocolVersion": "2.X.0",
"cres": "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjhkZTg0NDMwLTMzMzYtNGZmNC1iMThkLWYwNzNiNTQ2Y2NlYSIsImFjc1RyYW5zSUQiOiJkYjVjOTljNC1hMmZkLTQ3ZWUtOTI2Zi1mYTBiMDk0MzUyYTAiLCJtZXNzYWdlVHlwZSI6IkNSZXMiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidHJhbnNTdGF0dXMiOiJZIn0="
},
"DS_MERCHANT_EXPIRYDATE": "XXXX",
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_ORDER": "1552577128",
"DS_MERCHANT_PAN": " XXXXXXXXXXXXXXXXXX ",
"DS_MERCHANT_TERMINAL": "2",
"DS_MERCHANT_TRANSACTIONTYPE": "0"
}
Modalidad InSite
Ejemplo de respuesta para "protocolVersion": "2.X.0"
{
"DS_MERCHANT_AMOUNT": "1000",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_EMV3DS": {
"threeDSInfo": "ChallengeResponse",
"protocolVersion": "2.X.0",
"cres": "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjhkZTg0NDMwLTMzMzYtNGZmNC1iMThkLWYwNzNiNTQ2Y2NlYSIsImFjc1RyYW5zSUQiOiJkYjVjOTljNC1hMmZkLTQ3ZWUtOTI2Zi1mYTBiMDk0MzUyYTAiLCJtZXNzYWdlVHlwZSI6IkNSZXMiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidHJhbnNTdGF0dXMiOiJZIn0="
},
"DS_MERCHANT_IDOPER": "9c75f357629acb672e0f5444401d138f02e834ad ",
"DS_MERCHANT_MERCHANTCODE": "999008881",
"DS_MERCHANT_ORDER": "1552577128",
"DS_MERCHANT_TERMINAL": "2",
"DS_MERCHANT_TRANSACTIONTYPE": "0"
}
Como respuesta a esta petición, se obtendrá el resultado de la petición de Autorización (Ds_Response) y finaliza el proceso de compra con el TPV Get Checkout ES.
{
"Ds_Amount": "1000",
"Ds_AuthorisationCode": "694432",
"Ds_CardNumber": "454881******0004",
"Ds_Card_Brand": "1",
"Ds_Card_Country": "724",
"Ds_Card_Type": "C",
"Ds_Currency": "978",
"Ds_Language": "1",
"Ds_MerchantCode": "999008881",
"Ds_MerchantData": "",
"Ds_Order": "1552572812",
"Ds_Response": "0000",
"Ds_SecurePayment": "1",
"Ds_Terminal": "2",
"Ds_TransactionType": "0"
}
Gestión de exenciones EMV3DS
De acuerdo a la norma de PSD2 (entrada en vigor el 14 de septiembre de 2019), directiva europea que tiene como objetivo mejorar la seguridad y reforzar la autenticación del cliente en las operaciones de comercio electrónico se definen una serie de exenciones al uso de SCA que podrán venir marcadas en la petición de autorización.
La solicitud de exención se informará en el parámetro "DS_MERCHANT_EXCEP_SCA"
siendo los siguientes los valores permitidos:
- LWV: Exención por bajo importe (hasta 30 €, con máx. 5 ops. o 100 € acumulado por tarjeta, estos contadores son controlados a nivel de entidad emisora de la tarjeta).
- TRA: Exención por utilizarse un sistema de análisis de riesgo (y considerarse bajo riesgo) por parte del adquirente/comercio.
- MIT: Operación iniciada por el comercio (sin estar asociada a una acción o evento del cliente) que están fuera del alcance de la PSD2. Este es el caso de las operativas de pagos de subscripciones, recurrentes, etc. todas las que requieren el almacenamiento de las credenciales de pago del cliente (COF) o su equivalente mediante operativas de pagos programados tokenizados (uso funcionalidad “pago por referencia” en pagos iniciados por el comercio). Toda operativa de pago iniciada por el comercio (MIT) requiere que inicialmente cuando el cliente concede el permiso al comercio de uso de sus credenciales de pago, dicho “permiso o mandato” se haga mediante operación autenticada con SCA.
- COR: Exención restringida a los casos de uso de un protocolo pago corporativo seguro.
- ATD: Exención de autenticación delegada.
- NDF: El comercio informa que no quiere aplicar ninguna exención por defecto, en caso de que aplique.
Es importante tener en cuenta que al marcar exenciones la responsabilidad del posible fraude de la operación recae en el comercio.
Para conocer las exenciones permitidas para el comercio, se podrá enviar un mensaje de "iniciaPeticion" con el parámetro "DS_MERCHANT_EXCEP_SCA" = "Y":
{
"DS_MERCHANT_ORDER":"1552571678",
"DS_MERCHANT_MERCHANTCODE":"999008881",
"DS_MERCHANT_TERMINAL":"999",
"DS_MERCHANT_CURRENCY":"978",
"DS_MERCHANT_TRANSACTIONTYPE":"0",
"DS_MERCHANT_AMOUNT":"1000",
"DS_MERCHANT_EXCEP_SCA":"Y",
"DS_MERCHANT_PAN":" XXXXXXXXXXXXXXXXXX ",
"DS_MERCHANT_EMV3DS": {"threeDSInfo":"CardData"}
}
En la respuesta, el parámetro "Ds_Excep_SCA" nos marcará las excenciones que pueden usarse en el "TrataPetición".
{
"Ds_Order":"1552571678",
"Ds_MerchantCode":"999008881",
"Ds_Terminal":"2",
"Ds_TransactionType":"0",
"Ds_EMV3DS": {
"protocolVersion":"2.X.0",
"threeDSServerTransID":"8de84430-3336-4ff4-b18d-f073b546ccea",
"threeDSInfo":"CardConfiguration",
"threeDSMethodURL":https://sis.redsys.es/sis-simulador-web/threeDsMethod.jsp},
"Ds_Excep_SCA":"LWV;TRA[30.0];COR;MIT;ATD;WHL",
"Ds_Card_PSD2":"Y"
}
Se contemplan dos tipos de mensajes donde podemos marcar una exención:
TrataPetición con datos EMV3DS.
Las exenciones marcadas en peticiones con envío de datos EMV3DS, se marcarán en la autenticación. Si esta exención no es aceptada se devolverá una petición de CHALLENGE para que el titular se autentique con SCA. De esta forma la petición no se pierde y continuará el flujo habitual, sin que el titular se vea afectado. SE RECOMIENDA ESTA OPCIÓN.
Modalidad REST
Ejemplo TrataPetición con autenticación EMV3DS vía Rest
{
"DS_MERCHANT_ORDER":"1552572812",
"DS_MERCHANT_MERCHANTCODE":"999008881",
"DS_MERCHANT_TERMINAL":"2",
"DS_MERCHANT_CURRENCY":"978",
"DS_MERCHANT_TRANSACTIONTYPE":"0",
"DS_MERCHANT_AMOUNT":"100",
"DS_MERCHANT_PAN":" XXXXXXXXXXXXXXXXXX ",
"DS_MERCHANT_EXPIRYDATE":"XXXX",
"DS_MERCHANT_CVV2":"XXX",
"DS_MERCHANT_EXCEP_SCA":"LWV",
"DS_MERCHANT_EMV3DS":
{
"threeDSInfo":"AuthenticationData",
"protocolVersion":"2.X.0",
"browserAcceptHeader":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json",
"browserUserAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
"browserJavaEnabled":"false",
"browserJavaScriptEnabled":"false",
"browserLanguage":"ES-es",
"browserColorDepth":"24",
"browserScreenHeight":"1250",
"browserScreenWidth":"1320",
"browserTZ":"52",
"threeDSServerTransID":"8de84430-3336-4ff4-b18d-f073b546ccea",
"notificationURL":"https://comercio-inventado.es/recibe-respuesta-autenticacion",
"threeDSCompInd":"Y"
}
}
Modalidad InSite
Ejemplo TrataPetición con autenticación EMV3DS con InSite
{
"DS_MERCHANT_ORDER":"1552572812",
"DS_MERCHANT_MERCHANTCODE":"999008881",
"DS_MERCHANT_TERMINAL":"2",
"DS_MERCHANT_CURRENCY":"978",
"DS_MERCHANT_TRANSACTIONTYPE":"0",
"DS_MERCHANT_AMOUNT":"100",
"DS_MERCHANT_IDOPER":"9c75f357629acb672e0f5444401d138f02e834ad",
"DS_MERCHANT_EXCEP_SCA":"LWV",
"DS_MERCHANT_EMV3DS":
{
"threeDSInfo":"AuthenticationData",
"protocolVersion":"2.X.0",
"browserAcceptHeader":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json",
"browserUserAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
"browserJavaEnabled":"false",
"browserJavaScriptEnabled":"false",
"browserLanguage":"ES-es",
"browserColorDepth":"24",
"browserScreenHeight":"1250",
"browserScreenWidth":"1320",
"browserTZ":"52",
"threeDSServerTransID":"8de84430-3336-4ff4-b18d-f073b546ccea",
"notificationURL":"https://comercio-inventado.es/recibe-respuesta-autenticacion",
"threeDSCompInd":"Y"
}
}
TrataPetición sin datos EMV3DS.
Las exenciones marcadas en las peticiones en las que no se han informado los datos EMV3DS, se marcarán en la autorización. Si esta exención no es aceptada se procederá a una denegación con nse = 0195 (Requiere SCA). Si se quiere volver a hacer la petición con datos EMV3DS se deberá enviar otra petición.
Modalidad REST
{
"DS_MERCHANT_ORDER":"1552572812",
"DS_MERCHANT_MERCHANTCODE":"999008881",
"DS_MERCHANT_TERMINAL":"2",
"DS_MERCHANT_CURRENCY":"978",
"DS_MERCHANT_TRANSACTIONTYPE":"0",
"DS_MERCHANT_AMOUNT":"100",
"DS_MERCHANT_PAN":" XXXXXXXXXXXXXXXXXX ",
"DS_MERCHANT_EXPIRYDATE":"XXXX",
"DS_MERCHANT_CVV2":"XXX",
"DS_MERCHANT_EXCEP_SCA":"LWV"
}
Modalidad InSite
{
"DS_MERCHANT_ORDER":"1552572812",
"DS_MERCHANT_MERCHANTCODE":"999008881",
"DS_MERCHANT_TERMINAL":"2",
"DS_MERCHANT_CURRENCY":"978",
"DS_MERCHANT_TRANSACTIONTYPE":"0",
"DS_MERCHANT_AMOUNT":"100",
"DS_MERCHANT_IDOPER":"9c75f357629acb672e0f5444401d138f02e834ad",
"DS_MERCHANT_EXCEP_SCA":"LWV"
}