Payment Webhook
When a payment link is paid (or its status changes), Autocore sends a POST notification to the webhook URL provided when creating the payment link (temp_webhook_url).
The webhook notification is considered successfully delivered only if the endpoint responds with HTTP 200.
- Any response different from 200 will be considered not notified.
- In that case, the notification will be retried every 30 minutes until a
200status is received.
Webhook Payload
Top-level parameters
| PARAMETER | TYPE | DESCRIPTION |
|---|---|---|
| payment_status | String | Human-readable payment status (e.g. Aplicado, En proceso, Rechazado, Tarjeta no válida). |
| amount | Number | Amount paid by the guest. |
| payment_date | String | Date and time when the payment event occurred. |
| company | String | Company name. |
| hotel | String | Hotel name. |
| voucher_url | String | URL to download the payment voucher. |
| transaction_id | String | Internal payment transaction ID. |
| external_ref_id | String | External reference ID provided when creating the payment link. |
| details | Object | Detailed payment and processor information. |
Details object
| PARAMETER | TYPE | DESCRIPTION |
|---|---|---|
| details.type | String | Event type (e.g. charge). |
| details.id | String | Internal payment link or charge identifier. |
| details.external_ref_id | String | External reference ID associated with the transaction. |
| details.status_code | String | Machine-readable payment status code. |
| details.status_detail | String | Human-readable status description. |
| details.comments | String | Additional comments or processor messages. |
| details.transaction_id | String | Payment transaction ID. |
| details.transaction_date | String | Date and time of the transaction. |
| details.carrier | String | Payment processor or carrier (if available). |
| details.pay_platform | String | Payment platform or method used. |
Possible Payment Statuses
The webhook may emit the following payment states:
| payment_status | status_code | DESCRIPTION |
|---|---|---|
| Aplicado | applied |
Payment completed successfully. |
| En proceso | in_process |
Payment is being processed. Final status will be sent later. |
| Rechazado | rejected |
Payment was rejected. |
| Tarjeta no válida | invalid_card |
Payment failed due to an invalid card. |
Example: Successful Payment (Aplicado)
{
"payment_status": "Aplicado",
"amount": 2500000,
"payment_date": "2026-01-26 21:40:12.043111",
"company": "INTEGRACIONES",
"hotel": "Hotel ABC",
"voucher_url": "https://api-dev.autocore.pro/v1/bookings/202/vouchers?type=payment_link",
"transaction_id": "RB-827309",
"external_ref_id": "test-20260126-0001",
"details": {
"type": "charge",
"id": "6h2a67o4n4d0",
"external_ref_id": "test-20260126-0001",
"status_code": "applied",
"status_detail": "Aplicado",
"comments": "Pago exitoso de Link de Pago ID 6h2a67o4n4d0, por $2,500,000.00",
"transaction_id": "RB-827309",
"transaction_date": "2026-01-26 21:40:12.043111",
"carrier": "Redeban",
"pay_platform": "Tarjeta de crédito/débito"
}
}
Example: Payment In Process
{
"payment_status": "En proceso",
"amount": 2500000,
"payment_date": "2026-01-26 21:40:12.043111",
"company": "INTEGRACIONES",
"hotel": "Hotel ABC",
"voucher_url": "https://api-dev.autocore.pro/v1/bookings/202/vouchers?type=payment_link",
"transaction_id": "RB-827309",
"external_ref_id": "test-20260126-0001",
"details": {
"type": "charge",
"id": "6h2a67o4n4d0",
"external_ref_id": "test-20260126-0001",
"status_code": "in_process",
"status_detail": "En proceso",
"comments": "El pago se encuentra en proceso. Esto puede tardar unos minutos.",
"transaction_id": "RB-827309",
"transaction_date": "2026-01-26 21:40:12.043111",
"carrier": "Redeban",
"pay_platform": "Tarjeta de crédito/débito"
}
}
Example: Rejected / Invalid Card
{
"payment_status": "Tarjeta no válida",
"amount": 2500000,
"payment_date": "2026-01-26 21:39:01.025958",
"company": "INTEGRACIONES",
"hotel": "Hotel ABC",
"voucher_url": "https://api-dev.autocore.pro/v1/bookings/201/vouchers?type=payment_link",
"transaction_id": "RB-827309",
"external_ref_id": "test-20260126-0001",
"details": {
"type": "charge",
"id": "6h2a67o4n4d0",
"external_ref_id": "test-20260126-0001",
"status_code": "invalid_card",
"status_detail": "Tarjeta no válida",
"comments": "Fondos insuficientes o tarjeta inválida",
"transaction_id": "RB-827309",
"transaction_date": "2026-01-26 21:39:01.025958",
"carrier": "Redeban",
"pay_platform": "Tarjeta de crédito/débito"
}
}
Error Responses
If the webhook endpoint returns any of the following status codes, the notification will be retried.
Status codes: 401, 403, 404
{
"code": "Status code",
"message": "Error description",
"detail": "Error details"
}
Notes
- Webhook delivery is at-least-once. Endpoints must be idempotent.
- A final status (
AplicadoorRechazado) may be preceded by one or moreEn procesonotifications. - Always rely on
details.status_codefor programmatic logic.