A continuación se especificará cómo implementar el servicio de pagos con el funcionamiento básico, existen personalizaciones para el comportamiento del servicio de pago las cuales se detallan en

Resumen del proceso


Al momento que un cliente decide pagar mediante ETpay, se gatilla un flujo que se resume de la siguiente forma:

  1. CREAR PLM Desde la página web del merchant, se genera un REQUEST POST a nuestra API para crear el PLM, esto da la estructura y campos prellenados para las futuras “SESSION” (enlaces de pago) que se crearán
  2. CREAR SESSION PLM (Con o sin envío) Desde la página web del merchant, se genera un REQUEST POST a nuestra API para crear la SESSION PLM, la cual toma los datos prellenados del PLM y generando un enlace de pago, este puede ser obtenido (sin envío al cliente), enviado por Whatsapp o enviado por Email.
  3. SESIÓN DEL CLIENTE (FUNNEL) Proceso que realiza el usuario pagador seleccionando banco, ingresando credenciales y aprobando su transferencia
  4. REDIRECCIÓN SUCCESS/ERROR El usuario realiza su sesión de pago en nuestro funnel. Al completar el pago el funnel redireccionará a la url de éxito o error según corresponda (ambas pueden ser la misma url). Esta redirección tiene solamente el fin de dar una confirmación visual al usuario final dentro del sitio del comercio.
  5. RECEPCIÓN DE NOTIFICACIÓN ETpay realizará un POST request a la URL del servicio web especificado por el comercio. Esta llamada confirma el estado exitoso o fallido del pago y requiere de un paso de validación de la información.
  6. FINALIZAR PLM (Opcional) Al momento de crear el PLM ya definiste si expiraría por tiempo o por cantidad de pagos, sin embargo, si necesitas finalizar el PLM de forma que no se puedan generar más pagos con esos datos puedes hacerlo cuando gustes.

Definiciones:

Parámetro Descripción
merchant_code Código único de identificación de comercio, variará entre ambientes sandbox y pre-productivo/productivo.Se entrega al inicio del proceso una vez enviado el onboarding.
merchant_api_token Token de autenticación para el uso de la api, variará entre ambientes sandbox y pre-productivo/productivo. Se entrega al inicio del proceso una vez enviado el onboarding.
api_url URL de la api de servicios y creación de sesión, variará entre ambientes sandbox y pre-productivo/productivo. Se entrega al inicio del proceso una vez enviado el onboarding.
pmt_url URL del funnel de pagos, se utiliza en conjunto al session_token para iniciar el flujo de pago de un usuario final, variará entre ambientes sandbox y pre-productivo/productivo. Se entrega al inicio del proceso una vez enviado el onboarding.
merchant_order_id Identificador de orden propio del comercio, se utiliza al momento de crear una sesión de pago, es de formato alfanumérico de largo máximo 64. Usualmente se utiliza el número de orden de compra.
order_amount Monto de la compra, se utiliza en la creación de sesión.
session_token Token de sesión único, es retornado como respuesta de la API al momento de crear una sesión. Se utiliza en conjunto con pmt_url para iniciar el flujo de pago de un usuario final.
signature_token Token de firma, es retornado como respuesta de la API al momento de crear una sesión. ****Se utiliza para validar las notificaciones de información de los JWT
JWT Los JWT son una forma segura y fácil de transmitir información a través de la web. Estos vienen encriptados y poseen una “firma” que garantiza que el contenido no ha cambiado. En nuestro caso, la firma de los JWT que enviamos es el signature_token.
Si el contenido del JWT cambia, podremos saber que no es verídico ya que al intentar validar el contenido usando el signature_token obtendremos valores diferentes.
payment_token Identificador de intento de pago, este identificador se retorna una vez ya ocurrida la sesión de pago y permite identificar dentro de nuestro sistema los pasos y logs que ocurrieron durante el pago.
PLM Configuración inicial que contiene los campos necesarios para crer multiples sesiones de pago, esta se puede configurar con expiración por rango de fecha o por cantidad máxima de pagos.
SESSION PLM Enlace de pago que se ha generado con los datos obtenidos de un PLM, este enlace de pago puede ser obtenido sin envío, obtenido con envío por Whatsapp y obtenido con envío por Email.

Desarrollo de cada etapa


Crear PLM

El primer paso del proceso de pago consiste crear un PaymentLink Multiuso (PLM), esto se realiza en el endpoit [api_url]//pre-session/initialize con método POST y header:

{
		"Content-Type": "application/json"
}

Lo primero que se debe definir es el tipo de PLM que utilizarás, dado que existen los siguientes 3 tipos: