Guides/Payment flows
Refunds
Return all or part of a confirmed payment without creating duplicate refunds.
A refund is linked to an existing confirmed payment and can be full or partial when supported by the transaction.
Build the request
Use the payment public id, the refund amount in integer cents and an idempotency key tied to your internal refund record.
Validate before sending
Confirm the payment belongs to the expected order, the requested amount does not exceed the refundable amount and the user is authorized to perform the action.
Reconcile the outcome
Store the refund public id and final status. Update your order and accounting records only once, even if the same event is delivered again.