Error Codes

This document covers all possible responses from our API.

When accepting a payment, a transaction is established and following every transaction carries out a complete payment method.

List of Responses

How to Interpret our API Responses: A Comprehensive List of our Response Codes and Their Meanings

Transaction Initialize Endpoint

Message Status Status Code Data
Authorization required failed 401 null
Invalid API Key or User doesn't exist failed 401 null
{ Required Attribute: [ “validation.required”] } failed 400 null
Invalid currency, currency is not supported failed 400 null
Incorrect header settings Please check if content-type is present and set to application/json failed 400 null
The subaccount id you provided isn't associated with this account. Please make sure the id is correct or to create a subaccount before proceeding failed 400 null
Merchant’s share of payment is not enough to cover transaction fee. failed 400 null
Merchant fee is greater than split flat amount. failed 400 null
Merchant’s share of payment is not enough to cover transaction fee. failed 400 null
The subaccount id you provided isn't associated with this account. Please make sure the id is correct or to create a subaccount before proceeding. failed 400 null
Merchant’s share of payment is not enough to cover transaction fee. failed 400 null
Merchant fee is greater than split flat amount. failed 400 null
Hosted Link success 200 “checkout_url”: “https://checkout.chapa.co/checkout/payment/Od4P12hbhkbqiw9oZFHgO”
Transaction reference has been used before failed 400 null
User can’t receive payments failed 400 null
Invalid API Key or User doesn’t exist failed 401 null
Payments through API is disabled, please contact us failed 404 null

Required Attributes could be amount, currency, tx_ref

Transaction Verify Endpoint

Message Status Status Code Data
Authorization required failed 401 null
Invalid API Key or User doesn’t exist failed 401 null
Invalid API Key failed 401 null
Invalid transaction or Transaction not found failed 404 null
Live secret keys can’t be used to verify a test transaction failed 401 null
Test secret keys can’t be used to verify a live transaction failed 401 null
Payment not paid yet null 404 null
Payment details payment status 200 { “first_name”: “Bilen”, “last_name”: “Gizachew”,”email”: “abebech_bekele@gmail.com”,”currency”: “ETB”,”amount”: 100,”charge”: 3.5,”mode”: “test”,”method”: “test”,”type”: “API”,”status”: “success”,”reference”: “6jnheVKQEmy”,”tx_ref”: “chewatatest-6669”,”customization”: { “title”: “Payment for my favourite merchant”, “description”: “I love online payments”, “logo”: null},”meta”: null,”created_at”: “2023-02-02T07:05:23.000000Z”,”updated_at”: “2023-02-02T07:05:23.000000Z”}

Payment status could be failed, success, pending.

List Banks Endpoint

Message Status Status Code Data
Authorization required failed 401 null
Banks retrieved - 200 null
Invalid API Key failed 401 null

Transfer Initialize Endpoint

Message Status Status Code Data
Authorization required failed 401 null
Our Transfer hours are Mon-Sat from 08:30 AM - 04:30 PM only, please check our transfer manuals or contact us for an immediate assist. failed 401 null
Invalid API Key or User doesn’t exist failed 401 null
{ Required Attribute: [ “validation.required”] } failed 400 null
This bank is no longer supported or banned by National bank of Ethiopia failed 400 null
The account number is not valid for bank name failed 400 null
The subaccount id you provided isn’t associated with this account. Please make sure the id is correct or to create a subaccount before proceeding. failed 400 null
Insufficient Balance failed 400 null
Transfer Queued Successfully success 200 3241342142sfdd
Transfer Queued Successfully in Test Mode success 200 3241342142sfdd
TThe reference number has been used before failed 400 null
Insufficient Balance failed 400 null
Invalid currency, currency is not supported only ETB is supported to use Transfer API. failed 400 null
The Bank Code is incorrect please check if it does exist with our getbanks endpoint.’, failed 401 null
User can’t receive payments’, failed 400 null
Invalid API Key or User doesn’t exist failed 401 null
Transfer API isn’t available now, please contact us failed 404 null

Required Attributes could be amount, currency, bank_code, reference, beneficiary_name, account_number, account_name

Create Subaccount Endpoint

Message Status Status Code Data
Authorization required failed 401 null
Invalid API Key or User doesn’t exist failed 401 null
{ Required Attribute: [ “validation.required”] } failed 400 null
The account number is not valid for bank name failed 400 null
Subaccount created successfully success 200 “subaccounts[id]”: “837b4e5e-57c8-4e39-b2df-66e7886b8bdb”
Something went wrong while creating the subaccount. failed 400 null
This bank is not longer supported or banned by National bank of Ethiopia failed 400 null
This subaccount does exist failed 400 null
To create subaccounts via API you need to be on live mode. failed 400 null
The Bank Code is incorrect please check if it does exist with our getbanks endpoint. failed 401 null
Invalid API Key or User doesn’t exist failed 400 null
You Can’t create a subaccount via API, try to create from dashboard. failed 401 null

Required Attributes could be split_type, split_value, reference, beneficiary_name,business_name,bank_code, account_number, account_name

Bulk Transfer Endpoint

Message Status Status Code Data
Too many requests failed 429 null

SDK and Plugins
Transfers
Next →