Utilización del cliente JavaScript (formulario embarcado)

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).

Cinemática

Inicialización de la sesión de pago

Este caso de utilización necesita crear un formToken a través de una llamada a Service Charge/CreatePayment.

Método POST
Punto de entrada https://api.lyra.com/api-payment/V4/Charge/CreatePayment

No se necesita ningún campo específico para beneficiar de la protección 3D Secure.

Utilice los siguientes campos para hacer la solicitud:

APELLIDO DESCRIPCIÓN OBLIGATORIO
amount Monto por el que se solicita la autenticación.
currency Código alfanumérico de la moneda.
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

Para obtener una descripción más completa de los campos a utilizar, pruebe el Web Service Charge/CreatePayment desde nuestro playground.

En función del caso de uso (es decir, del valor del campo formAction), puede ser obligatoria una autentificación fuerte. En este caso, se ignora el campo strongAuthentication.

Casos de uso formAction ¿Se requiere autenticación fuerte?
Pago simple PAYMENT

El tipo de autentificación depende de la decisión del emisor.

Para los pagos en euro, el vendedor puede solicitar una excepción de la autenticación fuerte si el monto es inferior a 30€ y si l tienda posee la opción "Frictionless 3DS2".

Para los pagos realizados en otra moneda, el vendedor puede solicitar una autentificación sin interacción del portador si la tienda posee la opción "Frictionless 3DS2".

Pago por Token PAYMENT Autentificación fuerte e ingreso del CVV requeridos.
Registro de la tarjeta durante el pago REGISTER_PAY Se requiere autenticación fuerte.
Proposición de registro de la tarjeta durante el pago ASK_REGISTER_PAY Autentificación fuerte solo si el comprador acepta registrar si medio de pago.

De lo contrario, el comportamiento es idéntico al valor PAYMENT.

Pago con wallet comprador CUSTOMERWALLET Autentificación fuerte solo si el comprador acepta registrar si medio de pago o si utiliza una tarjeta ya registrada.

En todos los otros casos, el comportamiento es idéntico al valor PAYMENT.

Análisis de la respuesta

Al final de la operación, la plataforma devuelve un objeto Payment a URL de notificación del sitio web vendedor y al cliente JavaScript.

Veamos la lista de atributos que describe, por caso de uso, el resultado de la autenticación del titular:

Casos de uso Campos devueltos
Transacción con autenticación fuerte exitosa
  • authenticationResponse.value.status = SUCCESS: Autenticación exitosa.
  • 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 es autenticado con éxito.
Transacción con autenticación frictionless exitosa, el vendedor dispone de la opción "Frictionless 3DS2" y ha solicitado una autentificación sin interacción del portador.
  • authenticationResponse.value.status = SUCCESS: Autenticación exitosa.

  • authenticationResponse.value.authenticationType = FRICTIONLESS.

  • authenticationResponse.value.commerceIndicator = 5 (Visa o AMEX) o 02 (Mastercard).
  • authenticationResponse.value.extension.authenticationType = THREEDS_V2.
  • transactionDetails.liabilityShift = NO: El pago no está garantizado.

  • transactions.effectiveStrongAuthentication = ENABLED: El titular es autenticado con éxito.

Transacción con autenticación frictionless exitosa, el vendedor no ha solicitado una autentificación sin interacción del portador.
  • authenticationResponse.value.status = SUCCESS: Autenticación exitosa.

  • 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 es autenticado con éxito.
Transacción con fallo de la autenticación 3D Secure
  • authenticationResponse.value.status = FAILED: Error de autenticació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: Rechazo de la autenticación por el emisor.
  • transactionDetails.liabilityShift = null : El pago no está garantizado.

  • transactions.effectiveStrongAuthentication = DISABLED: la autenticación del portador es un fracaso.

Tarjeta no enrolada
  • authenticationResponse.value.status = NOT_ENROLLED: Titular no enrolado.

  • 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 autenticación del portador es un fracaso.