Realizar el pago con autenticación
#
Función esitefDoPaymentDespués de que el cliente complete todos los campos en la pantalla de la tienda, debe hacer clic en un botón para finalizar el pago. En el evento onclick
, se debe llamar a una función de JavaScript que complete la solicitud con nit, payToken, merchantId, authenticate, la función de devolución de llamada onSuccess, onProcessing, onFailure, onInvalid y posteriormente llame a la función esitefDoPayment, pasando la solicitud como parámetro.
La función esitefDoPayment realiza la autenticación 3DS, que puede mostrar un desafío en el que pueden ocurrir verificaciones de códigos de seguridad, validación de tokens, aprobaciones en el dispositivo móvil del comprador u otros. Posteriormente a la autenticación, se lleva a cabo la autorización del pago en la entidad adquirente.
Es importante dejar claro que según la parametrización proporcionada durante la creación de la transacción (campo authenticate), el comportamiento de la autorización de la transacción puede cambiar:
- Si la transacción se envía con authenticate =
1
, entonces la transacción solo se autorizará si la autenticación es aprobada. - Si la transacción se envía con authenticate =
2
, entonces la transacción solo se autorizará si la autenticación es aprobada, pero para marcas no admitidas por 3DS, no se realizará el paso de autenticación. - Si la transacción se envía con authenticate =
3
, entonces la transacción seguirá el flujo de autenticación, pero si hay un resultado negativo, el flujo continuará hacia la autorización.
#
Llamando al script de CaratCuando el comprador complete los datos de la tarjeta y haga clic en pagar
, la página del comerciante debe llamar a la función de JavaScript esitefDoPayment
, pasando como argumento una solicitud con los siguientes campos:
Parámetro | Descripción | Formato | Obligatorio |
---|---|---|---|
nit | Identificador de transacción en Carat. Campo nit recibido en la etapa de creación de la transacción. | = 64 AN | SÍ |
payToken | Campo pay_token recibido en la etapa de creación de la transacción. Este token solo puede ser utilizado una vez. | = 66 AN | SÍ |
merchantId | Código de la tienda en Carat. Los códigos de producción y certificación serán diferentes. | < 15 N | SÍ |
onSuccess | Función de devolución de llamada que se llamará después de un pago exitoso en Carat. Esta función recibe como argumento la respuesta del pago descrita en - Respuesta de las devoluciones de llamada de éxito y fracaso. | F | SÍ |
onProcessing | Función de devolución de llamada que se llamará después de un desafío solicitado por el emisor en el flujo de autenticación 3DS o confirmación tardía. | F | SÍ |
onFailure | Función de devolución de llamada que se llamará después de un pago fallido en Carat. Esta función recibe como argumento la respuesta del pago descrita en - Respuesta de las devoluciones de llamada de éxito y fracaso. | F | SÍ |
onInvalid | Función de devolución de llamada que se llamará después de un error de validación de JavaScript. Esta función recibe como argumento la lista de errores descrita en - Respuesta de la devolución de llamada de error de validación. | F | SÍ |
authenticate | Campo booleano para indicar que el pago con JavaScript incluye autenticación 3DS, pasar 'true' si el pago es con 3DS. | = 4 AN | SÍ |
challengeWindowSize | Campo que representa el tamaño para la presentación del desafío: 01 - 250 x 400, 02 - 390 x 400, 03 - 500 x 600. Si no se proporciona, JavaScript determinará un valor a utilizar. | = 2 AN | NO |
#
Respuesta de las devoluciones de llamada de éxito y fracasoLas funciones de devolución de llamada onSuccess
y onFailure
reciben como argumento un objeto que contiene información sobre el pago. A continuación se describen estos campos:
Parámetro | Descripción | Formato |
---|---|---|
code | Código de respuesta de Carat. Cualquier código diferente de 0 (cero) indica un fallo. Para obtener más información, consulte los Códigos de Respuesta. | < 4 N |
message | Mensaje de respuesta de Carat. | < 500 AN |
payment | ||
authorizer_code | Código de respuesta del autorizador. | < 10 AN |
authorizer_message | Mensaje de respuesta del autorizador. | < 500 AN |
status | Estado de la transacción de pago en Carat. | = 3 AN |
nit | Número identificador de la transacción de pago en Carat. | = 64 AN |
order_id | Código de pedido enviado por la tienda al crear la transacción. | < 40 AN |
customer_receipt | Cupón (a través del cliente). | < 4000 AN |
authorizer_id | Código del autorizador utilizado en la transacción. | < 4 N |
#
Respuesta de la devolución de llamada de error de validaciónLa función de devolución de llamada onInvalid recibe como argumento una lista de objetos de error de validación, que contienen los campos a continuación:
Parámetro | Descripción | Formato |
---|---|---|
field | Nombre del campo con error. | < 30 AN |
cause | Mensaje de error. | <100 AN |
#
EjemploA continuación, se muestra un ejemplo de una función de JavaScript llamando a esitefDoPayment: