Chapa
Refunds

Verify Refund

Retrieve a refund by its Chapa reference.

GET /v2/refunds/{refundReference}/verify
Host: api.chapa.global
Authorization: Bearer <PRIVATE_KEY>

Use the Chapa refund reference from refund creation. data.status describes the refund state; the collection example is PENDING. Amounts are in cents.

Example Request

For cURL, set PRIVATE_KEY in your shell. Replace the placeholders in the JavaScript example before running it.

cURL
curl -X GET 'https://api.chapa.global/v2/refunds/REF1766492180842/verify' \
  -H "Authorization: Bearer $PRIVATE_KEY"
JavaScript
const response = await fetch("https://api.chapa.global/v2/refunds/REF1766492180842/verify", {
  method: "GET",
  headers: {
  "Authorization": "Bearer <PRIVATE_KEY>"
},
});
const data = await response.json();

console.log(data);
Example Response
200 Success
{
  "status": "success",
  "message": "Refund verified successfully",
  "data": {
    "chapa_reference": "REF1766492180842",
    "payment_reference": "CH0Vn2VASWCi",
    "amount": 10000,
    "currency": "ETB",
    "status": "PENDING",
    "reason": "Customer returned the product",
    "created_at": "2026-10-05T09:30:00Z",
    "processed_at": "2026-10-05T09:30:00Z"
  }
}
401 Error
{
  "status": "error",
  "message": "Invalid API key or User does not exist",
  "error": {
    "code": "UNAUTHORIZED",
    "details": null
  }
}
403 Error
{
  "status": "error",
  "message": "API key environment does not match business environment.",
  "error": {
    "code": "INVALID_VALUE",
    "details": null
  }
}
404 Error
{
  "status": "error",
  "message": "Refund not found",
  "error": {
    "code": "NOT_FOUND",
    "details": null
  }
}