Implementación de Clientes

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

I) Preparación del pago: Inicialización de sesión

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

Llamada

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
  }]
}

Respuesta

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 |

II) Utilización en Widget