Webhooks

Configurar un webhook para tus transacciones te ayudará a conocer el estado de tus PayIns y PayOuts. Estos callbacks te notificarán cuando ocurra un cambio de estado en cierta transacción.


Configura un webhook

Para iniciar la configuración de tu webhook, sigue estos pasos:

  1. Crea un endpoint para recibirlo, es decir, crea una nueva ruta con la URL deseada.
  2. Ajusta la llamada HTTP de tu endpoint a POST.
  3. Agrega el body en formato JSON.

Agrega la URL a tus transacciones

Para vincular tu webhook con la transacción deseada, agrega la URL del endpoint que creaste en el parámetro indicado del body de la transacción, que seríaurlConfirmation en el caso de PayIns, o confirmationURL en PayOuts.

Ejemplo:

{
  "currency": "CLP",
  "country": "CL",
  "amount": 1000,
  "clientName": "John Doe",
  "clientEmail": "[email protected]",
  "clientPhone": "111111111",
  "clientDocument": "11111111",
  "paymentMethod": "mach_payment",
  "urlConfirmation": "Webhook (URL del endpoint que creaste)",
  "urlFinal": "url redirect",
  "urlRejected": "url reject",
  "order": "order id",
  "sign": "Firma de los parámetros"
}
📘

Estados de las transacciones

Conoce los posibles estados de los PayIns en este enlace. Los estados de los PayOuts, los puedes encontrar en este artículo.


Estructura del webhook

Estos son los posibles parámetros que se pueden entregar en el cuerpo del webhook:

ParámetroTipo
uidstring
statusstring
amountnumber
methodstring
referencestring
clientEmailstring
clientDocumentstring
orderstring
currencystring
countrystring
method_typestring
method_detailstring
hashstring
notestring
signstring
datastring
typestring
statusCodestring
startNotificationTimestring
endNotificationTimestring
totalRequestTimestring

Ejemplos

Estos son algunos ejemplos de webhooks que podrías recibir.

Webhook de PayIn exitoso

{ 
  "uid":"01HZ7HFEJZ0GN2TYNDDXC456F", 
  "status":"success", 
  "amount":10, 
  "method":"PE Tarjeta", 
  "reference":"1687348107370523",
  "clientEmail" : "[email protected]",
  "clientDocument" : "999999999",         
  "order":"30023", 
  "currency":"PEN", 
  "country":"PE", 
  "method_type":"TDD", 
  "method_detail":"6623 VD", 
  "hash":"25aGF34G33HG34H41111",
  "note":null, 
  "sign":"e6f27650e5e7703949b0f2be41dde1aeab84145595c4183271e0a42f1500aa"
} 
📘

Campos del webhook

Los campos method, method_type y method_detail serán distintos, dependiendo del método de pago usado.

Webhook de PayOut exitoso

{      
  "uid": "01J568DSG6CP9412EFPN3QC6WD",
  "status": "success",
  "data": "3325492",
  "sign": "e198c7a2c33d697c551c445b37659e06bf7c1e92db8bae04c7a1f5411b1e8a00"
}