Integración 3DS 2.0 a través de Web Checkout

El pago HTML del Portal Carat integrado con [3DS Server] (3ds-server-fluxo.md), que es responsable de realizar autenticaciones 3DS 2.0.

Este modelo permite una integración más sencilla, cuenta con dos modalidades de pago en el proceso de compra, 'frame' y 'pop-up' (ambos dentro de la tienda del cliente), y se puede personalizar con el logotipo y los colores del cliente ('white label').

Intervalo de activación automática#

Para los casos en los que los límites de intervalo para la activación automática de 3DS se configuran en la tienda y se pasa un valor deauthenticate en la creación de la transacción, Portal Carat solo aceptará el valor de authenticate transferido si la transacción se encuentra entre los límites de activación. Y si los límites del intervalo de activación automática de 3DS están configurados en la tienda y no se pasa un valor de authenticateen la transacción, el valor 1 se asumirá como el valor predeterminado para el tipo de autenticación. Importante: no se deben utilizar intervalos que permitan el uso conjunto de 3DS y antifraude. Para más informaciones Parámetros específicos de integración.

Activación automática para débito#

Las transacciones de débito habilitarán la autenticación de forma predeterminada si la tienda está configurada con datos 3DS, anulando así cualquier otra opción que pueda deshabilitar este método de autenticación.

Antifraude en 3DS#

Es posible configurar en la tienda un parámetro para activar el antifraude si el banner elegido no es compatible con 3DS. Si la transacción que usa una tienda con esta configuración está marcada con 3DS (con autenticar = 1) y la tarjeta utilizada no es compatible con el servidor 3DS (la marca de la tarjeta no estaba certificada o la tarjeta está fuera del rango en la base 3DS para la autenticación), entonces Portal Carat no denegará la transacción y seguirá el flujo de pago utilizando el sistema antifraude ("enabled_after_auth"). Comuníquese con nuestro equipo de soporte para averiguar cómo habilitar esta configuración.

Atención: Si se realiza una solicitud con 3DS y con antifraude mediante enabled_after_auth, y el servidor 3DS autentica correctamente la transacción, entonces Carat no procederá con el análisis antifraude.

Si el usuario cancela o abandona el desafío antes de que se complete, no se llamará a antifraude y se negará la transacción.

Adquirentes disponibles#

Bin
E.Rede
CieloEC

Autorizadores disponibles#

Esta integración es compatible con los siguientes autorizadores:

IDNome
1Visa Crédito
2Mastercard Crédito
41Elo Crédito
221Visa Débito
286Mastercard Débito
288Elo Débito

Credenciales requeridas#

Se debe proporcionar la siguiente información a nuestros equipos de soporte y producción:

NombreDescripción
Acquirer Merchant IDPara cada enrutamiento utilizado, debe obtener su ID como el adquirente o su Acquirer Merchant ID. Este valor puede ser el mismo utilizado que el código de establecimiento para el proceso de autorización y debe seguir el formato especificado en ISO 8583.
Acquirer BINIdentificador de cada método de pago asignado por el adquirente.

Con eso, se hará el registro para que la tienda esté preparada para realizar transacciones con 3DS.

Parámetros específicos de integración#

El servicio de creación de transacciones HTML tiene los siguientes campos específicos para la integración de 3DS 2.0:

ParámetroDescripciónFormatoObligatorio
authenticateIdentifica el tipo de autenticación 3DS 2.0.
  • 1 = Habilita el uso de 3DS. Pero, si el servidor 3DS no admite la marca de la tarjeta o no se autentica, se denegará el pago.
  • 2 = Habilite el uso de 3DS. Sin embargo, si el servidor 3DS no admite la marca de la tarjeta, no se autentica con el servidor 3DS. Si la marca de la tarjeta es compatible y se niega la autenticación, se denegará el pago
  • 3 = Habilitar el uso de 3DS. Sin embargo, incluso si la autenticación falla, el pago no se denegará tras la autenticación, con la excepción de los casos en los que el usuario cancele o abandone el desafío antes de que se complete.
= 1 NSI
additional_dataDatos generales de transacciones.
exponentNúmero de posiciones decimales de la moneda según se define en ISO 4217. El valor predeterminado será "2". = 1 NNO
extra_infoInformación adicional de la cuenta proporcionada opcionalmente por 3DS Requestor. < 64 ANNO
additional_data
.authentication
Datos de autenticación generales.
transaction_typeIdentifica el tipo de transacción que se está autenticando.
  • 01 = Compra de bienes / servicios
  • 03 = Check Acceptance
  • 10 = Financiamiento de la cuenta
  • 11 = Transacción Quasi-Cash
  • 28 = Activación y cargo prepago
Siempre debe considerar 01 en transacciones 3ds.
= 2 NNO
indicatorIndica el tipo de solicitud de autenticación.
  • 01 = Transacción de pago
  • 02 = Transacción recurrente
  • 03 = Transacción a plazos
  • 04 = Adición de la tarjeta
  • 05 = Conservar la tarjeta
  • 06 = Verificación del titular de la tarjeta como parte de EMV token ID&V
Debe se supone que siempre es "01". El escenario de recurrencia no se abordará por el momento.
= 2 NNO
challenge_indicatorIndica si se requiere un desafío para esta transacción.
  • 01 = Sin preferencia
  • 02 = Desafío no solicitado
  • 03 = Desafío solicitado ( Preferencia del solicitante 3DS)
  • 04 = Desafío solicitado (plazo)
  • 05 = Desafío no solicitado (análisis de fraude ya realizado)
  • 06 = Desafío no solicitado (solo intercambio de datos)
  • 07 = Desafío no solicitado (ya se realizó una autenticación sólida del consumidor)
  • 08 = Desafío no solicitado (use la exención de la lista blanca si el desafío no es requerido)
  • 09 = Desafío solicitado (use la lista blanca si se requiere desafío)
= 2 NNO
address_matchIndica si la dirección de envío y facturación del transportista es la misma.
  • Y = Las direcciones son las mismas
  • N = Las direcciones no son las mismas
= 1 ANNO
additional_data
.authentication
.info
Información sobre cómo 3DS Requestor autenticó al titular de la tarjeta antes o durante la transacción.
methodMecanismo utilizado por el titular de la tarjeta para autenticarse ante el Solicitante 3DS.
  • 01 = No se produjo la autenticación del Solicitante 3DS (es decir, el titular de la tarjeta ha" iniciado sesión "como invitado)
  • 02= Iniciar sesión en Cuenta del titular del sistema Solicitante 3DS utilizando las propias credenciales del Solicitante 3DS
  • 03 = Iniciar sesión en la cuenta del titular del sistema Solicitante 3DS utilizando ID federado
  • 04 = Iniciar sesión en la cuenta portadora en 3DS Sistema solicitante que utiliza las credenciales del emisor
  • 05 = Iniciar sesión en la cuenta del titular en el sistema Solicitante 3DS mediante autenticación de terceros
  • 06 = Iniciar sesión en la cuenta titular en el sistema Solicitante 3DS usando FIDO Authenticator
  • 07 = Inicie sesión en la cuenta del titular en el sistema 3DS Requestor usando FIDO Authenticator (garantía de datos) firmado FIDO)
  • 08 = SRC Data Insurance
= 2 NNO
timestampFecha y hora UTC de la autenticación del portador en formato AAAAMMDHHMM.= 12 NNO
additional_data
.authentication
.prior_info
Información sobre cómo 3DS Requestor autenticó al titular de la tarjeta como parte de una transacción anterior de 3DS.
methodMecanismo utilizado previamente por el portador para autenticarse ante el Solicitante 3DS.
  • 01 = Autenticación sin fricciones realizada por el ACS
  • 02 = El desafío del portador ocurrió por el ACS
  • 03 = AVS verificado
  • 04 = Otras formas de emisor
= 2 NNO
timestampFecha y hora UTC de la autenticación del portador anterior en formato AAAAMMDHHMM.= 12 NNO
referenceEste elemento proporciona información adicional para que el ACS determine la mejor manera de manejar una solicitud. < 36 ANNO
additional_data
.authentication
.account
Información de la cuenta del comprador en 3DS Requestor.
age_indicatorCantidad de tiempo que el titular tuvo una cuenta en 3DS Requestor.
  • 01 = Sin cuenta (invitado)
  • 02 = Creado durante esta transacción
  • 03 = Menos de 30 días
  • 04 = 30−60 días
  • 05 = Más de 60 días
= 2 NNO
change_dateFecha del último cambio de la cuenta del comprador en formato AAAAMMDD.= 8 NNO
change_indicatorPeríodo de tiempo desde el último cambio en la cuenta del titular.
  • 01 = Cambiado durante esta transacción
  • 02 = Menos de 30 días
  • 03 = 30−60 días
  • 04 = Más de 60 días
= 2 NNO
dateFecha en que el titular abrió la cuenta Solicitante de 3DS en formato AAAAMMDD.= 8 NNO
password_changeFecha en que el comprador cambió su contraseña en formato AAAAMMDD.= 8 NNO
password_change_indicatorIndica el período de tiempo desde el último cambio de contraseña del titular.
  • 01 = Sin cambios
  • 02 = Cambiado durante esta transacción
  • 03 = Menos de 30 días
  • 04 = 30−60 días
  • 05 = Más de 60 días
= 2 NNO
number_purchasesNúmero de compras realizadas con esta cuenta durante los últimos 6 meses. < 4 NNO
provision_attempts_dayNúmero de intentos de adición de tarjetas en las últimas 24 horas. < 3 NNO
txn_activity_dayNúmero de transacciones (confirmadas y abandonadas) de este titular con el Solicitante 3DS en las últimas 24 horas. < 3 NNO
txn_activity_yearNúmero de transacciones (confirmadas y abandonadas) de este titular con el Solicitante 3DS en el último año. < 3 NNO
payment_account_ageFecha en que se registró la cuenta de pago en la cuenta del titular con el Solicitante 3DS en el formato AAAAMMDD.= 8 NNO
Payment_account_indicatorIndica la cantidad de tiempo que la cuenta de pago se ha registrado con el Solicitante 3DS.
  • 01 = Sin cuenta (visitante)
  • 02 = Durante esta transacción
  • 03 = Menos de 30 días
  • 04 = 30−60 días
  • 05 = Más de 60 días
= 2 NNO
ship_address_usageFecha del primer uso de la dirección de envío en formato AAAAMMDD.= 8 NNO
ship_address_usage_indicatorIndica cuándo se utilizó por primera vez la dirección de envío.
  • 01 = En esta transacción
  • 02 = Menos de 30 días
  • 03 = 30− 60 días
  • 04 = Más de 60 días
= 2 NNO
ship_name_indicatorIndica si el nombre del titular de la tarjeta es idéntico al nombre de entrega utilizado para esta transacción.
  • 01 = Nombre de cuenta idéntico al nombre de entrega
  • 02 = Nombre de cuenta diferente al nombre de entrega
= 2 NNO
suspicious_activityIndica si el solicitante de 3DS ha tenido experiencias sospechosas (incluido el fraude anterior) con la cuenta del comprador.
  • 01 = No se ha observado ninguna actividad sospechosa
  • 02 = Se ha realizado una actividad sospechosa observado
= 2 NNO
additional_data
.authentication
.merchant_risk
Almacene la evaluación del nivel de riesgo de fraude para la autenticación específica del portador y la autenticación que se está realizando.
delivery_email_addressPara entrega electrónica, la dirección de correo electrónico a la que se entregó la mercancía. < 254 ANNO
delivery_timeframeIndica el plazo de entrega de la mercancía.
  • 01 = Entrega electrónica
  • 02 = Entrega el mismo día
  • 03 = Entrega en el próximo día
  • 04 = Entrega en dos o más días
= 2 NNO
gift_card_amountPara tarjetas de regalo o compras prepagas, el monto total de la compra en números enteros (por ejemplo, 123.45 es 123). < 15 NNO
gift_card_countPara compras con una tarjeta de regalo o prepaga, recuento de tarjetas de regalo o prepagas compradas. < 2 NNO
gift_card_currencyPara tarjeta de regalo o compra prepaga, código de moneda ISO 4217 de tres dígitos para la tarjeta de regalo.= 3 NNO
pre_order_datePara una preventa, la fecha prevista de disponibilidad de la mercancía en formato AAAAMMDD.= 8 NNO
pre_order_purchase_indicatorIndica si el transportista está realizando un pedido de un producto con disponibilidad futura.
  • 01 = Mercancía disponible
  • 02 = Disponibilidad futura
= 2 NNO
reorder_items_indicatorIndica si el transportista está solicitando mercancía comprada previamente.
  • 01 = Primero pedido
  • 02 = Reordenado
= 2 NNO
shipping_indicatorIndica el método de entrega elegido para la transacción.
  • 01 = Entregar a la dirección de facturación
  • 02 = Entregar a otra dirección verificada en el archivo con la tienda
  • 03 = Enviar a una dirección diferente a la dirección de facturación
  • 04 = Enviar a la propia tienda
  • 05 = Productos digitales
  • 06 = Boletos de viaje o eventos, no entregados físicamente
  • 07 = Otros
= 2 NNO
additional_data
.authentication
.message
Detalles sobre la mensajería 3DS.
categoryIdentifica la categoría de mensaje para un caso de uso específico.
  • 01 - Autenticación de pago
  • 02 - Autenticación de falta de pago
  • 80 - Mastercard Identity Check Insights autenticación (solo datos)
Valor predeterminado: 01.
= 2 NNO
additional_data
.authentication
.recurring
Datos de recurrencia.
expiryFecha en la que no se realizarán más autorizaciones en formato AAAAMMDD. Obligatorio cuando authentication.indicator = 02 o 03.= 8 NCOND.
frequencyIndica el número mínimo de días entre autorizaciones. Obligatorio cuando authentication.indicator = 02 o 03. < 4 NCOND.
additional_data
.purchase_information_data
Detalles de la compra.
dateFecha y hora UTC de compra en formato AAAAMMDDHHMMSS.= 12 NNO
additional_data
.payer
Información del titular de la tarjeta.
emailDirección de correo electrónico del transportista. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 256 ANNO
nameNombre del transportista. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 45 ANNO
additional_data
.payer
.phones[]
Información del teléfono del titular de la tarjeta.
ddiIDD en el teléfono. Si no se envía, se solicitará completar el formulario en la pantalla de pago. < 3 NNO
dddCódigo de área del teléfono. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 3 NNO
numberNumero de teléfono. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 12 NNO
typeTipo de teléfono:
  • 1: residencial (línea fija)
  • 2: empresa
  • 6: móvil
Cuando no enviado, se asigna el valor predeterminado: 06
< 12 NNO
additional_data
.billing_data
.address
Dirección de Envio.
cityCiudad. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 50 ANNO
countryCódigo numérico ISO 3166-1 de tres dígitos para el país. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. = 3 NNO
street_nameNombre de la calle. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 50 ANNO
street_numberNúmero de calle. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 50 ANNO
complementComplemento de direcciones. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 50 ANNO
zip_codeCÓDIGO POSTAL. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 16 ANNO
stateAcrónimo del estado. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 3 ANNO
additional_data
.shipment
.address
Dirección de entrega.
cityCiudad. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 50 ANNO
countryCódigo numérico ISO 3166-1 de tres dígitos para el país. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. = 3 NNO
street_nameNombre de la calle. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 50 ANNO
street_numberNúmero de calle. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 50 ANNO
complementComplemento de direcciones. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 50 ANNO
zip_codeCódigo Postal. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 16 ANNO
stateAcrónimo del estado. Si no se envía, se solicitará el formulario cumplimentado en la pantalla de pago. < 3 ANNO

ATENCIÓN: Los parámetros que existan en payer, billing y shipping cuando no se pasen en el servicio de creación de transacciones a través de additional_data, serán solicitados en la pantalla de pago. Sin embargo, si los parámetros se pasan en el servicio de creación de transacciones, no se le pedirá que complete los campos en la pantalla de pago.

Ejemplo de JSON:

{
"merchant_id": "XXXXX",
"authorizer_id": "2",
"amount": "10004",
"authenticate": "1",
"additional_data": {
"purchase_information_data": {
"date": "20201023113749"
},
"exponent": "2",
"authentication": {
"transaction_type": "01",
"indicator": "01"
}
}
}

Mastercard 3DS Identity Check Insights (Dataonly)#

Identity Check Insights es un modo 3DS exclusivo de Mastercard que tiene las siguientes características:

  • Siempre frictionless (no se le pide al usuario que ingrese información adicional).
  • El comerciante será responsable de pagar el fraude (sin liability shift).
  • Tasa de aprobación más alta.
  • Solo está permitido para tarjetas con la marca Mastercard.

Más detalles en la documentación oficial de Mastercard.

En Portal Carat es posible realizar una transacción de pago utilizando Identity Check Insights de dos formas:

  • Vía parámetro al iniciar una transacción de pago
  • A través de la configuración de la tienda

Vía parámetro al iniciar la transacción#

El comerciante puede indicar que quiere usar Identity Check Insights ingresando el valor 80 en el parámetro additional_data.authentication.message.category.

Ejemplo:

{
"merchant_id": "LOJAYYZ",
"authorizer_id": "2",
"amount": "10004",
"authenticate": "1",
"additional_data": {
"purchase_information_data": {
"date": "20201023113749"
},
"exponent": "2",
"authentication": {
"transaction_type": "01",
"indicator": "01",
"message": {
"category": "80"
}
}
}
}

A través de la configuración de la tienda#

El comerciante puede solicitar al servicio en línea de PayPal que habilite la opción Utiliza Mastercard 3DS Identity Check Insights.

Con esta configuración habilitada, todas las transacciones de pago que utilicen tarjetas de marca Mastercard y Maestro utilizarán Mastercard 3DS Identity Check Insights de forma predeterminada.

Ejemplo:

{
"merchant_id": "DATAONLYON",
"authorizer_id": "2",
"amount": "10004",
"authenticate": "1",
"additional_data": {
"purchase_information_data": {
"date": "20201023113749"
},
"exponent": "2",
"authentication": {
"transaction_type": "01",
"indicator": "01"
}
}
}

Es posible anular este comportamiento ingresando el valor 01 en el parámetro additional_data.authentication.message.category, ignorando así la configuración de la tienda.

Ejemplo:

{
"merchant_id": "DATAONLYON",
"authorizer_id": "2",
"amount": "10004",
"authenticate": "1",
"additional_data": {
"purchase_information_data": {
"date": "20201023113749"
},
"exponent": "2",
"authentication": {
"transaction_type": "01",
"indicator": "01",
"message": {
"category": "01"
}
}
}
}