Transfers

This section describes how merchants and developers can send funds to Bank accounts.

With Chapa Transfer API, you can send money to bank accounts from your balance. To send money on Chapa, you need API keys to authenticate your transfers. You can find your keys on the Chapa Dashboard under Settings->API


Note You need to collect the customer’s account details and confirm that it’s valid before sending money. This is to ensure you don’t send money to the wrong or invalid account. We don’t take any responsibility if this happens.

List banks

This section describes how to get bank details for all supported banks we are working with. This API returns all the Banks information for all currencies.

Endpoint https://api.chapa.co/v1/banks

Method GET

Headers

  • Authorization * : Pass your secret key as a bearer token in the request header to authorize this call.

Sample Code

Refer to our Error Codes page for all responses for this request.

OTP approval

As an additional layer of security, a merchant might want to confirm a transfer by using the One Time Password (OTP) sent to their device.

Alt for image

Server approval

It allows you to create a URL that checks that a transfer request was initiated by you. It’s a two step process:

  1. Create an approval URL
  2. Add URL to dashboard

Create an approval URL

The approval URL is a POST endpoint that checks the authenticity of transfer details. If the transfer details are authentic, it should respond with a 200, else a 400:

Response code Meaning Status
200 Transfer approved pending
400 Transfer rejected reverted

Add URL to dashboard

When you are done with the implementation of your approval URL, you need to add the URL to Chapa Dashboard. To do this, head over to your Dashboard, then navigate to Settings, then Account Settings to locate the Transfer Approval section:

Alt for image

Initiate a Transfer

This section describes how to Initate a transfer with Chapa.

Endpoint https://api.chapa.co/v1/transfers

Method POST

Body Parameters

  • account_name *: This is the recipient Account Name matches on their bank account.
  • account_number *: This is the recipient Account Number.
  • amount *: This the amount to be transferred to the recipient.
  • currency*: This is the currency for the Transfer. Expected value is ETB.
  • reference *: This a merchant’s uniques reference for the transfer, it can be used to query for the status of the transfer.
  • bank_code *: This is the recipient bank code. You can see a list of all the available banks and their codes from the get banks endpoint.

Headers

  • Authorization *: Pass your secret key as a bearer token in the request header to authorize this call.

Sample Code

Refer to our Error Codes page for all responses for this request.

Note: You need to have enough balance in your Available Balance to make a transfer. If your balance is less than the requested transfer amount, we will reject the transfer, if this persists we will block access to the transfer API.

Get all transfers

This section describes how to get all your transfers with Chapa.

Endpoint https://api.chapa.co/v1/transfers

Method GET

Headers

  • Authorization *: Pass your secret key as a bearer token in the request header to authorize this call.

Sample Code


Error Codes
Verify Transfers
Next →

Related Docs