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