Skip to content
API reference

Refund a payment

Refund a captured payment in full or in part. Opens an internal claim that releases funds back through the same provider.

POST/api/v1/payments/{id}/refund
Step-by-step guideStep 1 of 3

Select a stage to see what happens.

Your integration
Request readyIllustrative example
POST/payments/{id}/refund
Authorization
Bearer ••••••••
Accept
application/json

Prepare the request

Use credentials for the selected environment and complete the required parameters.

Illustrative flow · no data is sent

How this endpoint works

Refund a captured payment. Internally opens a `user_dispute` claim against the source transaction so refunds share the exact same atomic ledger movement (freeze → resolve_approved → release) the chargeback flow uses — keeps the books consistent. The `amount` is in the LOCAL CURRENCY of the original transaction (e.g. MXN for a SPEI charge in Mexico) and uses MAJOR units (e.g. `10` = 10 MXN). Same convention as POST /payments. Omit to refund the full transaction amount.

Server-side authentication
Authentication guide
Key2Pay Developer documentationAPI v1
Documentation
Dashboard