Webhooks
Conoce cómo configurar un webhook para tus transacciones
Configura un webhook
Para iniciar la configuración de tu webhook, sigue estos pasos:
- Crea un endpoint para recibirlo, es decir, crea una nueva ruta con la URL deseada.
- Ajusta la llamada HTTP de tu endpoint a POST.
- 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 transaccionesConoce 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ámetro | Tipo |
|---|---|
| uid | string |
| status | string |
| amount | number |
| reference | string |
| clientEmail | string |
| clientDocument | string |
| order | string |
| currency | string |
| country | string |
| method_type | string |
| method_detail | string |
| hash | string |
| note | string |
| sign | string |
| data | string |
| type | string |
| statusCode | string |
| startNotificationTime | string |
| endNotificationTime | string |
| totalRequestTime | string |
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 webhookLos campos
method,method_typeymethod_detailserán distintos, dependiendo del método de pago usado.
Webhook de PayOut exitoso
{
"uid": "01J568DSG6CP9412EFPN3QC6WD",
"status": "success",
"data": "3325492",
"sign": "e198c7a2c33d697c551c445b37659e06bf7c1e92db8bae04c7a1f5411b1e8a00"
} Updated about 1 month ago