Casos de uso concernidos
Este capítulo se aplica para los siguientes casos de utilización:
- Pago al contado con ingreso de los datos de la tarjeta,
- Pago por token,
- Proposición de registro de la tarjeta durante el pago,
- Registro de la tarjeta durante el pago,
- Registro de una tarjeta en un wallet comprador (con o sin pago).
Secuencia
Inicialización de la sesión de pago
Este caso de uso requiere crear un formToken en una llamada al Web Service Charge/CreatePayment.
POSThttps://api.micuentaweb.pe/api-payment/V4/Charge/CreatePayment
Todas las transacciones están sujetas a un análisis de riesgo. Si el resultado del análisis recomienda una autentificación del titular, se muestra la página de autentificación durante el pago.
Para que el análisis sea eficaz, debe transmitir la mayor cantidad de información en su solicitud de pago.
Utilice los siguientes campos para hacer la solicitud:
NOMBRE | DESCRIPCIÓN | OBLIGATORIO |
amount | Monto por el que se solicita la autentificación. | Sí |
currency | Código alfanumérico de la moneda. | Sí |
orderId | Referencia del pedido. Se recomienda este campo. | No |
formAction | Tipo de comportamiento que desea al crear la transacción. | No |
customer | Objeto que contiene los datos del comprador. | No |
metadata | Objeto que contiene los datos complementarios a transmitir para el análisis de riesgo. Para más informaciones, consulte el capítulo Transmitir los datos para el análisis de riesgos. | No |
Para obtener una descripción más completa de los campos a utilizar, pruebe el Web Service
Charge/CreatePayment desde nuestro
playground.
También se pueden transmitir campos específicos para favorecer una autentificación sin interacción del titular.
Análisis de la respuesta
Al final de la operación, la plataforma devuelve un objeto Payment a la URL de notificación del sitio web comercial y al cliente JavaScript.
La siguiente lista de atributos describe el resultado de la autentificación del titular por caso de uso:
Casos de uso | Campos devueltos |
Transacción con autentificación fuerte satisfactoria | - authenticationResponse.value.status = SUCCESS : Autentificación satisfactoria.
- authenticationResponse.value.authenticationType = CHALLENGE (Valor devuelto en 3DS1 y 3DS2).
- authenticationResponse.value.commerceIndicator = 5 (Visa o AMEX) o 02 (Mastercard).
- authenticationResponse.value.extension.authenticationType = THREEDS_V1 o THREEDS_V2.
- transactionDetails.liabilityShift = YES : El pago está garantizado.
- transactions.effectiveStrongAuthentication = ENABLED : El titular se ha autentificado satisfactoriamente.
|
Transacción con autentificación frictionless satisfactoria, el vendedor no ha solicitado una autentificación sin interacción del titular | authenticationResponse.value.status = SUCCESS : Autentificación satisfactoria. authenticationResponse.value.authenticationType = FRICTIONLESS. - authenticationResponse.value.commerceIndicator = 5 (Visa o AMEX) o 02 (Mastercard).
- authenticationResponse.value.extension.authenticationType = THREEDS_V2.
transactionDetails.liabilityShift = YES : El pago está garantizado. - transactions.effectiveStrongAuthentication = ENABLED : El titular se ha autentificado satisfactoriamente.
|
Transacción con fallo de la autentificación 3-D Secure | authenticationResponse.value.status = FAILED : Error de autentificación. authenticationResponse.value.authenticationType = CHALLENGE. - authenticationResponse.value.commerceIndicator = null
- authenticationResponse.value.extension.authenticationType = THREEDS_V1 o THREEDS_V2.
- authenticationResponse.value.reason.code = CARD_AUTHENTICATION_FAILED : El emisor ha rechazado la autentificación.
transactionDetails.liabilityShift = null : El pago no está garantizado. transactions.effectiveStrongAuthentication = DISABLED: la autentificación del titular ha fallado.
|
Autentificación imposible | authenticationResponse.value.status = NOT_ENROLLED : Titular no inscrito. authenticationResponse.value.authenticationType = null - authenticationResponse.value.commerceIndicator = null
- authenticationResponse.value.extension.authenticationType = THREEDS_V1.
transactionDetails.liabilityShift = NO : El pago no está garantizado. - transactions.effectiveStrongAuthentication = DISABLED: la autentificación del titular ha fallado.
- transactions.errorCode = PSP_727 : Autentificación imposible (error técnico, tarjeta no inscrita o DS indisponible).
|