Refund a payment
Technical Author Note
Draft content to be reviewed and verified.
Use refunds to return funds to a cardholder for a completed sale.
Refunds are used when you need to return all or part of a payment that has already been processed. The refund is created against the original payment_id, which keeps it linked to the original sale for reconciliation and reporting.
You can refund the full amount or a partial amount, not exceeding the original amount.
This flow is only for refunds linked to an existing sale. To release a pre-authorisation that has not been captured, cancel the authorisation instead.
How it works
- Take the
payment_idfrom the original settled sale. POSTto/{payment_id}/reverse— send no body for a full refund, or{"amount": N}for a partial refund, not exceeding the original amount.- A successful refund returns
status: pending. The responseidis the reversal's owntransfer_id— do not overwrite your storedpayment_id.
Key rules
note
- Refunds must be linked to an existing, settled
payment_id— there is no unlinked refund. - A full refund sends no body; a partial refund sends
{"amount": N}, not exceeding the original amount. - To release an uncaptured pre-authorisation instead, use Cancel on Authorise a payment.
Partial refund — request body
{ "amount": 500 }
For which IDs a reversal returns and which to store, see Response ID Fields.
Try it
Call this flow directly in the API Reference.
- POST Reverse a Transfer