Notificaciones Webhook de la API de Checkout
Para recibir notificaciones de API de Checkout puedes enviar en el request el parámetro “webhook_url” al crear un Link de Pago:
{
"webhook_url": "https://hook.us1.make.com/k5f98kqxuuxgn4td6hgejrnu6lsi362p"
}
Importante
Podrás recibir estas notificaciones siempre y cuando lo implementes en el API de Checkout.
La respuesta que te devuelve la notificación webhook de la API de Checkout es la siguiente:
{
"id": "bc631b13-bda7-4473-9181-bc43e04dfa28",
"api_version": "1.0",
"payment_request_id": "e1961597-eccd-4bf5-94f3-c343d529caaa",
"transaction_id": "d9fc7f11-bcf4-44ea-af49-dbb946911fa8",
"resource": "CHECKOUT",
"resource_status": "CREATED",
"detail_type": "Payment Request Created",
"attempts": 1,
"sent_date": "2023-02-22T20:28:27Z",
"created_at": "2023-02-22T20:28:25Z",
"completed_at": null,
"expires_at": "2023-02-25T20:28:25Z",
"canceled_at": null,
"expired_at": null,
"declined_at": null,
"payment_date": null,
"me_reference_id": "TDP03",
"receipt_no": null,
"payment_type": null,
"barcode": null,
"customer_email": null
}
Existen dos tipos de recursos:
- Checkout: Cuando se crea un pago.
- Refund: Cuando se reembolsa un pago.
Los tipos de status para el recurso Checkout son los siguientes:
- CREATED: Se recibe cuando se crea un link de pago con la API de Checkout.
- CANCELED: Se recibe después de 5 intentos de pago no exitosos.
- EXPIRED: Se recibe cuando el enlace de pago creado con la API de Checkout expira.
- PENDING: Se recibe después de que el primer intento de pago es declinado.
- COMPLETED: Se recibe cuando una transacción es exitosa.
Los tipos de status para el recurso Refund o de reembolso son los siguientes:
- CREATED: Se recibe cuando un cliente disputa un cargo.
- APPROVED: Se recibe si el reembolso es aprobado.
- DECLINED: Se recibe si el reembolso es declinado.
La siguiente tabla contiene los elementos de la notificación webhook:
Atributo |
Descripción |
Tipo |
|
---|---|---|---|
1 |
id |
ID de la notificación |
UUID |
2 |
api_version |
Versión de la estructura de la notificación |
String |
3 |
payment_request_id |
ID de la solicitud de pago |
UUID |
4 |
transaction_id |
ID de la transacción |
UUID |
5 |
resource |
CHECKOUT | REFUND |
String |
6 |
resource_status |
Para Checkout:
Para Refund:
|
String |
7 |
detail_type |
Descripción de la notificación |
String |
8 |
attempts |
Número de intentos para entregar el webhook |
Integer |
9 |
sent_date |
Fecha de envío de la notificación (1) |
String |
10 |
created_at |
Fecha de creación del recurso (1) |
String |
11 |
completed_at |
Fecha en que el recurso fué completado (1) |
String |
12 |
expires_at (2) |
Fecha en que expirará el recurso (1) |
String |
13 |
cancelled_at (2) |
Fecha en que el recurso fue cancelado (1) |
String |
14 |
expired_at (2) |
Fecha en que exiró el recurso (1) |
String |
15 |
declined_at |
Fecha en que el recurso fue declinado |
String |
16 |
payment_date (3) |
Fecha de pago (1) |
String |
17 |
me_reference_id (4) |
Referencia proporcionada por el merchant |
String |
18 |
receipt_no (5) |
Número de recibo |
String |
19 |
payment_type (5) |
CARD | CASH |
String |
20 |
barcode (6) |
Referencia contenida en el código de barras |
|
21 |
customer_email (6) |
Correo del cliente |
|
NOTAS
- El formato usado para fechas es: “yyyy-mm-ddThh:mm:ssZ”
- Únicamente aplica al recurso checkout.
- Únicamente aplica al recurso reembolso.
- El campo me_reference_id del objeto metadata sólo se regresa si es diferente a null o empty.
- Únicamente aplica cuando el recurso es CHECKOUT y el campo resource_status es PENDING o COMPLETED.
- Únicamente aplica cuando el recurso es CHECKOUT y el campo resource_status es PENDING y payment_type es CASH.