Direct Charge Refund
The Direct Charge Refund allows merchants to refund a previously processed Direct Charge made through the Virtual Terminal.
This endpoint supports partial or total refunds, depending on the available refundable balance.
Endpoint
POST https://[base_url]/v2/virtual-terminal/{internal_id}/refounds
Path Parameter
| PARAMETER | TYPE | REQ. | DESCRIPTION |
|---|---|---|---|
| internal_id | Integer | Yes | Internal ID of the original terminal payment to be refunded. |
Request Body
The request body must include the amount to refund.
| PARAMETER | TYPE | REQ. | DESCRIPTION |
|---|---|---|---|
| amount | Number | Yes | Amount to refund. Must not exceed the available refundable balance. |
Request Example
{
"amount": 10000
}
Refund Statuses
The Virtual Terminal may return the following payment states:
| STATUS | status_code | DESCRIPTION |
|---|---|---|
| Total Refund | total_refound |
Full payment amount refunded. |
| Partial Refund | partial_refound |
Partial amount refunded. |
| Rejected Refund | rejected_refound |
Refund was rejected. |
| In process refund | pending_refound |
Awaiting for bank aproval. |
Response Examples
Successful Refund
{
"msg": "Reembolso aplicado correctamente.",
"voucher_url": "v2/terminal-payments/562/vouchers",
"details": {
"type": "refund",
"id": "gj2giecu2gqd",
"external_ref_id": "93371696",
"status_code": "total_refound",
"status_detail": "Reembolso total",
"comments": "Reembolso aplicado correctamente.",
"transaction_id": "RB-832718",
"transaction_date": "2026-02-27 11:47:47.268088"
}
}
Error -- Invalid Refund Amount
{
"code": 0,
"message": "Error http: 400",
"detail": "El monto del reembolso no es vĂ¡lido, disponible para reembolso: 0.0."
}
Notes
- The refund amount cannot exceed the available refundable balance.
- Once fully refunded, no additional refunds will be accepted.
- It is recommended to validate the refundable balance before attempting a refund.