Payments
Payment Methods
Retrieve payment methods enabled for your business.
GET /v2/payments/methods
Host: api.chapa.global
Authorization: Bearer <PRIVATE_KEY>No parameters are required. data is an array of enabled payment methods.
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/payments/methods' \
-H "Authorization: Bearer $PRIVATE_KEY"JavaScript
const response = await fetch("https://api.chapa.global/v2/payments/methods", {
method: "GET",
headers: {
"Authorization": "Bearer <PRIVATE_KEY>"
},
});
const data = await response.json();
console.log(data);Example Response
200 Success
{
"status": "success",
"message": "<message>",
"data": [
{
"name": "Telebirr",
"slug": "telebirr",
"logo": "https://…/telebirr.png",
"is_mobile_money": true,
"can_process_payments": true,
"can_process_direct_charge": true,
"supported_currencies": {
"ETB": {
"default_max": 100000000,
"default_min": 100,
"countries": {
"ET": {
"is_enabled": true,
"max_amount": 100000000,
"min_amount": 100
}
}
}
},
"created_at": "2026-10-05T09:30:00Z",
"updated_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
}
}Use each method's slug in requests. Check can_process_payments, can_process_direct_charge, and the currency and country limits in supported_currencies before offering the method. Limits are in cents.