Split Transfers

Each transfer has a unique transfer code created with the help of. With the help of Fetch Transfer API, You can check the details or status of your transfers anytime you want.

Verify Account Number

Before any transfers, make sure that the account number is valid. We provide a Resolve Account Number API endpoint ensuring the account number is accurate. You can send a GET request to the API with the account number and bank code:

curl https://api.chapa.dev/bank/resolve?account_number=0001234567&bank_code=058
    -H "Authorization: Bearer YOUR_SECRET_KEY"
    -X GET

Create a Transfer Recipient

Once a transfer recipient with the required details is created, and the information has been verified, you can move forward and send money to that account. The transfer recipient is created in Transfer Recipient API endpoint, where the user’s account and bank code is stored.

curl https://api.chapa.dev/transferrecipient
    -H "Authorization: Bearer YOUR_SECRET_KEY"
    -H "Content-Type: application/json"
    -d '{ "type": "nuban", 
          "name": "Abebe Kebede", 
          "account_number": "0001234567", 
          "bank_code": "058", 
          "currency": "ETB"
    -X POST

Initiate a transfer

Initiate Transfer API endpoint can be called to send money when you have created all that is necessary.

curl https://api.chapa.dev/transfer
    -H "Authorization: Bearer YOUR_SECRET_KEY"
    -H "Content-Type: application/json"
    -d '{ "source": "balance", 
          "amount": "3794800", 
          "recipient": "RCP_t0ya41mp35flk40", 
          "reason": "Holiday Flexing" 
    -X POST

Listen for Transfer Status

It takes a few seconds or minutes to process the transaction. When it is done, Chapa will send a POST event. You will either receive a transfer.success or transfer.failed if the transfer was successful or failed respectively. Here is a list of events you may receive.

Chapa's Dashbaord
Financial Services
Disputes and Fraud