Split payments are carried out by first creating a subaccount, then initializing the split payment. Utilizing split payment is essential in scenarios where there is a shared payment between a service provider and platform provider.
Create a subaccount
Subaccounts can be created easily via the Chapa Dashboard or using the Create Subaccount API
:
bank_code
andaccount_number
: The bank account details for this subaccount. Thebank_code
is the bank id (you can get this from the get banks endpoint).
When you are in Test Mode, you can use any of our test account numbers as your subaccount.
business_name
: The vendor/merchant detail the subaccount for.account_name
: The vendor/merchant account’s name matches from the bank account.split_type
: The type of split you want to use with this subaccount.- Use
percentage
if you want to get a percentage of each transaction. - Use
flat
if you want to get a flat fee from each transaction, while the subaccount gets the rest.
- Use
split_value
: The amount you want to get as commission on each transaction. This goes with thesplit_type
, for example:- to collect 3% from each transaction,
split_type
will bepercentage
andsplit_value
will be0.03
. - to collect
25 Birr
from each transaction,split_type
will beflat
andsplit_value
will be25
.
- to collect 3% from each transaction,
Note that subaccounts are working with
ETB
currency as a default settlement. This means if we getsubaccount
in your payload regardless of the currency we will convert it to ETB and do the settlement.
Sample Code
Endpoint https://api.chapa.co/v1/subaccount
Headers
Authorization
* : Pass your secret key as a bearer token in the request header to authorize this call.
Method POST
Refer to our Response List page for all responses for this request.
If creating this account is successful we will return the subaccount id
which you will need it when you initiate a transaction.
Initializing Split Payment
Subaccounts can be created via the Initialize Transaction API:
Sample Code
Endpoint https://api.chapa.co/v1/transaction/initialize
Headers
Authorization
* : Pass your secret key as a bearer token in the request header to authorize this call.
Method POST
Refer to our Response List page for all responses for this request.
Overriding the defaults
When collecting a payment, you can override the default split_type
and split_value
you set when creating the subaccount, by specifying these fields in the subaccounts item:
split_type
: The type of commision to charge for this transaction:flat
if you want to get a flat fee while the subaccount gets the rest, orpercentage
if you want to get a percentage of the settlement amount.
split_value
: The amount to charge as commission on the transaction. It is important to match thesplit_value
for example:
for example:
- to collect 3% from each transaction, split_type
will be percentage
and split_value
will be 0.03
.
- to collect 25 Birr
from each transaction, split_type
will be flat
and split_value
will be 25
.
Here are some examples. In each of these transactions, let’s suppose the whole amount paid is 100 ETB and Chapa fees are 6 ETB.
Keep in Mind!!!!
Knowing your vendors/sub-accounts is your responsibility and if there is any dispute or chargeback raised we will be taking it from your account and it will be reflecting in your image.
- Chapa fees are taken from you / customer.