Payment Webhook
When a Direct Charge is paid (or its status changes), Autocore sends a POST notification to the webhook URL provided when creating the direct charge (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": 750,
"payment_date": "2026-01-28T19:30:16.390834",
"company": "INTEGRACIONES",
"hotel": "Hotel ABC",
"voucher_url": "https://api-dev.autocore.prov2/terminal-payments/123/vouchers",
"transaction_id": "RB-827814",
"external_ref_id": "20250707-0001",
"details": {
"type": "charge",
"id": "vpdrj2l5xo4y",
"external_ref_id": "20250707-0001",
"status_code": "applied",
"status_detail": "Aplicado",
"comments": "Pago con referencia 123456 procesado correctamente",
"transaction_id": "RB-827814",
"transaction_date": "2026-01-28T19:30:16.390834"
}
}
Example: Payment In Process
{
"payment_status": "En proceso",
"amount": 750,
"payment_date": "2026-01-28T19:32:45.123081",
"company": "INTEGRACIONES",
"hotel": "Hotel ABC",
"voucher_url": "https://api-dev.autocore.prov2/terminal-payments/123/vouchers",
"transaction_id": "RB-827817",
"external_ref_id": "20250707-0001",
"details": {
"type": "charge",
"id": "ch4f2k9joz5i",
"external_ref_id": "20250707-0001",
"status_code": "in_process",
"status_detail": "En proceso",
"comments": "El pago se encuentra en proceso. Esto puede tardar unos minutos, espere por favor.",
"transaction_id": "RB-827817",
"transaction_date": "2026-01-28T19:32:45.123081"
}
}
Example: Rejected / Invalid Card
{
"payment_status": "Rechazado",
"amount": 750,
"payment_date": "2026-01-28T19:30:57.485994",
"company": "INTEGRACIONES",
"hotel": "Hotel ABC",
"voucher_url": "https://api-dev.autocore.pro/v2/terminal-payments/123/vouchers",
"transaction_id": "N/A",
"external_ref_id": "20250707-0001",
"details": {
"type": "charge",
"id": "74v5j2uzvoyj",
"external_ref_id": "20250707-0001",
"status_code": "rejected",
"status_detail": "Rechazado",
"comments": "\"rejected Response by mock\"",
"transaction_id": "N/A",
"transaction_date": "2026-01-28T19:30:57.485994"
}
}
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.