Transactions
POST
/v1/clients/{clientId}/transactions/{transactionId}/refundRefund a transaction
billing.refund step-up
Refund a succeeded charge. Body optional: { "amountMinor": 1000 } for a partial; omit for the full remaining balance. Repeated partials are tracked; over-refunding is rejected.
Path parameters
| clientId | string | Your PayKit client id. |
| transactionId | string | The succeeded charge to refund. |
Request body
| amountMinor | integer | Partial amount in minor units; omit for a full refund. |
curl -X POST "https://api.paykit.co.za/v1/clients/a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6/transactions/aa11bb22cc33dd44ee55ff6677889900/refund" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"amountMinor":1000}'200 OK
{
"refund": {
"transactionId": "aa11bb22cc33dd44ee55ff6677889900",
"amountMinor": "1000",
"currency": "ZAR",
"status": "succeeded"
}
}