3RI - Requestor-Initiated Authentication
Esta guía está destinada a los comerciantes PCI-DSS que utilizan nuestra API para realizar la autenticación.
La versión 2.2 del protocolo 3-D Secure introduce la autenticación iniciada por el comerciante o"3DS Requestor initiated (3RI) authentications".
3RI se utiliza sobre todo:
- para pagar una de las cuotas de una suscripción
- para pagar una de las cuotas de un pago en cuotas
- con pagos MOTO
El caso de uso lo determina el valor de los campospaymentSource
,useCase
YtransactionInitiator
.
A continuación se muestran algunos ejemplos de cómo utilizarlo. 3RI :
Casos de uso | Etapa del pago | useCase | paymentSource | transactionInitiator |
---|---|---|---|---|
Suscripción con frecuencia y monto fijos. | Pago de una cuota determinada | RECURRING_FIXED_TOTALAMOUNT | EC | MERCHANT |
Suscripción con frecuencias y/o montos fijos. | Pago de una cuota determinada | RECURRING_ VARIABLE_TOTAL_AMOUNT | EC | MERCHANT |
Pago en vencimientos | Pago de una cuota determinada | INSTALLMENT | EC | MERCHANT |
Pago por correo | Pago | PAYMENT | MAIL_ORDER | n/a |
Pago por teléfono | Pago | PAYMENT | TELEPHONE_ORDER | n/a |
Principio de funcionamiento
El principio general se aplica a las autenticaciones "3RI".
Una sola llamada al servicio WebPCI/Charge/AuthenticateEl vendedor no debe procesar ninguna instruccióndevice
ni transmitir ningún objeto.
Lista de campos relativos a3RI:
APELLIDO | Descripción | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
amount | Entero| Longitud: 1-12 |OBLIGATORIO Monto de la transacción expresado en la fracción más pequeña de la moneda (por ejemplo: 30050 por 300,50 EUR). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currency | Cadena| Longitud: 3 |OBLIGATORIO Código del país según la norma ISO 4217-1 alpha-2 (por ejemplo: "EUR" por euro). Valores posibles
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
productType | enumeración|Opcional Tipo de producto correspondiente en la transacción. Valores posibles
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
transactionCategory | enumeración| Categoría de la transacción. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
paymentSource | enumeración OBLIGATORIO Origen del pago. Valores posibles
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
transactionInitiator | enumeración|Opcional Iniciador de la transacción. Valores posibles
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
useCase | enumeración|OBLIGATORIO Casos de uso de la transacción. Valores posibles
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customer | objeto JSON|OBLIGATORIO Objeto que contiene la información del comprador. Detalles del objeto
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
device | objeto JSON| Objeto que contiene la información del navegador. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
paymentForm | objeto JSON|OBLIGATORIO Objeto que contiene los datos de la tarjeta. Detalles del objeto
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
protocolRequest | objeto JSON|OBLIGATORIO Objeto que contiene la información del protocolo de autentificación. Detalles del objeto
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
merchant | objeto JSON|OBLIGATORIO Objeto que contiene los detalles del contrato. Detalles del objeto
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
recurring | objeto JSON|Opcional Objeto que contiene la información de la suscripción. Detalles del objeto
|
La respuesta contiene los datos de autentificación necesarios para realizar una petición de autorización en el futuro.
Casos de uso
Suscripciones
Etapa 1 - Contratación de la suscripción (titular presente)
Llamar al servicio webPCI/Cargar/Autenticar Para autenticar al comprador:
Frecuencia y montos fijos | { "amount":"9990", "currency":"EUR", "recurring":{ "expiryDate": "2025-05-13", "frequency": { "unit": "DAY", "value": "30" } }, "transactionCategory":"PAYMENT", "productType":"GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid":"9876357" }, "paymentForm": { "expiryMonth":"09", "expiryYear":"28", "networkPreference":"VISA", "pan":"4970110000000021" }, "device": { "acceptHeader":"text/html", "colorDepth":"32", "deviceType":"BROWSER", "ip":"69.89.31.226", "javaEnabled": true, "language":"FR", "screenHeight":"768", "screenWidth":"1258", "timeZoneOffset":"-120", "userAgent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101" }, "protocolRequest": { "name":"THREEDS", "version":"2", "challengePreference":"NO_PREFERENCE" } } |
Frecuencia y/o montos variables | { "amount":"9990", "currency":"EUR", "recurring":{ "expiryDate": "2025-05-13", "frequency": { "unit": "DAY", "value": "30" } }, "transactionCategory":"PAYMENT", "productType":"GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid":"9876357" }, "paymentForm": { "expiryMonth":"09", "expiryYear":"28", "networkPreference":"VISA", "pan":"4970110000000021" }, "device": { "acceptHeader":"text/html", "colorDepth":"32", "deviceType":"BROWSER", "ip":"69.89.31.226", "javaEnabled": true, "language":"FR", "screenHeight":"768", "screenWidth":"1258", "timeZoneOffset":"-120", "userAgent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101" }, "protocolRequest": { "name":"THREEDS", "version":"2", "challengePreference":"NO_PREFERENCE" } } |
El objeto recurring
es obligatorio para definir la frecuencia de las cuotas y la fecha de término de la suscripción.
Siga la guía de integración de servicios webPCI/Cargar/Autenticar para procesar instrucciones y autenticar al portador.
Tras obtener el resultado final, puede proseguir con la petición de autorización.
Etapa 2 - Pago de las cuotas (titular ausente)
En cada fecha límite, llama al servicio webPCI/Cargar/Autenticar para solicitar autenticación 3RI .
El objeto recurring
es obligatorio para definir la frecuencia de las cuotas y la fecha de término de la suscripción.
En el objeto previousAuthentication
debe transmitir los datos de la autentificación obtenidos al contratar la suscripción.
Frecuencia y montos fijos | { "amount":"9990", "currency":"EUR", "transactionInitiator": "MERCHANT", "useCase": "RECURRING_FIXED_TOTALAMOUNT", "recurring":{ "expiryDate": "2025-05-13", "frequency": { "unit": "DAY", "value": "30" } }, "productType":"GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid":"9876357" }, "paymentForm": { "expiryMonth":"09", "expiryYear":"28", "networkPreference":"VISA", "pan":"4970110000000021" }, "customer": { "previousAuthentication": { "dsTransID":"18e46ff7-b882-4102-9af4-aef9f40ee6a6", "acsTransID":"410d9fb4-8db1-483e-9a80-f94c3a79017e", "dateTime": "2024-10-09T06:37:22+00:00", "effectiveAuthenticationType": "CHALLENGE" } }, "protocolRequest": { "name":"THREEDS", "version":"2" } } |
Frecuencia y/o montos variables | { "amount":"9990", "currency":"EUR", "transactionInitiator": "MERCHANT", "useCase": "RECURRING_VARIABLE_TOTAL_AMOUNT", "recurring":{ "expiryDate": "2025-05-13", "frequency": { "unit": "DAY", "value": "30" } }, "productType":"GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid":"9876357" }, "paymentForm": { "expiryMonth":"09", "expiryYear":"28", "networkPreference":"VISA", "pan":"4970110000000021" }, "customer": { "previousAuthentication": { "dsTransID":"18e46ff7-b882-4102-9af4-aef9f40ee6a6", "acsTransID":"410d9fb4-8db1-483e-9a80-f94c3a79017e", "dateTime": "2024-10-09T06:37:22+00:00", "effectiveAuthenticationType": "CHALLENGE" } }, "protocolRequest": { "name":"THREEDS", "version":"2" } } |
La respuesta incluye los datos de autentificación necesarios para la petición de autorización del pago de la cuota.
La siguiente tabla muestra las correspondencias entre los datos obtenidos en la etapa 1 y los datos obligatorios para la etapa 2:
Salida etapa 1 (titular presente) | Entrada etapa 2 (titular ausente) |
---|---|
value.extension.dsTransID | customer.previousAuthentication.dsTransID |
value.extension.acsTransID | customer.previousAuthentication.acsTransID |
value.authenticationDateTime | customer.previousAuthentication.dateTime |
value.authenticationType | customer.previousAuthentication.effectiveAuthenticationType |
Pago en cuotas
Etapa 1: Pago de la primera cuota (titular presente)
Llamar al servicio webPCI/Cargar/Autenticar Para autenticar al comprador. Se debe solicitar la autenticación del importe total de las cuotas.
{ "amount":"12000", "currency":"EUR", "transactionCategory":"PAYMENT", "productType":"GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid":"9876357" }, "paymentForm": { "expiryMonth":"09", "expiryYear":"28", "networkPreference":"VISA", "pan":"4970110000000021", "installmentNumber": "3" }, "device": { "acceptHeader":"text/html", "colorDepth":"32", "deviceType":"BROWSER", "ip":"69.89.31.226", "javaEnabled": true, "language":"FR", "screenHeight":"768", "screenWidth":"1258", "timeZoneOffset":"-120", "userAgent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101" }, "protocolRequest": { "name":"THREEDS", "version":"2", "challengePreference":"NO_PREFERENCE" } }
En este ejemplo, el monto total de las cuotas es de 120,00 EUR.
El campo installmentNumber
es obligatorio para indicar la cantidad de cuotas (ejemplo: "3" para un pago en 3 cuotas).
Siga la guía de integración de servicios webPCI/Cargar/Autenticar para procesar instrucciones y autenticar al portador.
Tras obtener el resultado final, puede proseguir con la petición de autorización por el monto de la primera cuota.
Etapa 2: Pago de una cuota determinada (titular ausente)
En cada fecha límite, llame al servicio webPCI/Cargar/Autenticar para solicitar autenticación 3RI por el importe de la cuota.
En el objeto previousAuthentication
debe transmitir los datos de la autentificación obtenidos durante el pago de la primera cuota:
{ "amount":"4000", "currency":"EUR", "transactionInitiator": "MERCHANT", "useCase": "INSTALLMENT", "productType":"GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid":"9876357" }, "paymentForm": { "expiryMonth":"09", "expiryYear":"28", "networkPreference":"VISA", "pan":"4970110000000021", "installmentNumber": "3" }, "customer": { "previousAuthentication": { "dsTransID":"18e46ff7-b882-4102-9af4-aef9f40ee6a6", "acsTransID":"410d9fb4-8db1-483e-9a80-f94c3a79017e", "dateTime": "2024-10-09T06:37:22+00:00", "effectiveAuthenticationType": "CHALLENGE" } }, "protocolRequest": { "name":"THREEDS", "version":"2" } }
En este ejemplo, la autentificación se realiza por un monto 40,00 EUR.
La respuesta incluye los datos de autentificación necesarios para la petición de autorización del pago de la cuota.
La siguiente tabla muestra las correspondencias entre los datos obtenidos en la etapa 1 y los datos obligatorios para la etapa 2:
Salida etapa 1 (titular presente) | Entrada etapa 2 (titular ausente) |
---|---|
value.extension.dsTransID | customer.previousAuthentication.dsTransID |
value.extension.acsTransID | customer.previousAuthentication.acsTransID |
value.authenticationDateTime | customer.previousAuthentication.dateTime |
value.authenticationType | customer.previousAuthentication.effectiveAuthenticationType |
Pago MOTO
Llamar al servicio webPCI/Cargar/Autenticar Para autenticar al comprador especificando su caso de uso:
Pago por teléfono | { "amount":"9990", "currency":"EUR", "paymentSource": "TELEPHONE_ORDER", "useCase": "PAYMENT", "productType":"GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid":"9876357" }, "paymentForm": { "expiryMonth":"09", "expiryYear":"28", "networkPreference":"VISA", "pan":"4970110000000021" }, "protocolRequest": { "name":"THREEDS", "version":"2" } } |
Pago por correo | { "amount":"9990", "currency":"EUR", "paymentSource": "MAIL_ORDER", "useCase": "PAYMENT", "productType":"GOODS_OR_SERVICE_PURCHASE", "merchant": { "mid":"9876357" }, "paymentForm": { "expiryMonth":"09", "expiryYear":"28", "networkPreference":"VISA", "pan":"4970110000000021" }, "protocolRequest": { "name":"THREEDS", "version":"2" } } |
La respuesta contiene los datos de autentificación necesarios para realizar la petición de autorización.