PayKitBeta

Transactions

POST/v1/clients/{clientId}/transactions/{transactionId}/refund

Refund 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

clientIdstringYour PayKit client id.
transactionIdstringThe succeeded charge to refund.

Request body

amountMinorintegerPartial 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"
  }
}