DocsRecipesAPI Rest
DocsAPI RestRecipesTutorialsHelpLog In
Docs
DocsAPI RestRecipesTutorialsHelp

3-D Secure

México

Al utilizar nuestro Gateway y Fiserv como proveedor de 3-D Secure, la autenticación se realiza en línea con el flujo de transacciones existente. El proceso comienza realizando una autorización típica o una solicitud de venta con el deseo de realizar una autenticación 3-D Secure en la solicitud.

Luego, la autorización se coloca en un estado WAITING hasta que se complete el proceso de autenticación. Durante la autenticación, se le puede solicitar al comerciante que actualice la solicitud de transacción original una o más veces para avanzar en el flujo del proceso.

Al final del proceso de autenticación, la transacción original se actualiza con los resultados de la autenticación y se completa la autorización.

Los diagramas de secuencia a continuación corresponden a los pasos del texto que sigue. El primer diagrama es para el flujo sin fricción. Esto significa que el emisor no requiere que el titular de la tarjeta se autentique.

El siguiente diagrama muestra el flujo cuando su cliente tiene que autenticarse, lo que significa que su emisor ha solicitado que proporcione detalles de autenticación adicionales.

Cómo implementar 3-D Secure usando nuestra API

Paso 1: Iniciar un pago

Utilice la tarjeta de pago o el token de pago para iniciar una transacción de pago principal.

Puede indicar al pago que utilice 3-D Secure si desea aplicarlo. Los RequestTypes relevantes para la autenticación 3-D Secure son los siguientes:

  • PaymentCardPreAuthTransaction
  • PaymentCardSaleTransaction
  • PaymentTokenPreAuthTransaction
  • PaymentTokenSaleTransaction
  • PaymentCardPayerAuthTransaction

Este mensaje debe incluir el objeto authenticationRequest en el mensaje de solicitud de transacción e incluye los siguientes valores:

AtributoDescripción
authenticationTypeEl valor Secure3DAuthenticationRequest es un valor predeterminado para la solicitud de autenticación 3DS.
termURLIndica la URL de devolución de llamada donde el servidor ACS debe publicar los resultados del proceso de autenticación (este es el servidor de control de acceso que ejecuta la autenticación del titular de la tarjeta).
methodNotifictionURLPara recibir una notificación sobre la finalización de la visualización del formulario 3DSMethod, también debe enviar este elemento en su solicitud de transacción. La URL debe ser identificable de forma única, por lo que cuando se recibe una notificación en esta URL, debe poder asignarla a la transacción correspondiente. Esto elimina cualquier dependencia del Secure3dTransId que recibirá con la respuesta del formulario 3DSMethod. Una forma fácil de garantizar la asignación correcta de transacciones es pasar una referencia de transacción como una cadena de consulta.
challengeIndicatorEn caso de que desee influir en qué flujo de autenticación debe usarse, puede enviar este elemento opcional con uno de los valores que se enumeran a continuación. En caso de que el Indicador de desafío no se envíe dentro de su solicitud de transacción, la puerta de enlace completará el valor predeterminado "01": sin preferencia.
challengeWindowSizeSi desea definir el tamaño de la ventana de desafío que se muestra a sus clientes durante el proceso de autenticación, puede enviar este elemento opcional con uno de los valores que se enumeran a continuación.

Los valores disponibles para challengeIndicator son:

  • 01 = Sin preferencia (No tiene preferencia sobre si se debe realizar un desafío. Este es el valor predeterminado)
  • 02 = No se solicitó ningún desafío (Prefiere que no se realice ningún desafío).
  • 03 = Desafío solicitado: Preferencia del Solicitante 3DS (Prefiere que se realice un desafío)
  • 04 = Desafío solicitado: Mandato (Existen mandatos locales o regionales que significan que se debe realizar un desafío)
  • 05 = No se solicitó desafío (Análisis de riesgo de transacción ya se realizó)
  • 06 = No se solicitó desafío (Solo uso compartido de datos)
  • 07 = No se solicitó desafío (SCA ya se realizó)
  • 08 = No se solicitó desafío (utilice la exención de la lista blanca si no se requiere desafío)
  • 09 = Desafío solicitado (solicitud de lista blanca solicitada si se requiere desafío)

Los valores disponibles para challengeWindowSize son:

  • 01 = 250 x 400
  • 02 = 390 x 400
  • 03 = 500 x 600
  • 04 = 600 x 400
  • 05 = Full screen

El siguiente documento JSON representa un ejemplo de una solicitud de transacción de venta con un conjunto mínimo de elementos:

{
  "requestType": "PaymentCardSaleTransaction",
    "transactionAmount": {
      "total": "122.04",
      "currency": "USD"
      },
    "paymentMethod": {
      "paymentCard": {
        "number": "403587XXXXXX4977",
        "securityCode": "977",
        "expiryDate": {
        "month": "12",
        "year": "24"
      }   
    }
  },
  "authenticationRequest": {
    "authenticationType": "Secure3D21AuthenticationRequest",
    "termURL": "https://www.mywebshop.com/process3dSecure",
    "methodNotificationURL": "https://www.mywebshop.com/process3dSecureMethodNotification?transactionReferenceNumber=ffffffff-ba0b-539f-8000-016b2343ad7e",
    "challengeIndicator": "01",
    "challengeWindowSize": "01"
  }
}

No todos los emisores admiten la recopilación de datos del navegador mediante el formulario 3DSMethod. En esos casos, no se publicarán datos en methodNotificationURL, y el flujo debe continuar publicando un estado de EXPECTED_PERO_NO_RECIBIDO; consulte a continuación.

Paso 2: Respuesta de autenticación segura 3-D

Nuestra respuesta incluirá un elemento 3DSMethod, que genera un iframe oculto que ayuda a recopilar los datos del navegador para los emisores. Esta información se suma al perfil general del consumidor y ayuda a identificar transacciones potencialmente fraudulentas. También aumenta la probabilidad de una transacción exitosa y sin fricciones.

Deberá incluir 3DSMethod en su sitio web como iframe oculto. No se presenta ninguna pantalla de interfaz de usuario al titular de la tarjeta.

En este punto, se realiza una solicitud de verificación para determinar si el sistema 3-D Secure funciona y si el titular de la tarjeta está inscrito en 3-D Secure. Si el sistema 3-D Secure no funciona o si el titular de la tarjeta no está inscrito, la transacción se procesará normalmente y será aprobada o rechazada por la red de procesamiento.

En el caso anterior, el estado de la transacción aparecerá así:

transactionStatus = APPROVED||DECLINED

Si se verifica que el titular de la tarjeta está inscrito en el programa 3-D Secure, se incluirá un objeto 'authenticationResponse' en la respuesta de la transacción.

Mientras espera la respuesta, la transacción tendrá el siguiente estado de transacción:

transactionStatus = WAITING

El objeto authenticationResponse contendrá los siguientes valores:

AtributoValor
type3D_SECURE
version2.1 o 2.2
secure3DMethod/methodFormDatos de formulario HTML con iFrame oculto utilizado para recopilar los datos del navegador web para el Emisor.
secure3DMethod/secure3dTransIdUn identificador único para la transacción proporcionado por el servidor ACS del emisor.

El siguiente documento JSON representa un ejemplo de una respuesta:

{
  "clientRequestId": "30dd879c-ee2f-11db-8314-0800200c9a66",
  "apiTraceId": "rrt-0c80a3403e2c2def0-d-ea-28805-6810951-2",
  "ipgTransactionId": "838916029301",
  "transactionType": "SALE",
  "transactionTime": 1518811817,
  "approvedAmount": {
  "total": 122.04,
  "currency": "USD"
},
  "transactionStatus": "WAITING",
  "authenticationResponse": {
    "type": "3D_SECURE",
    "version": "2.1",
    "secure3dMethod": {
      "methodForm": "<!DOCTYPE iframe SYSTEM "about:legacy-compat">
      <iframe id="tdsMmethodTgtFrame" name="tdsMmethodTgtFrame"
      style="width: 1px; height: 1px; display: none;" src="javascript:false;"
      xmlns="http://www.w3.org/1999/xhtml">
      <!--.--> </iframe><form id="tdsMmethodForm"
      name="tdsMmethodForm"
      action=https://localhost.modirum.com:8543/dstests/ACSEmu2
      method="post"
      target="tdsMmethodTgtFrame" xmlns="http://www.w3.org/1999/xhtml">
      <input type="hidden" name="3DSMethodData"
      value="eyAidGhyZWVEU1NlcnZlclRyYW5zSUQiIDogIjAwMDAwMDAwLTU2NzYtNTY2My
      04MDAwLTAwMDAw    
MDAwNDFhOSIsICJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9
      uVVJMIiA6ICJodHRwczovL2xvY2Fs
aG9zdC5tb2RpcnVtLmNvbTo4NTQzL21kcGF5bXBpL
      01lcmNoYW50U2VydmVyP21uPVkmdHhpZD0x
      
NjgwOSZkaWdlc3Q9aSUyQnhhUEF5NWFOcVJRbllqNmozbWFDZlFJbTdFdjJYTm
      kwNnh6YmZNJTJG
R3MlM0QiIH0"/> <input type="hidden"
      name="threeDSMethodData"            
      value="eyAidGhyZWVEU1NlcnZlclRyYW5zSUQiIDogIjAwMDAwMDAwLTU2NzYtNTY2
      My04MDAwLTAwMDA
      w
MDAwNDFhOSIsICJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIiA
      6ICJodHRwczovL2xvY 2Fs
aG9zdC5tb2RpcnVtLmNvbTo4NTQzL21kcGF5bXBpL01lcm
      NoYW50U2VydmVyP21uPVkmdHhpZD0x
NjgwOSZkaWdlc3Q9aSUyQnhhUEF5NWFOcV
      JRbllqNmozbWFDZlFJbTdFdjJYTmkwNnh6YmZNJTJG
R3MlM0QiIH0"/>
      </form><script type="text/javascript" 
      xmlns="http://www.w3.org/1999/xhtml">
      document.getElementById("tdsMmethodForm").submit(); </script>",
      "secure3dTransId": "3ac7caa7-aa42-2663-791b-2ac05a542c4a"
    }
  }
}

Paso 3: 3DSMethod Solicitud de notificación y respuesta

El 'methodForm' de 3-D Secure se utiliza para proporcionar detalles del entorno del titular de la tarjeta al servidor de control de acceso del emisor (ACS). El methodForm contiene el HTML para un iFrame oculto que se incluirá en su página web. Esto obligará a que la información se publique automáticamente en el servidor ACS a través de Fiserv. La información HTML es un bloque HTML autónomo que no necesita modificarse ni publicarse, ya que se cuidará automáticamente cuando se represente la página en la que se inserta. Alternativamente, esto se puede crear en una página que nunca sea visible para el titular de la tarjeta.

Si se reciben correctamente, los datos de respuesta se publicarán en la URL proporcionada en el campo methodNotificationURL original y el mensaje publicado contendrá un campo threeDSServerTransID que contiene el ID de transacción ACS único asociado con el original solicitud. Tenga en cuenta que la carga útil para esta respuesta contendrá un solo elemento llamado tresDSMethodData. Ese elemento contendrá una respuesta JSON codificada en base64 que contiene el campo threeDSServerTransID.

Ejemplo:

<form name="frm" method="POST" action="{value from methodNotificationURL}">
  <input type="hidden" name="threeDSMethodData" value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjNhYzdjYWE3LWFhNDItMjY2My03OTFiLTJhYzA1YTU0MmM0YSJ9">
</form>

Descifrado threeDSMethodData:

{"threeDSServerTransID":"3ac7caa7-aa42-2663-791b-2ac05a542c4a"}

El threeDSServerTransID no es necesario para ningún otro procesamiento de 3DS. Sin embargo, se recomienda guardar este valor como referencia para el servidor 3DS en el futuro si es necesario.

Debe esperar un mínimo de 10 segundos para que se complete la operación POST anterior y luego determinar el estado de notificación del método de la siguiente manera:

EstatusDescripción
RECEIVEDHa enviado el elemento methodNotificationURL en la solicitud de transacción de Venta inicial y ha recibido la notificación de ACS en 10 segundos, recibirá un mensaje HTTP POST de ACS, que contendrá un identificador de transacción único representado por secure3dTransId.
EXPECTED_BUT_NOT_RECEIVEDHa enviado el elemento methodNotificationURL en la solicitud de transacción de Venta inicial y no ha recibido la notificación de ACS en 10 segundos.
NOT_EXPECTEDNO ha enviado el elemento methodNotificationURL en la solicitud de transacción de venta inicial.

🚧

Puede haber ocasiones en las que observará respuestas duplicadas a su 'URL de notificación de 3DSMethod' o 'URL de término', esto podría deberse a solicitudes duplicadas enviadas desde el ACS de un emisor o quizás al comportamiento del usuario dentro del navegador. Se recomienda que incorpore el manejo en su sistema, de modo que, en caso de que reciba una respuesta duplicada a su 'URL de notificación de 3DSMethod' o 'URL de término', no envíe una solicitud adicional/duplicada a la puerta de enlace.

Flujo sin fricción

Paso 4: Solicitud para continuar con la autenticación 3DS

Una vez que se haya completado la llamada al Método 3DS, debe notificar a la puerta de enlace que el proceso de autenticación puede continuar enviando el elemento 'methodNotificationStatus' con los valores basados en las condiciones correspondientes del formulario 3DSMethod anterior. Esto se hace realizando una operación PATCH en la transacción original.

También puede incluir la dirección de facturación del titular de la tarjeta opcional y el código de seguridad en este momento.

El siguiente documento JSON representa un ejemplo de una solicitud que se enviará después de mostrar el formulario 3DSMethod:

{
  "authenticationType": "Secure3D21AuthenticationUpdateRequest",
  "storeId": "12345500000",
  "billingAddress": {
  "company": "Test Company",
  "address1": "5565 Glenridge Conn",
  "address2": "Suite 123",
  "city": "Atlanta",
  "region": "Georgia",
  "postalCode": "30342",
  "country": "USA"
},
  "securityCode": "123",
  "methodNotificationStatus": "RECEIVED"
}

Paso 5: Respuesta final de 3DS

Cuando se determina que se ha realizado un flujo sin fricciones (es decir, el cliente ha sido completamente autenticado por su banco sin necesidad de interacción directa), se completa el proceso de 3-D Secure y se procesa la autorización de la transacción.

La respuesta de la transacción contiene un objeto secure3dResponse y la transacción se aprueba o se rechaza.

transactionStatus = APPROVED or DECLINED

El objeto 'secure3dResponse' contendrá el siguiente campo: 'responseCode3dSecure'

El siguiente documento JSON representa un ejemplo de una respuesta que recibe de la API que indica que la autorización se ha realizado correctamente:

{
  "clientRequestId": "30dd879c-ee2f-11db-8314-0800200c9a66",
  "apiTraceId": "rrt-0c80a3403e2c2def0-d-ea-28805-6810951-2",
  "ipgTransactionId": "838916029301",
  "transactionType": "SALE",
  "transactionTime": 1518811817,
  "approvedAmount": {
    "total": 122.04,
    "currency": "USD"
  },
  "transactionStatus": "APPROVED",
  "schemeTransactionId": "019078743804756",
  "processor": {
    "responseCode": "00",
    "responseMessage": "APPROVED",
    "authorizationCode": "OK7118"
  },
  "secure3dResponse": {
    "responseCode3dSecure": "1"
  }
}

Flujo de challenge

El flujo de desafío se activa cuando la transacción no se considera de bajo riesgo o cuando el Emisor requiere una autenticación adicional por parte del titular de la tarjeta. Todo el proceso comienza con una solicitud inicial de transacción de Autorización o Venta a través del paso donde se muestra 3DSMethod, como se describe en los Pasos 1 a 4 anteriores.

Paso 6: Solicitud para continuar con la autenticación 3DS

Una vez que se haya completado la llamada al método 3DS, debe notificar a la puerta de enlace que el proceso de autenticación puede continuar enviando el elemento 'methodNotificationStatus' con los valores basados en las condiciones correspondientes del formulario del método 3DS anterior. Esto se hace realizando una operación PATCH en la transacción original.

También puede incluir la dirección de facturación del titular de la tarjeta opcional y el código de seguridad en este momento.

El siguiente documento JSON representa un ejemplo de una solicitud que se enviará después de la visualización del formulario 3DSMethod:

{
  "authenticationType": "Secure3D21AuthenticationUpdateRequest",
  "storeId": "12345500000",
  "methodNotificationStatus": "RECEIVED"
}

Paso 7: Gateway responde para continuar con la autenticación 3DS

Para el flujo de desafío, el estado de la transacción se devolverá de la siguiente manera:

transactionStatus = "WAITING"

La respuesta contendrá un objeto authenticationResponse con los siguientes campos:

CampoDescripción
type3D_SECURE
version2.1 o 2.2
acsURLLa URL en la que se deben publicar los valores 'cReq' y 'session Data' para que se lleve a cabo el desafío del titular de la tarjeta.
termURLLa URL donde se publicarán los resultados de la autenticación.
cReqUn mensaje de solicitud de desafío codificado devuelto desde el servidor ACS.
sessionDataUna lista codificada de parámetros de sesión que se utilizará para la autenticación. Tenga en cuenta que es posible que no siempre se proporcione este valor.

El siguiente documento JSON representa un ejemplo de una respuesta:

{
  "clientRequestId": "30dd879c-ee2f-11db-8314-0800200c9a66",
  "apiTraceId": "rrt-0c80a3403e2c2def0-d-ea-28805-6810951-2",
  "ipgTransactionId": "838916029301",
  "transactionType": "SALE",
  "transactionTime": 1518811817,
  "approvedAmount": {
    "total": 122.04,
    "currency": "USD"
  },
  "transactionStatus": "WAITING",
  "authenticationResponse": {
    "type": "3D_SECURE",
    "version": "2.1",
    "params": {
      "acsURL": "https://3ds-acs.test.modirum.com/mdpayacs/pareq",
      "termURL": "https://www.mywebshop.com/process3dSecure/",
      "cReq": "ewogICAiYWNzVHJhbCIgOiA...wMDAtMDAwMDAwMDA0MWE5Igp9",
      "sessiondata": "50F2156E03083CA665BCB4.."
    }
  }
}

Paso 8: Challenge del titular de la tarjeta

En el siguiente paso, debe enviar los datos al acsURL indicado, que generalmente se implementa como un formulario de envío automático. Esto debe implementarse en su sitio web. El titular de la tarjeta será redirigido al ACS y se le presentará la interfaz de usuario para recopilar los detalles de autenticación, por ejemplo, ingresar una contraseña de un solo uso o realizar la autenticación utilizando su aplicación bancaria. Una vez completada la autenticación, se redirige al consumidor a su página web.

Debe publicar los valores cReq y sessionData en la URL especificada en el campo acsURL.

Esta información se publica utilizando los siguientes nombres de campo:

cReqTodo el mensaje cReq codificado en base64 como se obtuvo anteriormente.
threeDSSessionDataTodo el mensaje sessionData codificado en base64 como se obtuvo anteriormente.

Ejemplo:

<form name="frm" method="POST" action="https://3ds-acs.test.modirum.com/mdpayacs/pareq ">
  <input type=”hidden” name=”creq” value=”ewogICAiYWNzVHJhbCIgOiA...wMDAtMDAwMDAwMDA0MWE5Igp9”>
  <input type=”hidden” name=”threeDSSessionData” value=”50F2156E03083CA665BCB4..”>
</form>

Cuando se complete la autenticación, se publicará una respuesta de autenticación en la URL especificada en el campo 'termURL'.

Paso 9: Solicitud para completar la transacción

Después de recibir los datos del ACS, debe enviarlos al Gateway en el elemento cRes junto con la referencia a la transacción original. Esto se hace enviando una solicitud PATCH a la transacción original e incluye los siguientes valores:

authenticationTypeSecure3D21AuthenticationUpdateRequest
acsResponse/cResLos datos cRes publicados en termURL por el servidor ACS.

Se recomienda incluir la dirección de facturación opcional del titular de la tarjeta y el código de seguridad en este momento.

El siguiente documento JSON representa un ejemplo de una solicitud con el elemento 'cRes':

{
  "authenticationType": "Secure3D21AuthenticationUpdateRequest",
  "storeId": "12345500000",
  "billingAddress": {
    "company": "Test Company",
    "address1": "5565 Glenridge Conn",
    "address2": "Suite 123"
    "city": "Atlanta",
    "region": "Georgia",
    "postalCode": "30342",
    "country": "USA"
  },
  "securityCode": "123",
  "acsResponse": {
    "cRes": "ewogICAiYWNzUmVmZX…Fuc1N0YXR…IKfQ=="
  }
}

Paso 10: Última respuesta

Dado que esta transacción se inició como una 'Sale', la autorización se realiza como parte de este paso final, si la autenticación fue exitosa.

La respuesta de la transacción contiene un objeto secure3dResponse y la transacción se aprueba o rechaza.

El objeto secure3dResponse contendrá el siguiente campo: responseCode3dSecure

El siguiente documento JSON representa un ejemplo de una respuesta que recibe que indica que la autorización se ha realizado correctamente:

{
  "clientRequestId": "30dd879c-ee2f-11db-8314-0800200c9a66",
  "apiTraceId": "rrt-0c80a3403e2c2def0-d-ea-28805-6810951-2",
  "ipgTransactionId": "838916029301",
  "transactionType": "SALE",
  "transactionTime": 1518811817,
  "approvedAmount": {
    "total": 122.04,
    "currency": "USD"
  },
  "transactionStatus": "APPROVED",
  "schemeTransactionId": "019078743804756",
  "processor": {
    "responseCode": "00",
    "responseMessage": "APPROVED",
    "authorizationCode": "OK7118"
  },
  "secure3dResponse": {
    "responseCode3dSecure": "1"
  }
}

PATCH /ipgrestapi/v2/services/payments/{ipgTransactionId}

{
  "authenticationType": "Secure3D10AuthenticationUpdateRequest",
  "billingAddress": {
    "address1": "5565 Glenridge Conn",
    "city": "Atlanta",
    "postalCode": 30342,
    "country": "USA"
  },
  "merchantData": "MD____13992017033012241629.....c-4a40-aeb4-b41a8a34480fa067ac",
  "payerAuthenticationResponse": "eJzlWFeP67iS/………9Xm88X5c/37Pcj6I/v3P8JV86aGw=="
}

El siguiente documento JSON representa un ejemplo de una respuesta que recibe del Gateway que indica que la autorización se realizó correctamente y se marcó como autenticada:

{
   "clientRequestId": "4c3aa885-db8e-43fb-b3c4-0e5c6927408c",
   "apiTraceId": "YKUjRJVBbdinNESL8Era8AAAAIs",
   "ipgTransactionId": "84563547902",
   "orderId": "R-ff489e2d-b5f3-4757-a91b-0a774681e26a",
   "transactionType": "SALE",
   "transactionOrigin": "ECOM",
   "paymentMethodDetails":    {
      "paymentCard":       {
         "expiryDate":          {
            "month": "12",
            "year": "2024"
         },
         "bin": "403587",
         "last4": "4977",
         "brand": "VISA"
      },
      "paymentMethodType": "PAYMENT_CARD"
   },
   "country": "Germany",
   "terminalId": "80000860",
   "merchantId": "000102072004393",
   "transactionTime": 1621434858,
   "approvedAmount":    {
      "total": 12.99,
      "currency": "EUR",
      "components": {"subtotal": 12.99}
   },
   "transactionStatus": "APPROVED",
   "secure3dResponse": {"responseCode3dSecure": "1"},
   "schemeTransactionId": "519154004377788",
   "processor":    {
      "referenceNumber": "113914232351",
      "authorizationCode": "907587",
      "responseCode": "00",
      "responseMessage": "Function performed error-free",
      "avsResponse":       {
         "streetMatch": "N",
         "postalCodeMatch": "N"
      }
   }
}

Autenticación con proveedor 3DS externo

En caso de que esté utilizando su propio proveedor de servicios 3DS o externo y planee enviar una solicitud de autorización al Gateway, debe enviar los valores de autenticación obtenidos de su proveedor de servicios 3DS.

CampoDescripción
authenticationTypeSe utiliza para enviar el resultado de la autenticación realizada por un proveedor de servicios 3-D Secure externo
cavv Valor de autenticación obtenido en la respuesta de autenticación del proveedor de servicios 3-D Secure externo
dsTransactionIdID de referencia de transacción de autenticación, obtenido de un proveedor externo de 3-D Secure
authenticationResponseRepresenta el resultado de la autenticación, los valores permitidos son: Y = transacción totalmente autenticada, A = Intento de autenticación exitoso, U = No se puede autenticar por DS o ACS
secure3DProtocolVersionRepresenta la versión del protocolo 3DS utilizada durante la autenticación, los valores se enviarán en un formato, es decir, 2.2.0, 2.1.0, 2.3.1, etc.

Solo los siguientes resultados de autenticación son elegibles para pasar al host de autorización:

Código de respuesta
3dsecure
Caso de UsoValor ECIProceso de Autorización
1Transacción completamente autenticada (con CAVV/AAV)ECI2/ECI5Mensaje de autorización enviado al procesador
3Autenticación fallida (rechazada por DS o ACS)ECI7La solicitud de autorización es declinada por el gateway con respuesta “N:-50716:3D Secure authentication failed”
4Intento de autenticación (successful attempt). El tarjetahabiente no se pudo autenticar en el portal del emisorECI1/ECI6Se envía autorización al procesador; El comercio puede decidir bloquear las transacciones con ECI 1 y ECI 6ª nivel tienda
5No es posible autenticar debido a un error del DS – usado para versión 1 del protocolo 3DSECI7Se envía autorización al procesador; el comercio puede decidir bloquear todas las transacciones con ECI 7 a nivel tienda
6No se puede autenticar (la se puede autenticar con el ACS o DS)ECI7Se envía autorización al procesador; el comercio puede decidir bloquear todas las transacciones con ECI 7 a nivel tienda
7Falló la autenticación (la tarjeta no está registrada en el DS) – utilizado en la V1 del protocolo 3DSECI7Se envía autorización al procesador; el comercio puede decidir bloquear todas las transacciones con ECI 7 a nivel tienda
8Valores o combinación de elementos de autenticación no válidosN/ALa transacción es declinada por el gateway con respuesta N:-5100:Invalid 3D Secure values (relevante para protocolo 3DS V1)
ATransacción Mastercard Insights / Data Only exitosaECI7Se envía autorización al procesador; el comercio puede decidir bloquear todas las transacciones con ECI 7 a nivel tienda
BTransacción Mastercard Insights / Data Only no exitosaECI7Se envía autorización al procesador; el comercio puede decidir bloquear todas las transacciones con ECI 7 a nivel tienda

El siguiente documento JSON representa un ejemplo de una transacción de venta enviada a nuestro Gateway después de haber sido completamente autenticada por un proveedor de servicios externo:

{
  "requestType": "PaymentCardSaleTransaction",
  "transactionAmount": {
               "total": "12.00",
               "currency": "EUR"
  },
  "paymentMethod": {
               "paymentCard": {
                               "number": "401699XXXX0006",
                               "securityCode": "999",
                               "expiryDate": {
                                   "month": "12",
                                   "year": "24"
                               }
               }
  },
  "authenticationResult": {
      "authenticationType": "Secure3DAuthenticationResult",
      "cavv": "AAAAAAAAAAAAAAAAAAAAAAAAAAA=",
      "dsTransactionId": "5a56fdc9-6d47-5fee-8000-000000296743",
      "authenticationResponse": "Y",
      "secure3DProtocolVersion": "2.2.0"
   }
} 

El siguiente documento JSON representa un ejemplo de una respuesta que recibe del Gateway que indica que la autorización se realizó correctamente y se marcó como totalmente autenticada:

{
   "clientRequestId": "97c67e8f-7c2d-421d-9d97-b749206aab06",
   "apiTraceId": "YJPLezoO2XZa9K8QL10bvgAAA98",
   "ipgTransactionId": "84411977859",
   "orderId": "R-941fc643-adae-4468-bc48-26e5099f4367",
   "transactionType": "SALE",
   "transactionOrigin": "ECOM",
   "paymentMethodDetails":    {
      "paymentCard":       {
         "expiryDate":          {
            "month": "12",
            "year": "2024"
         },
         "bin": "401699",
         "last4": "0006",
         "brand": "VISA"
      },
      "paymentMethodType": "PAYMENT_CARD"
   },
   "country": "USA",
   "terminalId": "80000012",
   "merchantId": "520334507229862",
   "transactionTime": 1620298619,
   "approvedAmount":    {
      "total": 12,
      "currency": "EUR",
      "components": {"subtotal": 12}
   },
   "transactionStatus": "APPROVED",
   "secure3dResponse": {"responseCode3dSecure": "1"},
   "schemeTransactionId": "234567891234560",
   "processor":    {
      "referenceNumber": "112610940537",
      "authorizationCode": "005042",
      "responseCode": "00",
      "responseMessage": "Function performed error-free",
      "avsResponse":       {
         "streetMatch": "Y",
         "postalCodeMatch": "Y"
      },
      "securityCodeResponse": "MATCHED"
   }
}