Este documento recopila información general sobre el flujo 3RI (Merchant Initiated Transaction) en EMV3DS, seguido de consideraciones específicas para Visa y Mastercard.
1. Definiciones y Mandatos
Definición: 3RI son transacciones iniciadas por el comerciante sin presencia activa del tarjetahabiente, reutilizando una autenticación previa (CIT) para obtener nuevos CAVV/ECI.
Device Channel (deviceChannel): siempre debe ser 03
(RI) para flujos 3RI.
Campo clave: threeRIInd
en AReq define tipo de flujo.
3RI Indicator (threeRIInd): define el tipo de transacción 3RI en la solicitud de autenticación AReq. (Ver punto 3 valores permitidos)
No todos los valores del campo indicador 3RI documentados en la especificación EMV 3DS actualmente son compatibles con las marcas.
Mandatos de soporte:
- Visa: PA desde 1 Sep 2019; NPA desde 14 Abr 2021.
- Mastercard: EMV3DS 2.2 y 2.3, obligatorio desde 2024.
2. Consideraciones Comunes
Errores frecuentes DS
- Error 201: falta campo requerido.
- Error 203: formato inválido (p.ej. El objeto threeDSRequestorPriorAuthenticationInfo no fue enviado).
Attempts Server: si el DS no enruta al ACS, devuelve transStatus=N, reason=87. Merchant debe reintentar o ir direct-to-auth sin shift.
Challenges prohibidos: en 3RI no se acepta transStatus=C; DS lo transforma a N/87 (no MIT) o stand-in (MIT) y envía error 203 al ACS.
Respuesta ACS esperada (PA): transStatus=Y (autenticado, shift), eci=07 (MIT) o 05 (recurring), con CAVV; o A en UCOF fallback.
NPA: ACS responde transStatus=Y|A, sin ECI/CAVV. No hay liability shift.
Decoupled Fallback: opcional; ACS envía RReq con transStatus=D, luego 3DS Server envía nuevo AReq con indicador 19 y PriorAuthInfo.
3. Valores permitidos
4. Requisitos de Campos en AReq
Nota: Si faltan o no coinciden, el DS responde error 201 o 203.
5. Prerrequisitos
- Autenticación inicial EMV 3DS debe ser completada a través de un desafío.
- (Visa DAF) VMID y rango de tarjetas habilitados.
6. Comportamiento del Visa Directory Server
-
Excluded from Attempts: Todas las 3RI no DAF/MIT devuelven
transStatus = N
,reason = 87
si no pasan al ACS; se debe reintentar o autorizar sin CAVV. -
Challenge prohibido: ACS nunca envía
C
en 3RI; si lo hace, DS devuelve:- No MIT:
transStatus=N
,reason=87
, error 203 al ACS. - MIT: stand‑in regional + error 203.
- No MIT:
7. Respuestas Stand‑In para MIT (threeRIInd=01,02,81)
8. Preguntas frecuentes
¿Es posible agregar una tarjeta (threeDSAuthenticationInd: ADD_CARD (04)
) y autenticar un pago (PA) al mismo tiempo?
No, no es posible.
El proceso de Agregar Tarjeta en un comercio tiene como objetivo validar la identidad del tarjetahabiente. Durante este flujo se puede enviar un monto de verificación, el cual será descontado para comprobar la disponibilidad de fondos y debe ser reembolsado posteriormente por el comercio.
Esto no constituye una Autenticación de Pago (PA) en sí misma. Si se requiere autenticar un pago, debe enviarse un proceso adicional de autenticación posterior al de Agregar Tarjeta.
¿Se puede usar una CIT NPA como PriorInformation
para una MIT PA?
Sí, pero únicamente en el escenario de un pago único.
En este caso, se puede utilizar una CIT NPA de tipo Agregar Tarjeta.
La transacción MIT debe enviarse con el indicador threeRIInd = 81
(Unscheduled Credential-on-File – UCOF).
Este tipo de transacciones no requiere valores de recurrencia (recurringExpiry
, recurringFrequency
), sino únicamente el monto del pago.
Este es el único caso confirmado de uso válido. Eventualmente podrían agregarse otros escenarios en futuras versiones del protocolo. Esta excepción aplica exclusivamente para VISA, utilizando la extensión DAF.
Diferencias principales entre ambas categorías de transacciones
-
MIT (Merchant Initiated Transaction): Iniciada por el comerciante, generalmente para pagos recurrentes (suscripciones mensuales, anuales, etc.). El tarjetahabiente ha dado su consentimiento previo para que el comercio cargue montos periódicos en su tarjeta. No requiere interacción activa del titular en el momento del cargo.
-
CIT NPA (Customer Initiated Transaction – Non Payment Authentication): Iniciada por el tarjetahabiente, pero no implica un pago directo. Se usa para validaciones, como verificar la tarjeta o comprobar saldo. Puede incluir autenticación, pero sin movimiento de fondos.
Dado que una MIT implica un pago y una CIT NPA no, en condiciones normales no tendría sentido combinarlas. La única excepción válida es la descrita anteriormente (pago único con VISA + DAF).
En resumen: sí se puede usar una CIT NPA como PriorInformation
en una MIT PA si el pago es único (no recurrente).
¿Qué es Visa Digital Authentication Framework (DAF)?
Visa DAF es una extensión del protocolo 3D Secure que permite a Visa identificar a tarjetahabientes que ya superaron satisfactoriamente un flujo de autenticación con desafío en un comercio–adquirente específico.
Una vez autenticado el cliente, Visa lo marca como una Credencial de Pago Autenticada (Authenticated Credential Payment – ACP).
Esto otorga un estatus de confiabilidad que permite que las siguientes transacciones realizadas por ese mismo tarjetahabiente en el comercio se autentiquen de manera inmediata, sin necesidad de repetir el desafío.
9. Flujos específicos
Pagos Recurrentes
Objetivo: Permitir cargos automáticos posteriores sin interacción adicional del tarjetahabiente, tras una autenticación inicial satisfactoria.
Glosario
- 3DS: Three-Domain Secure.
- 3RI: 3‑D Secure Recurrent Initiation.
- MIT: Merchant Initiated Transaction.
- BRW: Autenticación Browser (canal 02).
- RI: Recurrent Initiation (canal 03).
Definiciones
Un pago recurrente con 3DS (3RI) es un cargo automático programado periódicamente que reutiliza la autenticación inicial para futuros débitos sin necesidad de interacción adicional del tarjetahabiente.
Casos de Uso
- Suscripciones digitales: streaming, SaaS.
- Pago de facturas: servicios públicos, seguros, préstamos.
- Renovaciones de membresía: gimnasios, clubes.
Esquema General del Flujo
1. Primera Autenticación
2. Guardar threeDSRequestorPriorAuthenticationInfo
3. Cargos posteriores (RI) reutilizando datos previos (threeDSRequestorPriorAuthenticationInfo)
Integración
Endpoint Base
POST https://3dss-dev.placetopay.ws/api/threeds/v2x/sessions
Parámetros Comunes
Campos DAF (Visa Digital Authentication Framework)
Estos campos adicionales son obligatorios si el comercio participa en DAF:
billAddrCity
,billAddrCountry
,billAddrLine1
,billAddrPostCode
,billAddrState
mobilePhone
Más detalles de requisitos DAF en: https://docs.placetopay.com/three-d-s-server/api/integration/session-d-a-f
Ejemplos por Marca
Mastercard – Primera Autenticación
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "RECURRING_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"recurringExpiry": "20250101",
"recurringFrequency": "2",
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"purchaseAmount": "10",
"purchaseCurrency": "USD",
"reference": "Suscripción Enero 2025",
"messageVersion": "2.2.0"
}
Visa – Primera Autenticación con DAF
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "RECURRING_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"recurringExpiry": "20260101",
"recurringFrequency": "2",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"purchaseAmount": "102",
"purchaseCurrency": "USD",
"reference": "Suscripción Enero 2025",
"messageVersion": "2.2.0",
"billAddrCity": "Medellín",
"billAddrCountry": "COL",
"billAddrLine1": "Carrera 65 #45-20",
"billAddrPostCode": "050004",
"billAddrState": "ANT",
"email": "[email protected]",
"mobilePhone": { "cc": "57", "subscriber": "3001112233" }
}
Respuesta
Tanto para Visa como para Mastercard, las autenticaciones iniciales se responden con los siguientes paramentros:
{
"action": "redirect",
"sessionToken": "398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86036/398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"transactionID": 248002
}
Autenticaciones Posteriores (RI)
En la fase recurrente, use deviceChannel
: RI
.
Mastercard – ejemplo de solicitud para autenticaciones subsecuentes
{
"deviceChannel": "RI",
"threeRIInd": "RECURRING_TRANSACTION",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-09T19:48:20+00:00",
"threeDSReqPriorRef": "fa4544ea-9002-444a-a891-5fd126735c41"
},
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"purchaseAmount": "5",
"purchaseCurrency": "USD",
"reference": "Febrero 2024",
"redirectURI": "https://www.placetopay.com/web",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "2e6bd601-7a61-4fa5-accc-10a30e0d66db",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539",
"acsTransID": "80fb86d5-35e7-4249-b6df-6905d9c6ba4f",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "3a961497-8ac7-447d-9926-06bf4c1fa1a9",
"messageVersion": "2.2.0",
"acsOperatorID": "ACS-V210-ACS-PLACETOPAY-11174",
"authenticationValue": "xgQiqOYmAAAAAAAAAAAAAAAAAAA=",
"eci": "07",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-09T19:52:20+00:00",
"transactionID": 248003
}
Visa – ejemplo de solicitud para autenticaciones subsecuentes con DAF
{
"deviceChannel": "RI",
"threeRIInd": "RECURRING_TRANSACTION",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-09T20:06:30+00:00",
"threeDSReqPriorRef": "3b632ce4-26ea-407d-a2a0-4a7b27c91c14"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "1",
"purchaseCurrency": "USD",
"reference": "Febrero 2024",
"redirectURI": "https://www.placetopay.com/web",
"billAddrCity": "Medellín",
"billAddrCountry": "COL",
"billAddrLine1": "Carrera 65 # 45 - 20",
"billAddrPostCode": "050004",
"billAddrState": "ANT",
"email": "[email protected]",
"mobilePhone": {
"cc": "57",
"subscriber": "30011122333"
},
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "0e0ee43c-9601-4e29-9c8d-32b893ded4db",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "ab8b1aec-2cf9-4d60-a45f-8d499894dae5",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "072b329b-ca7f-47ff-a6b0-ff5a3d6321cb",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "BpkCBIU4VgAAAABkhAJTdYknEmE=",
"eci": "05",
"messageExtension": [
{
"name": "DAF Extension",
"id": "A000000003-003",
"criticalityIndicator": false,
"data": {
"chAccReqID": "MUHZx0nojuVVAZJwPD4CWps0RuxUPxepI8sk57Yd/s4=",
"authPayProcessReqInd": "01",
"version": "1.0",
"authPayCredStatus": "Y",
"dafAdvice": "01"
}
}
],
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-09T20:52:36+00:00",
"transactionID": 248013
}
Pago a plazos
Objetivo: Permitir a los comerciantes dividir el pago de una compra única en varias cuotas fijas, almacenando la autorización inicial para emitir cargos posteriores sin interacción adicional.
Glosario
- 3DS: Seguridad de tres dominios.
- 3RI: Inicio recurrente de 3-D Secure.
- CAVV: Valor de verificación de autenticación del titular de la tarjeta.
- BRW: Autenticación del navegador (canal 02).
- RI: Inicio recurrente (canal 03).
Definiciones
Una transacción a plazos es aquella en la que el monto total de la compra se divide en pagos periódicos más pequeños a lo largo de un período de tiempo determinado. Estos pagos pueden incluir intereses u otras tarifas asociadas con la financiación de la compra.
A diferencia de una transacción recurrente, en una transacción a plazos, el titular de la tarjeta realiza una única compra que se divide en varios pagos, en lugar de autorizar múltiples cargos separados. Cada pago puede requerir una autorización individual, pero el titular de la tarjeta no necesita autorizar los pagos futuros al realizar la compra inicial. Adicionalmente, la compra a plazos tiene límite en cantidad de autorizaciones purchaseInstalData y recurringExpiry y los montos son acumulados, la recurrencia tiene límite la fecha recurringExpiry y el monto es siempre el mismo, o al menos ese es el máximo.
Diferencias clave:
- Recurrente: mismo monto, misma frecuencia hasta
recurringExpiry
. - Plazos: montos acumulados y límite en número de autorizaciones (
purchaseInstalData
) y fecha (recurringExpiry
).
Para Mastercard este valor solo está disponible en la versión 2.3.1 del estándar y con Bridging Message Extension.
Casos de Uso
- Compras a plazos en línea: Por ejemplo, comprar un artículo como una computadora y dividir el pago en cuotas mensuales.
- Financiación de productos o servicios: Como la compra de muebles para el hogar, equipos electrónicos, o servicios médicos que ofrecen opciones de financiación a plazos.
- Planes de pago de vacaciones: Agencias de viajes que ofrecen la opción de pagar las vacaciones en varios pagos antes de la fecha del viaje
Prerrequisitos
- Autenticación inicial EMV 3DS debe ser completada a través de un desafío.
- (Visa DAF) VMID y rango de tarjetas habilitados.
Esquema General del Flujo
1. Autenticación inicial (pago cuota 1)
2. Guardar threeDSRequestorPriorAuthenticationInfo y CAVV
3. Para cada cuota siguiente:
a. Solicitud RI (`INSTALMENT_TRANSACTION`)
b. Cargo de la cuota con datos previos
Integración
Endpoint Base
POST https://3dss-dev.placetopay.ws/api/threeds/v2x/sessions
Parámetros Comunes
Campos DAF (Visa Digital Authentication Framework)
Estos campos adicionales son obligatorios si el comercio participa en DAF:
billAddrCity
,billAddrCountry
,billAddrLine1
,billAddrPostCode
,billAddrState
mobilePhone
Más detalles de requisitos DAF en: https://docs.placetopay.com/three-d-s-server/api/integration/session-d-a-f
Ejemplos por Marca
Mastercard – Primera Autenticación (Cuota 1)
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "INSTALMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"recurringExpiry": "20250101",
"recurringFrequency": "2",
"purchaseInstalData": "2",
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"purchaseAmount": "1000",
"purchaseCurrency": "USD",
"reference": "Plan 6 cuotas - Producto X",
"messageVersion": "2.2.0"
}
Visa – Primera Autenticación con DAF
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "INSTALMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"recurringExpiry": "20260101",
"recurringFrequency": "2",
"purchaseInstalData": "2",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "1000",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Plan 6 cuotas - Producto X",
"billAddrCity": "Medellín",
"billAddrCountry": "COL",
"billAddrLine1": "Carrera 65 # 45 - 20",
"billAddrPostCode": "050004",
"billAddrState": "ANT",
"email": "[email protected]",
"mobilePhone": {
"cc": "57",
"subscriber": "30011122333"
},
"messageVersion": "2.2.0"
}
Respuesta
Tanto para Visa como para Mastercard, las autenticaciones iniciales se responden con los siguientes paramentros:
{
"action": "redirect",
"sessionToken": "398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86036/398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"transactionID": 248002
}
Autenticaciones Posteriores (RI)
En la fase recurrente, use deviceChannel
: RI
.
Mastercard – ejemplo de solicitud para autenticaciones subsecuentes
{
"deviceChannel": "RI",
"threeRIInd": "INSTALMENT_TRANSACTION",
"recurringExpiry": "20250101",
"recurringFrequency": "2",
"purchaseInstalData": "2",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T16:12:47+00:00",
"threeDSReqPriorRef": "51bbcd10-0c31-4efc-ad49-ba9bdea2f413"
},
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"purchaseAmount": "500",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Plan 6 cuotas - Cuota 2",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "f5e8b9c4-5cfd-461d-9115-e51fe7d5c42a",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539",
"acsTransID": "98d5739a-c623-4512-9f87-a48368848d44",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "def67c44-653a-4879-b500-935d8429b4a4",
"messageVersion": "2.2.0",
"acsOperatorID": "ACS-V210-ACS-PLACETOPAY-11174",
"authenticationValue": "xgRKM8pzAAAAAAAAAAAAAAAAAAA=",
"eci": "07",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T16:16:19+00:00",
"transactionID": 248067
}
Visa – ejemplo de solicitud para autenticaciones subsecuentes con DAF
{
"deviceChannel": "RI",
"threeRIInd": "INSTALMENT_TRANSACTION",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T16:35:31+00:00",
"threeDSReqPriorRef": "f0bb9172-018d-42ae-b2ad-715e274bddef"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "500",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Plan 6 cuotas - Cuota 2",
"billAddrCity": "Medellín",
"billAddrCountry": "COL",
"billAddrLine1": "Carrera 65 # 45 - 20",
"billAddrPostCode": "050004",
"billAddrState": "ANT",
"email": "[email protected]",
"mobilePhone": {
"cc": "57",
"subscriber": "30011122333"
},
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "50709e2a-4dad-4c60-acaa-c5d3e1ede924",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "3cdfa009-4018-4230-a72b-658587a5794c",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "72455b8f-5a57-4716-93fe-b72d3878805b",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "BpkCBSMnAAAAAMNQhAJUdYknEmE=",
"eci": "05",
"messageExtension": [
{
"name": "DAF Extension",
"id": "A000000003-003",
"criticalityIndicator": false,
"data": {
"chAccReqID": "MUHZx0nojuVVAZJwPD4CWps0RuxUPxepI8sk57Yd/s4=",
"authPayProcessReqInd": "01",
"version": "1.0",
"authPayCredStatus": "Y",
"dafAdvice": "01"
}
}
],
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T19:45:25+00:00",
"transactionID": 248109
}
Envío dividido
Objetivo: Permitir cargos separados asociados a un único pedido cuando la entrega se realiza en múltiples envíos, reutilizando la autenticación inicial sin interacción adicional.
Glosario
- 3DS: Three-Domain Secure.
- 3RI: 3‑D Secure Recurrent Initiation.
- CAVV: Cardholder Authentication Verification Value.
- APP: Autenticación In‑App (canal 01).
- BRW: Autenticación Browser (canal 02).
- RI: Recurrent Initiation (canal 03).
Definición
Este tipo de transacción se utiliza para indicar que la transacción corresponde a un envío dividido Split Shipment. En un escenario de Split Shipment, un pedido o reserva se paga en varias transacciones porque los servicios o productos se proporcionan en momentos diferentes. Aunque el pedido inicial es único, la entrega de sus componentes se divide, y cada parte puede ser cobrada cuando esté lista o confirmada.
Los Envíos divididos permiten a los comerciantes solicitar un nuevo CAVV para obtener protección de responsabilidad en autorizaciones posteriores que puedan ser necesarias debido a múltiples autorizaciones relacionadas con un solo pedido. Este tipo de solicitudes pueden ser realizadas por cualquier comerciante que deba procesar varias autorizaciones asociadas a una única autenticación.
Datos a considerar al procesar envíos divididos:
El nombre del solicitante 3DS threeDSRequestorName y el nombre del comerciante merchantName deben ser los mismos en la solicitud de autenticación inicial y en cada una de las solicitudes 3RI asociadas. El valor total de todas las solicitudes 3RI no debe superar la suma del monto de la solicitud inicial de autenticación y del total de los montos ya autorizados. Los emisores deben realizar un seguimiento del valor total utilizando los datos de transacción tanto de la autorización directa como de la autenticación EMV 3DS
Casos de Uso
- Pedidos con múltiples artículos: un cliente realiza un pedido de varios productos que no están todos disponibles en el almacén al mismo tiempo. Por lo tanto, el comerciante decide enviar los artículos en varias entregas, dependiendo de la disponibilidad.
Prerrequisitos
- Autenticación inicial EMV 3DS debe ser completada a través de un desafío.
- (Visa DAF) VMID y rango de tarjetas habilitados.
Esquema General del Flujo
1. Autenticación inicial (importe total del pedido)
2. Guardar threeDSRequestorPriorAuthenticationInfo y CAVV
3. Para cada envío parcial:
a. Solicitud RI (SPLIT_OR_DELAYED_SHIPMENT)
b. Envío de cargo con CAVV obtenido
Integración
Endpoint Base
POST https://3dss-dev.placetopay.ws/api/threeds/v2x/sessions
Parámetros Comunes
Ejemplos por Marca
Mastercard – Primera Autenticación (por el importe total de la orden)
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"purchaseAmount": "167",
"purchaseCurrency": "USD",
"reference": "Pedido #1234 - Total",
"messageVersion": "2.2.0"
}
Visa – Primera Autenticación (por el importe total de la orden)
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "167",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Pedido #1234 - Total",
"messageVersion": "2.2.0"
}
Respuesta
Tanto para Visa como para Mastercard, las autenticaciones iniciales se responden con los siguientes paramentros:
{
"action": "redirect",
"sessionToken": "1e7c2e6f2516a07020f30f8e5ef63bca7de42e16ac9498b61f2a8efd5ba52968",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86160/1e7c2e6f2516a07020f30f8e5ef63bca7de42e16ac9498b61f2a8efd5ba52968",
"transactionID": 248126
}
Autenticaciones Posteriores (RI)
En la fase recurrente, use deviceChannel
: RI
.
Mastercard – ejemplo de solicitud segundo bien/servicio
{
"deviceChannel": "RI",
"threeRIInd": "SPLIT_OR_DELAYED_SHIPMENT",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-08-14T16:16:01+00:00",
"threeDSReqPriorRef": "bd8571cb-f4f3-4ec6-ac23-d7ec11038c1c"
},
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"purchaseAmount": "12",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Pedido #1234 - Envío 2",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "4159591c-bb88-4321-a295-0e6397377d3b",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539",
"acsTransID": "b4ec2f82-106b-469b-897d-f2aa37bbf25f",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "dc477252-ff8d-433d-b44a-4f8edbb0cae8",
"messageVersion": "2.2.0",
"acsOperatorID": "ACS-V210-ACS-PLACETOPAY-11174",
"authenticationValue": "xgTkbC8MAAAAAAAAAAAAAAAAAAA=",
"eci": "07",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T20:19:30+00:00",
"transactionID": 248121
}
Visa – ejemplo de solicitud segundo bien/servicio
{
"deviceChannel": "RI",
"threeRIInd": "SPLIT_OR_DELAYED_SHIPMENT",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T20:33:55+00:00",
"threeDSReqPriorRef": "68ea3861-fa27-429b-8633-ff3f6a288f71"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "12",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Pedido #1234 - Envío 2",
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "87b8930d-8523-4083-8780-67adf3aeca96",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "b02b97b8-6748-4ecb-9f42-441b7d83d9cd",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "26281147-cee2-4683-a538-c70fad690a08",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "AJkCBxaRcQAAAASwhAJUdYknEmE=",
"eci": "05",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T20:35:17+00:00",
"transactionID": 248127
}
Mastercard – ejemplo de solicitud tercer y último bien/servicio
{
"deviceChannel": "RI",
"threeRIInd": "SPLIT_OR_DELAYED_SHIPMENT",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T20:16:01+00:00",
"threeDSReqPriorRef": "49c34627-aa6b-41dc-bdc8-e21c0276d9ce"
},
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"purchaseAmount": "130",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Pedido #1234 - Envío 3",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "bc925646-c654-4ba2-9e0a-9afaaa5684cc",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539",
"acsTransID": "187648b7-ae15-4da6-a5df-f7298db768d9",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "a0a446cd-0767-4fa7-942b-e94571f1f37c",
"messageVersion": "2.2.0",
"acsOperatorID": "ACS-V210-ACS-PLACETOPAY-11174",
"authenticationValue": "xgSlHx+5AAAAAAAAAAAAAAAAAAA=",
"eci": "07",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T20:23:36+00:00",
"transactionID": 248122
}
Visa – ejemplo de solicitud segundo bien/servicio
{
"deviceChannel": "RI",
"threeRIInd": "SPLIT_OR_DELAYED_SHIPMENT",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T20:33:55+00:00",
"threeDSReqPriorRef": "68ea3861-fa27-429b-8633-ff3f6a288f71"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "130",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Pedido #1234 - Envío 3",
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "2f9f285a-f876-4744-adaa-9c1cedf97271",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "14f3123b-d769-4a14-afea-d6bd5719d332",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "f1ca5639-b587-4cd1-894e-fa14b97b9fdf",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "AJkCAWCXJgAAADLIhAJUdYknEmE=",
"eci": "05",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T20:38:23+00:00",
"transactionID": 248129
}
Envío Retrasado
Objetivo: Proporcionar a los comerciantes una extensión de protección de responsabilidad más allá de los 90 días tras la autenticación inicial, emitiendo un nuevo CAVV mediante 3RI para envíos o servicios que se retrasan.
Glosario
- 3DS: Three-Domain Secure.
- 3RI: 3‑D Secure Recurrent Initiation.
- CAVV: Cardholder Authentication Verification Value.
- BRW: Autenticación Browser (canal 02).
- RI: Recurrent Initiation (canal 03).
Definiciones
Permite a los comerciantes mantener la protección de responsabilidad más allá de los 90 días después de una autenticación inicial. Los comerciantes pueden utilizar esta funcionalidad cuando, por ejemplo, un envío/servicio se retrasa más de 90 días. Si la solicitud 3RI tiene éxito, se generará un nuevo CAVV para el comerciante, otorgando otros 90 días de protección de responsabilidad.
Cuando los comerciantes soliciten un nuevo CAVV a través de una autenticación de 3RI, deben hacerlo dentro de los 90 días posteriores a la fecha de la autenticación inicial. Los comerciantes solo deben enviar este tipo de solicitudes si necesitan protección de responsabilidad más allá de los 90 días desde la autenticación inicial. Deberían retrasar la solicitud de un nuevo CAVV tanto como sea posible dentro del período de 90 días. Si el CAVV inicial ha expirado, aunque ya no proporciona protección de responsabilidad, los emisores deben considerar que aún puede ser utilizado por el comerciante como prueba de que se realizó la autenticación.
Datos a considerar al procesar envíos divididos:
- El nombre del solicitante 3DS threeDSRequestorName y el nombre del comerciante merchantName deben ser los mismos en la solicitud de autenticación inicial y en cada una de las solicitudes 3RI asociadas
- El valor total de todas las solicitudes 3RI no debe sumar un monto mayor que el monto de la solicitud de autenticación inicial y del total de los montos ya autorizados
Casos de Uso
- Preventa de productos: un cliente compra un producto en preventa, como un libro o un dispositivo electrónico que aún no está disponible. La tarjeta se carga cuando se realiza la compra, pero el producto se enviará semanas o meses después cuando esté disponible.
- Productos fuera de stock: un cliente compra un producto que no está en stock en ese momento, pero que será enviado una vez que esté disponible. La tarjeta se carga al hacer el pedido, y el producto se envía cuando el inventario se repone.
- Pedidos con envíos programados: un cliente compra varios productos, pero solicita que el envío se realice en una fecha futura específica. El pago se procesa de inmediato, pero el envío se retrasa hasta la fecha solicitada.
Prerrequisitos
- Autenticación inicial EMV 3DS debe ser completada a través de un desafío.
- (Visa DAF) VMID y rango de tarjetas habilitados.
Esquema General del Flujo
1. Autenticación inicial (importe total del pedido)
2. Guardar threeDSRequestorPriorAuthenticationInfo y CAVV inicial
3. Antes de 90 días, enviar 3RI (`SPLIT_OR_DELAYED_SHIPMENT`) para nuevo CAVV
Integración
Endpoint Base
POST https://3dss-dev.placetopay.ws/api/threeds/v2x/sessions
Parámetros Comunes
Ejemplos por Marca
Mastercard – Primera Autenticación
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"purchaseAmount": "112",
"purchaseCurrency": "USD",
"reference": "Producto X",
"messageVersion": "2.2.0"
}
Visa – Primera Autenticación
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "112",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Producto X",
"messageVersion": "2.2.0"
}
Respuesta
Tanto para Visa como para Mastercard, las autenticaciones iniciales se responden con los siguientes paramentros:
{
"action": "redirect",
"sessionToken": "398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86036/398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"transactionID": 248002
}
Autenticaciones Posteriores
En la fase recurrente, use deviceChannel
: RI
.
Mastercard – ejemplo de solicitud 3RI de un bien/servicio retrasado
{
"deviceChannel": "RI",
"threeRIInd": "SPLIT_OR_DELAYED_SHIPMENT",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T21:06:02+00:00",
"threeDSReqPriorRef": "2dd8d5d0-8563-4ae5-aa9e-23d31fa6fb85"
},
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"purchaseAmount": "112",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Producto X",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "f91b89a9-7924-48de-97ab-8cc58bc5fcc2",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539",
"acsTransID": "cc3b5ff3-9dd7-44ae-bfa0-472de466f449",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "a730d64c-ddb1-4f99-8f2c-4591d00021e3",
"messageVersion": "2.2.0",
"acsOperatorID": "ACS-V210-ACS-PLACETOPAY-11174",
"authenticationValue": "xgQkuJ5tAAAAAAAAAAAAAAAAAAA=",
"eci": "07",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T21:07:09+00:00",
"transactionID": 248135
}
Visa – ejemplo de solicitud 3RI de un bien/servicio retrasado
{
"deviceChannel": "RI",
"threeRIInd": "SPLIT_OR_DELAYED_SHIPMENT",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T21:10:29+00:00",
"threeDSReqPriorRef": "7f7c0594-7e0f-4b13-bd45-6d180c35ffb0"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "112",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Producto X",
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "0ec3a36a-3c91-4864-bfc0-730300027805",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "4483ff06-0f36-45a2-aa13-b7f88564910b",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "8360727e-22ff-4c23-bef8-ba2510eaf59b",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "AJkCAREXeQAAACvAhAJUdYknEmE=",
"eci": "05",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T21:12:29+00:00",
"transactionID": 248138
}
Otros Pagos / Comercio entre Múltiples Partes
Objetivo: Brindar soporte a escenarios en los que varias partes (agentes, proveedores, comerciantes) participan en un único flujo de autenticación y múltiples autorizaciones bajo una misma reserva o pago.
Glosario
- 3DS: Three-Domain Secure.
- 3RI: 3‑D Secure Recurrent Initiation.
- CAVV: Cardholder Authentication Verification Value.
- BRW: Autenticación Browser (canal 02).
- RI: Recurrent Initiation (canal 03).
Definiciones
Otros pagos es la categoría reservada para los escenarios de comercio entre múltiples partes que pueden tener lugar cuando varias partes están involucradas en el procesamiento de múltiples autorizaciones asociadas con una única reserva de viaje o cuando varias partes en sectores distintos al de viajes están involucradas en el procesamiento de múltiples autorizaciones asociadas con un único pago desde el punto de vista del titular de la tarjeta.
En la solicitud de autenticación inicial y las solicitudes 3RI asociadas, los agentes de reservas/proveedores de servicios comerciales también deben usar las convenciones de nomenclatura y los identificadores apropiados para el caso de uso para el que están autenticando:
- Autenticación solo en nombre de un solo comerciante
- Autenticación en nombre de varios comerciantes
- Autenticarse a sí mismos y en nombre de otro comerciante
De manera similar a los envíos divididos, los emisores deben realizar un seguimiento del valor total utilizando los datos de transacción tanto de autorización como de autenticación. Esto es necesario ya que el agente de reservas/proveedor de servicios del comerciante no puede realizar una solicitud 3RI para todas las partes involucradas en la transacción y, como tal, el emisor no puede asumir que la suma de todas las solicitudes 3RI será igual al total del monto de autenticación inicial, pero los montos 3RI no deben exceder el monto autenticado original.
Agente de reservas que realiza la autenticación en nombre de un único comerciante
El titular de una tarjeta ha reservado un artículo en el sitio web de un agente de viajes, por ejemplo, un vuelo por valor de $395, que se debe pagar al vendedor (es decir, la aerolínea, que será el comerciante en el sistema de autorización) o cobrar por él en el momento de la reserva, pero el agente de viajes se encarga de la autenticación.
Agente de reservas que realiza la autenticación en nombre de varios comerciantes
Un titular de tarjeta ha reservado en un sitio web de viajes agente de reservas tres artículos pagaderos a cada proveedor de viajes individual comerciante 1, 2 y 3 en el sistema de autorización. El sitio web de viajes no está recaudando fondos, sino que realiza la autenticación en nombre de los 3 proveedores de viajes:
- Un vuelo por $170 pagadero a la aerolínea proveedor/comerciante 1 en el momento de la reserva
- Un hotel para el cual no se debe realizar un depósito en el momento de la reserva (el hotel proveedor/comerciante 2 toma los datos de la tarjeta en caso de que se requiera un pago por no presentarse
- Un alquiler de automóvil para el cual se debe realizar un depósito de $50 a la compañía de alquiler vendedor/comerciante 3 en el momento de la reserva
Integración
Endpoint Base
POST https://3dss-dev.placetopay.ws/api/threeds/v2x/sessions
Parámetros Comunes
Ejemplos por Marca
Autenticación inicial por el importe total del pedido por parte del agente de reservas
Mastercard
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "MASTERCARD_THE_PAYMENT_REQUEST_IS_FOR_AN_AGENT_PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"purchaseAmount": "395",
"purchaseCurrency": "USD",
"reference": "Enero 2024",
"messageVersion": "2.2.0"
}
Visa
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"purchaseAmount": "395",
"purchaseCurrency": "USD",
"reference": "Enero 2024",
"messageVersion": "2.2.0"
}
Respuesta
Tanto para Visa como para Mastercard, las autenticaciones iniciales se responden con los siguientes paramentros:
{
"action": "redirect",
"sessionToken": "398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86036/398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"transactionID": 248002
}
Autenticación inicial por el importe total del pedido por parte del agente de reservas
Mastercard
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "MASTERCARD_THE_PAYMENT_REQUEST_IS_FOR_AN_AGENT_PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"purchaseAmount": "395",
"purchaseCurrency": "USD",
"reference": "Enero 2024",
"messageVersion": "2.2.0"
}
Visa
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"purchaseAmount": "395",
"purchaseCurrency": "USD",
"reference": "Enero 2024",
"messageVersion": "2.2.0"
}
Respuesta
Tanto para Visa como para Mastercard, las autenticaciones iniciales se responden con los siguientes paramentros:
{
"action": "redirect",
"sessionToken": "398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86036/398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"transactionID": 248002
}
Autenticación inicial por parte del agente de reservas por el monto adeudado por el pedido.
Mastercard
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "MASTERCARD_THE_PAYMENT_REQUEST_IS_FOR_AN_AGENT_PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "5107000000010018",
"cardExpiryDate": "2806",
"purchaseAmount": "220",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"messageVersion": "2.2.0"
}
Visa
{
"deviceChannel": "BRW",
"threeDSAuthenticationInd": "PAYMENT_TRANSACTION",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"recurringExpiry": "20260101",
"recurringFrequency": "2",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "220",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Enero 2024",
"messageVersion": "2.2.0"
}
Respuesta
Tanto para Visa como para Mastercard, las autenticaciones iniciales se responden con los siguientes paramentros:
{
"action": "redirect",
"sessionToken": "398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86036/398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"transactionID": 248002
}
Autenticaciones Posteriores
En la fase recurrente, use deviceChannel
: RI
.
Transacciones 3RI aerolínea
El agente de reservas realiza la transaccion 3RI para obtener el CAVV y proporcionarlo al comerciante de viajes 1 (aerolínea)
Mastercard – ejemplo de solicitud 3RI
{
"deviceChannel": "RI",
"threeRIInd": "MASTERCARD_3RI_IS_FOR_AN_AGENT_PAYMENT_TRANSACTION",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:21:27+00:00",
"threeDSReqPriorRef": "c524216d-a19e-4a6b-ae1c-40b82c59fe38"
},
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"purchaseAmount": "170",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Marzo 2024",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "1045a464-161f-4538-a769-9a0f84e27a3d",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539",
"acsTransID": "f31f4da1-7ac1-4be4-b37a-9e28d8e4eb9e",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "a0dca8a6-5fc5-49f9-96b2-8ee5c9e51508",
"messageVersion": "2.2.0",
"acsOperatorID": "ACS-V210-ACS-PLACETOPAY-11174",
"authenticationValue": "xgSFPEJIAAAAAAAAAAAAAAAAAAA=",
"eci": "07",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T22:34:13+00:00",
"transactionID": 248159
}
Visa – ejemplo de solicitud 3RI
{
"deviceChannel": "RI",
"threeRIInd": "OTHER_PAYMENT",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:44:39+00:00",
"threeDSReqPriorRef": "9e4c13a7-0813-4402-9c53-687a01303f78"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "170",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Febrero 2024",
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "1a53d143-230f-47b9-b886-a201ee867489",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "179f6511-b042-41f3-939d-7f862a527751",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "f5eb0bae-dccf-498e-b639-4abf5e86b162",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "AJkCAhAyeQAAAEJohAJUdYknEmE=",
"eci": "05",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T22:46:32+00:00",
"transactionID": 248164
}
Transacciones 3RI hotel
Mastercard – ejemplo de solicitud 3RI
{
"deviceChannel": "RI",
"threeRIInd": "MASTERCARD_3RI_IS_FOR_AN_AGENT_PAYMENT_TRANSACTION",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:21:27+00:00",
"threeDSReqPriorRef": "c524216d-a19e-4a6b-ae1c-40b82c59fe38"
},
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"purchaseAmount": "0",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Abril 2024",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "32c88ea6-7841-4c8b-9067-b84c99b20784",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539",
"acsTransID": "fa92fe01-84f7-4ae7-a3f1-1dd50f97ebef",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "634b8dc1-aa5b-48c3-b367-022156663c81",
"messageVersion": "2.2.0",
"acsOperatorID": "ACS-V210-ACS-PLACETOPAY-11174",
"authenticationValue": "xgRTaR2SAAAAAAAAAAAAAAAAAAA=",
"eci": "07",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-09-10T22:36:05+00:00",
"transactionID": 248160
}
Visa – ejemplo de solicitud 3RI
{
"deviceChannel": "RI",
"threeRIInd": "OTHER_PAYMENT",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:44:39+00:00",
"threeDSReqPriorRef": "9e4c13a7-0813-4402-9c53-687a01303f78"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "0",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Marzo 2024",
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "b9913d5d-4980-4103-b77c-5daf0c7054b0",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "e9b7726c-6f9a-4606-afe3-09dce49f49a2",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "6f9c449a-0ff3-4438-8c47-e3009ded9cd1",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "AJkCB4EjdQAAAAAAhAJUdYknEmE=",
"eci": "05",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "01",
"authTimestamp": "2024-09-10T22:48:07+00:00",
"transactionID": 248165
}
Transacciones 3RI automóvil El agente de reservas realiza la transacción 3RI para obtener el CAVV y proporcionarlo al comerciante de viajes 3 (alquiler automóvil)
Mastercard – ejemplo de solicitud 3RI
{
"deviceChannel": "RI",
"threeRIInd": "85",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:21:27+00:00",
"threeDSReqPriorRef": "c524216d-a19e-4a6b-ae1c-40b82c59fe38"
},
"acctNumber": "5107000000010018",
"cardExpiryDate": "2902",
"purchaseAmount": "50",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Marzo 2024",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "c34f67dc-7a25-4977-97f7-ca1f961946be",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539",
"acsTransID": "fd189ecf-c65e-4a7d-9640-89662b850038",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "4680679e-d6ed-48d2-89d2-b73de0828a57",
"messageVersion": "2.2.0",
"acsOperatorID": "ACS-V210-ACS-PLACETOPAY-11174",
"authenticationValue": "xgSELtLrAAAAAAAAAAAAAAAAAAA=",
"eci": "07",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "01",
"authTimestamp": "2024-09-10T22:38:11+00:00",
"transactionID": 248161
}
Visa – ejemplo de solicitud 3RI
{
"deviceChannel": "RI",
"threeRIInd": "OTHER_PAYMENT",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:44:39+00:00",
"threeDSReqPriorRef": "9e4c13a7-0813-4402-9c53-687a01303f78"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "50",
"redirectURI": "https://www.placetopay.com/web",
"purchaseCurrency": "USD",
"reference": "Mayo 2024",
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "7a64778d-45de-48ae-8c78-ec688775315d",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "d4b3bbae-5594-4c89-9cf8-ae2ac3499223",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "5c4c3ec0-d31b-442d-81e8-86025c08cb9d",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "AJkCByOJNAAAABOIhAJUdYknEmE=",
"eci": "05",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "01",
"authTimestamp": "2024-09-10T22:49:54+00:00",
"transactionID": 248166
}
Transacciones con Tarjeta Registrada No Programadas (UCOF)
Objetivo: Permitir a los comerciantes procesar cargos únicos y no programados utilizando la información de tarjeta almacenada previamente, sin requerir interacción adicional del tarjetahabiente, protegidos por 3DS.
Glosario
- 3DS: Three-Domain Secure.
- 3RI: 3‑D Secure Recurrent Initiation.
- UCOF: Unscheduled Card-On-File.
- NPA: No Payment (transacción sin debitar fondos).
- PA: Payment (transacción que verifica fondos).
- BRW: Autenticación Browser (canal 02).
- RI: Recurrent Initiation (canal 03).
Definiciones
Las transacciones UCOF Unscheduled card-on-file se producen cuando un comerciante utiliza la información de la tarjeta almacenada en su sistema para realizar un cargo único y no programado en la tarjeta del cliente. Estas transacciones no están asociadas con pagos recurrentes o a plazos, sino que son transacciones únicas que aprovechan la información de la tarjeta almacenada previamente para facilitar el pago.
- Compras en línea sin intervención del titular de la tarjeta: Por ejemplo, un cliente realiza una compra en un sitio web utilizando la opción de guardar tarjeta para futuras compras. Luego, en una fecha posterior, el comerciante utiliza la información de la tarjeta almacenada para procesar un pago por una compra adicional sin la necesidad de una interacción adicional por parte del cliente.
- Renovaciones automáticas de servicios no periódicos: Algunos servicios no siguen un ciclo de facturación regular, pero aún pueden optar por utilizar la información de la tarjeta almacenada para facilitar el pago de renovaciones automáticas. Por ejemplo, la renovación anual de una suscripción a un software que no se factura mensualmente, pero que utiliza la información de la tarjeta almacenada para procesar automáticamente el pago cuando llega la fecha de renovación.
- Pagos de tarifas o cargos únicos: Situaciones en las que un cliente necesita realizar un pago único y no programado a un comerciante, como el pago de una factura pendiente, un cargo por servicio adicional, o una compra de último minuto.
Casos de Uso
- Compras adicionales sin login: uso de “guardar tarjeta” para compras futuras.
- Renovaciones no periódicas: pagos anuales de suscripciones.
- Cargos de servicio únicos: facturas pendientes, penalidades, compras de último minuto.
Prerrequisitos
- Autenticación inicial EMV 3DS.
- Credenciales de comercio y firma HMAC configuradas.
Esquema General del Flujo
1. Autenticación inicial (ADD_CARD o NPA)
2. Guardar threeDSRequestorPriorAuthenticationInfo y CAVV
3. Solicitud RI (UCOF) para cargo único
Integración
Endpoint Base
POST https://3dss-dev.placetopay.ws/api/threeds/v2x/sessions
Parámetros Comunes
Ejemplos por Marca
Visa No Pago (NPA)
Opción NPA: esta opción no require verificar fondos de la cuenta.
Visa - Primera Autenticación, agregar tarjeta
{
"deviceChannel": "BRW",
"messageCategory": "02",
"threeDSAuthenticationInd": "ADD_CARD",
"threeDSChallengeInd": "CHALLENGE_REQUESTED_MANDATE",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Enero 2024",
"messageVersion": "2.2.0",
"billAddrCity": "Medellín",
"billAddrCountry": "COL",
"billAddrLine1": "Carrera 65 # 45 - 20",
"billAddrPostCode": "050004",
"billAddrState": "ANT",
"email": "[email protected]",
"mobilePhone": {
"cc": "57",
"subscriber": "30011122333"
}
}
Respuesta
{
"action": "redirect",
"sessionToken": "398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86036/398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"transactionID": 248002
}
Autenticaciones Posteriores
Visa – ejemplo de solicitud 3RI
{
"deviceChannel": "RI",
"threeRIInd": "81",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-05-03T22:48:06+00:00",
"threeDSReqPriorRef": "5d822226-d2ad-4a43-8270-87c95003dad4",
"threeDSReqPriorAuthData": "valid_data"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "1.00",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Febrero 2024",
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "aec4b66f-f4ce-4bbf-9904-0759efa6ea8e",
"acsReferenceNumber": "PTOPID",
"acsTransID": "f7a98ab1-37d1-4e20-a7db-8f0491fbdd6d",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "655fabd4-ee08-4bab-963f-68c79063438f",
"messageVersion": "2.2.0",
"acsOperatorID": "CAS_OPERD_DR",
"authenticationValue": "BpkCBBYBJAAAAABkhAEkdYR0cUU=",
"eci": "05",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "RI",
"messageCategory": "PA",
"authMethod": "FRICTIONLESS_AUTHENTICATION",
"authTimestamp": "2024-05-03T22:49:38+00:00"
}
Visa No Pago (NPA) y DAF
La implementación con DAF es opcional.
Visa
{
"deviceChannel": "02",
"messageCategory": "02",
"threeDSAuthenticationInd": "04",
"threeDSChallengeInd": "04",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Enero 2024",
"messageVersion": "2.2.0",
"billAddrCity": "Medellín",
"billAddrCountry": "COL",
"billAddrLine1": "Carrera 65 # 45 - 20",
"billAddrPostCode": "050004",
"billAddrState": "ANT",
"email": "[email protected]",
"mobilePhone": {
"cc": "57",
"subscriber": "30011122333"
}
}
Respuesta
{
"action": "redirect",
"sessionToken": "398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86036/398864c1e4c8217283b67f0312a2d8ee14e3814c0e000a92d4532bc406f65d2f",
"transactionID": 248002
}
Autenticaciones Posteriores
Visa – ejemplo de solicitud 3RI
{
"deviceChannel": "03",
"threeRIInd": "81",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:53:21+00:00",
"threeDSReqPriorRef": "e59f9e12-aaa5-4f29-a5ce-0acbb90fc2cb"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "1.00",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Febrero 2024",
"billAddrCity": "Medellín",
"billAddrCountry": "COL",
"billAddrLine1": "Carrera 65 # 45 - 20",
"billAddrPostCode": "050004",
"billAddrState": "ANT",
"email": "[email protected]",
"mobilePhone": {
"cc": "57",
"subscriber": "30011122333"
},
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "d48e4da7-889c-41c1-82eb-a8dba4e58d44",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "710adf8a-aaa2-43a1-9510-80edda02f347",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "b2255f0e-6bce-4a63-973c-396c03abe85d",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "BpkCCAAhkgAAAABkhAJUdYknEmE=",
"eci": "05",
"messageExtension": [
{
"name": "DAF Extension",
"id": "A000000003-003",
"criticalityIndicator": false,
"data": {
"chAccReqID": "MUHZx0nojuVVAZJwPD4CWps0RuxUPxepI8sk57Yd/s4=",
"authPayProcessReqInd": "01",
"version": "1.0",
"authPayCredStatus": "Y",
"dafAdvice": "01"
}
}
],
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "03",
"messageCategory": "PA",
"authMethod": "01",
"authTimestamp": "2024-09-10T22:56:48+00:00",
"transactionID": 248168
}
Visa Pago (PA)
Opción PA: esta opción requiere verificar los fondos de la cuenta. Se asigna un valor mínimo de ejemplo, tenga en cuenta este valor en la implementación.
Visa
{
"deviceChannel": "02",
"messageCategory": "01",
"threeDSAuthenticationInd": "04",
"threeDSChallengeInd": "04",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "1.00",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Enero 2024",
"messageVersion": "2.2.0"
}
Respuesta
{
"action": "redirect",
"sessionToken": "ea515edd9d05e07ad58df6a96adf6b806172de055743099787318236304899f4",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86202/ea515edd9d05e07ad58df6a96adf6b806172de055743099787318236304899f4",
"transactionID": 248168
}
Autenticaciones Posteriores
Visa – ejemplo de solicitud 3RI
{
"deviceChannel": "03",
"threeRIInd": "81",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:53:21+00:00",
"threeDSReqPriorRef": "e59f9e12-aaa5-4f29-a5ce-0acbb90fc2cb"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "1.00",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Febrero 2024",
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "d48e4da7-889c-41c1-82eb-a8dba4e58d44",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "710adf8a-aaa2-43a1-9510-80edda02f347",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "b2255f0e-6bce-4a63-973c-396c03abe85d",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "BpkCCAAhkgAAAABkhAJUdYknEmE=",
"eci": "05",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "03",
"messageCategory": "PA",
"authMethod": "01",
"authTimestamp": "2024-09-10T22:56:48+00:00",
"transactionID": 248168
}
Visa Pago (PA) y DAF
La implementación con DAF es opcional.
Opción PA: esta opción requiere verificar los fondos de la cuenta. Se asigna un valor mínimo de ejemplo, tenga en cuenta este valor en la implementación.
Visa
{
"deviceChannel": "02",
"messageCategory": "01",
"threeDSAuthenticationInd": "04",
"threeDSChallengeInd": "04",
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "1.00",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Enero 2024",
"messageVersion": "2.2.0",
"billAddrCity": "Medellín",
"billAddrCountry": "COL",
"billAddrLine1": "Carrera 65 # 45 - 20",
"billAddrPostCode": "050004",
"billAddrState": "ANT",
"email": "[email protected]",
"mobilePhone": {
"cc": "57",
"subscriber": "30011122333"
}
}
Respuesta
{
"action": "redirect",
"sessionToken": "ea515edd9d05e07ad58df6a96adf6b806172de055743099787318236304899f4",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86202/ea515edd9d05e07ad58df6a96adf6b806172de055743099787318236304899f4",
"transactionID": 248168
}
Autenticaciones Posteriores
Visa – ejemplo de solicitud 3RI
{
"deviceChannel": "03",
"threeRIInd": "81",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:53:21+00:00",
"threeDSReqPriorRef": "e59f9e12-aaa5-4f29-a5ce-0acbb90fc2cb"
},
"acctNumber": "4931119220729333",
"cardExpiryDate": "2902",
"purchaseAmount": "1.00",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Febrero 2024",
"billAddrCity": "Medellín",
"billAddrCountry": "COL",
"billAddrLine1": "Carrera 65 # 45 - 20",
"billAddrPostCode": "050004",
"billAddrState": "ANT",
"email": "[email protected]",
"mobilePhone": {
"cc": "57",
"subscriber": "30011122333"
},
"messageVersion": "2.2.0"
}
Visa - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "d48e4da7-889c-41c1-82eb-a8dba4e58d44",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "710adf8a-aaa2-43a1-9510-80edda02f347",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "b2255f0e-6bce-4a63-973c-396c03abe85d",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "BpkCCAAhkgAAAABkhAJUdYknEmE=",
"eci": "05",
"messageExtension": [
{
"name": "DAF Extension",
"id": "A000000003-003",
"criticalityIndicator": false,
"data": {
"chAccReqID": "MUHZx0nojuVVAZJwPD4CWps0RuxUPxepI8sk57Yd/s4=",
"authPayProcessReqInd": "01",
"version": "1.0",
"authPayCredStatus": "Y",
"dafAdvice": "01"
}
}
],
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "03",
"messageCategory": "PA",
"authMethod": "01",
"authTimestamp": "2024-09-10T22:56:48+00:00",
"transactionID": 248168
}
Mastercard No Pago (NPA)
Opción NPA: esta opción no requiere verificar fondos de la cuenta.
Mastercard
{
"deviceChannel": "02",
"messageCategory": "02",
"threeDSAuthenticationInd": "04",
"threeDSChallengeInd": "04",
"acctNumber": "5180300000000005",
"cardExpiryDate": "2902",
"redirectURI": "https://www.placetopay.com/web",
"reference": "MC_3DS_2024",
"messageVersion": "2.2.0"
}
Respuesta
{
"action": "redirect",
"sessionToken": "ea515edd9d05e07ad58df6a96adf6b806172de055743099787318236304899f4",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86203/ea515edd9d05e07ad58df6a96adf6b806172de055743099787318236304899f4",
"transactionID": 248168
}
Autenticaciones Posteriores
Mastercard – ejemplo de solicitud 3RI
{
"deviceChannel": "03",
"threeRIInd": "11",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:53:21+00:00",
"threeDSReqPriorRef": "e59f9e12-aaa5-4f29-a5ce-0acbb90fc2cb"
},
"acctNumber": "5180300000000005",
"cardExpiryDate": "2902",
"purchaseAmount": "1.00",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Febrero 2024",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "d48e4da7-889c-41c1-82eb-a8dba4e58d44",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "710adf8a-aaa2-43a1-9510-80edda02f347",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "b2255f0e-6bce-4a63-973c-396c03abe85d",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "BpkCCAAhkgAAAABkhAJUdYknEmE=",
"eci": "02",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "03",
"messageCategory": "PA",
"authMethod": "01",
"authTimestamp": "2024-09-10T22:56:48+00:00",
"transactionID": 248168
}
Mastercard Pago (PA)
Opción PA: esta opción requiere verificar fondos de la cuenta. Se asigna un valor mínimo de ejemplo, tenga en cuenta este valor en la implementación.
Mastercard
{
"deviceChannel": "02",
"messageCategory": "01",
"threeDSAuthenticationInd": "04",
"threeDSChallengeInd": "04",
"acctNumber": "5180300000000005",
"cardExpiryDate": "2902",
"purchaseAmount": "1.00",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com/web",
"reference": "MC_3DS_2024",
"messageVersion": "2.2.0"
}
Respuesta
{
"action": "redirect",
"sessionToken": "ea515edd9d05e07ad58df6a96adf6b806172de055743099787318236304899f4",
"redirectURL": "https://3dss-test.placetopay.com/threeds/v2x/sessions/86203/ea515edd9d05e07ad58df6a96adf6b806172de055743099787318236304899f4",
"transactionID": 248168
}
Autenticaciones Posteriores
Mastercard – ejemplo de solicitud 3RI
{
"deviceChannel": "03",
"threeRIInd": "11",
"threeDSRequestorPriorAuthenticationInfo": {
"threeDSReqPriorAuthMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"threeDSReqPriorAuthTimestamp": "2024-09-10T22:53:21+00:00",
"threeDSReqPriorRef": "e59f9e12-aaa5-4f29-a5ce-0acbb90fc2cb"
},
"acctNumber": "5180300000000005",
"cardExpiryDate": "2902",
"purchaseAmount": "1.00",
"purchaseCurrency": "USD",
"redirectURI": "https://www.placetopay.com/web",
"reference": "Febrero 2024",
"messageVersion": "2.2.0"
}
Mastercard - ejemplo de Respuesta RI
{
"action": "continue",
"messageType": "ARes",
"threeDSServerTransID": "d48e4da7-889c-41c1-82eb-a8dba4e58d44",
"acsReferenceNumber": "3DS_LOA_ACS_EISF_020200_00539V3",
"acsTransID": "710adf8a-aaa2-43a1-9510-80edda02f347",
"dsReferenceNumber": "3DS_LOA_DIS_PPFU_020100_00010",
"dsTransID": "b2255f0e-6bce-4a63-973c-396c03abe85d",
"messageVersion": "2.2.0",
"acsOperatorID": "10078025",
"authenticationValue": "BpkCCAAhkgAAAABkhAJUdYknEmE=",
"eci": "02",
"transStatus": "Y",
"whiteListStatusSource": "03",
"whiteListStatus": "Y",
"deviceChannel": "03",
"messageCategory": "PA",
"authMethod": "01",
"authTimestamp": "2024-09-10T22:56:48+00:00",
"transactionID": 248168
}
Obtener los datos del threeDSRequestorPriorAuthenticationInfo
Para obtener los datos requeridos se deberá de lanzar la transacción tipo CIT primera autenticación, para posterior consultar los datos de dicha transacción y poder enviar la información del threeDSRequestorPriorAuthenticationInfo en la transacción MIT.
Request Lookup
GET
https://3dss-dev.placetopay.ws/api/v2x/transactions/{transactionID}
Response Lookup
{
"transStatus": "Y",
"transStatusReason": null,
"eci": "05",
"acsTransID": "5d822226-d2ad-4a43-8270-87c95003dad4",
"dsTransID": "5b3e6516-0a88-41a4-9c20-f97af2003acd",
"threeDSServerTransID": "fbefea2f-2ae6-4a21-94cc-d7e5083f05a6",
"sdkTransID": null,
"authenticationValue": "AAICAImZhwAAAAAAAAEkdYR0cUU=",
"messageVersion": "2.2.0",
"authMethod": "CARDHOLDER_CHALLENGE_OCCURRED",
"authTimestamp": "2024-05-03T22:48:06+00:00",
"enrolled": "Y",
"messageCategory": "NPA"
}
Mejora la tasa de autenticaciones con datos adicionales
Nos complace invitarles a visitar el apartado de Adicional Data en nuestra documentación del API. Este apartado ofrece información crucial para optimizar el proceso de autenticación 3DS.
La inclusión de estos datos adicionales en sus solicitudes permite a los emisores realizar una evaluación más precisa, lo que puede mejorar considerablemente la tasa de autenticaciones exitosas.
Les recomendamos revisar estas pautas para aprovechar al máximo las funcionalidades del API y así ofrecer una experiencia más segura y eficiente a sus usuarios.