Refunds

Retrieve refund

Fetch a single refund by its id.

GET/v1/refunds/{id}

Path parameters

idstringrequired

The rfd_* id, prefix included. A refund on another account, or an id without the prefix, is 404 not_found.

Example: rfd_7c1a...

Response fields

idstringoptional

The rfd_* id. Read it back with GET /v1/refunds/{id}.

Example: rfd_7c1a...

transaction_idstringoptional

The payreq_* id the money went back from.

Example: payreq_9b2f...

statusstringoptional

succeeded, failed or pending. pending is a refund the processor never answered: its amount is held until a human resolves it, so do not retry — see refund_unresolved.

Example: succeeded

amountintegeroptional

Whole rupiah refunded by this refund alone.

Example: 50000

reasonstringoptional

What you sent, echoed. Omitted when empty.

failure_reasonstringoptional

The processor's own words when status is failed. Omitted otherwise.

created_atstringoptional

ISO-8601 with a +07:00 offset.

Example: 2026-08-31T10:12:00+07:00

GET /v1/refunds/{id}
curl https://pay.kasera.id/v1/refunds/rfd_7c1a... \
  -H "Authorization: Bearer kp_live_..."
{
  "id": "rfd_7c1a...",
  "transaction_id": "payreq_9b2f...",
  "status": "succeeded",
  "currency": "IDR",
  "amount": 50000,
  "reason": "Satu barang dikembalikan",
  "created_at": "2026-08-31T10:12:00+07:00",
  "livemode": true
}