Skip to content

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.