El primer paso del proceso de pago consiste en obtener un session token, mediante una llamada desde su servidor (no desde el browser del cliente). Esto con el fin de obtener los datos necesarios para realizar las invocaciones a servicios posteriores
El primer paso del proceso de pago consiste en obtener un session token, mediante una llamada desde su servidor (no desde el browser del cliente). Esto con el fin de obtener los datos necesarios para realizar las invocaciones a servicios posteriores
URL: /session/initialize
Método: POST
Parámetros: se entregan como un JSON en el body del request, según lo descrito en la siguiente tabla:
Nombre parámetro | Tipo | Descripción | Ejemplo de valor enviado |
---|---|---|---|
merchant_code | Obligatorio | String con el código de merchant, entregado por ETpay | cl_demo_cl |
merchant_api_token | Obligatorio | String con la clave, entregada por ETpay | 4a005f0eca91cd9474cadce4e5fc6f91c64a608b48f7b4b31344f8b20e270079 |
merchant_order_id | Obligatorio | String con un identificador interno del merchant, que permite identificar el pago en sus propios sistemas. | OC-700104 |
order_amount | Obligatorio | Integer con el monto a pagar en pesos chilenos, sin puntos. | 50000 |
customer_email | Opcional | String con el email del cliente, que puede ser usado para devoluciones | [email protected] |
metadata | Opcional | Arreglo con datos para mostrar al cliente durante el proceso de pago. Identifica, por ejemplo, lo que se está pagando (ej.: pago de servicios básicos, productos, etc.). |
No hay límite a la cantidad de campos que se pueden enviar, pero debe considerarse la usabilidad del sistema; 3 ó 4 campos debieran ser suficientes. El campo show indica si el campo debe mostrarse en el flujo de pago o no (true o false, respectivamente). | [{ "name": "Cuenta Servicio Gas", "value": "30.215", "show": true }] | | user_bank_code | Opcional | String con el código de la institución bancaria que se precargará en el formulario para el cliente. Cuando se incluye, el cliente accede directamente al formulario de ingreso de credenciales de la institución bancaria respectiva. | Códigos aceptados: cl_estadocl_santandercl_bchcl_bcicl_falabellacl_itaucl_scotiabank | | user_rut | Opcional | String con el RUT del cliente, que será precargado en el formulario. | 111111111 | | is_rut_block | Opcional | Booleano que en caso de existir con valor True, bloquea el RUT precargado del cliente. | True | | payment_completed_url | Opcional | URL que se utilizará para la redirección de un pago exitoso | https://merchant.com/success | | payment_cancellation_url | Opcional | URL que se utilizará para la redirección de un pago cancelado | https://merchant.com/fail |
Ejemplo de llamada:
{
"merchant_code":"cl_demo_cl", #entregado por ETpay"
"merchant_api_token":"4a005f0eca91cd9474cadce4e5fc6f91c64a608b48f7b4b31344f8b20e270079", #entregado por ETpay"
"merchant_order_id":"OC-700104", "#ID interno del merchant", usado para conciliación
"order_amount":50000, #valor total a pagar por el cliente, en CLP
"customer_email":"[email protected]", #email del cliente
"metadata":[{
"name":"Cuenta Servicio Gas",
"value":"30.215",
"show":true
}]
}
La API devolverá una respuesta como la siguiente, en formato JSON. El parámetro token es un token de sesión, a usarse en la siguiente llamada. El parámetro signature_token es un string que será usado para validar la llamada de confirmación del pago. Este token es único por cada sesión y se recomienda que sea almacenado junto a ella para su validación posterior.
{
"token": "nzOg6F[...]E0aARi",
"signature_token": "pPpd7[...]6sQhll",
"terms_url": "<https://static-dev.etpayment.com/terminos_y_condiciones.pdf>"
}
Los campos son los siguientes:
Nombre campo | Descripción | Ejemplo de valor recibido |
---|---|---|
token | String con el código de pago. Este campo se usa en todas las llamadas siguientes. | |
nzOg6F[...]E0aARi | ||
signature_token | String con un token de firma, que permitirá validar la autenticidad de la respuesta entregada por el browser del pagador como token JWT. |
Se recomienda que este campo sea almacenado hasta el final del proceso. | ab76d624[…]cfde7b3a | | terms_url | URL con el documento de términos y condiciones para el usuario. No es necesario procesar este parámetro. | https://s.etp.com/t_y_c.pdf |