ChapaChapa Docs

Split Payments

Share transaction settlements with third parties via subaccounts.

Split payments let you share settlement with third-party vendors via subaccounts.

What is a subaccount?

A subaccount stores the external bank info for a vendor/partner. When you split a payment, part of the funds go to the subaccount’s bank account.

Typical use: platforms and marketplaces sharing revenue with providers.

Create a subaccount

Create via Dashboard or API.

Endpoint https://api.chapa.co/v1/subaccount
Method POST
Authorization Bearer CHAPA_SECRET_KEY

Body fields

  • bank_code, account_number — Bank details (bank_code from Get Banks endpoint)
  • business_name — Vendor/merchant name
  • account_name — Name matching bank record
  • split_typepercentage or flat
  • split_value — Commission amount (e.g., 0.03 for 3%, or 25 for 25 ETB)

Settlements default to ETB; payload currency is converted to ETB for subaccount settlement.

cURL
Python

If successful, the response includes a subaccount id you will use when initiating transactions.

Initialize a split payment

Use Initialize Transaction API or Direct Charge API.

Endpoints

  • https://api.chapa.co/v1/transaction/initialize
  • https://api.chapa.co/v1/charges?type={payment_method}

Method POST
Authorization Bearer CHAPA_SECRET_KEY

cURL
Python

Override split defaults per transaction

You can override split_type and split_value in the subaccounts object when charging:

  • split_type: flat or percentage
  • split_value: amount or percentage (e.g., 0.03 for 3%, 25 for 25 ETB)

Example (100 ETB total, fees 6 ETB):

  • If split_type = flat and split_value = 25, subaccount gets 69 ETB; you keep the remainder after fees.

Know your vendors/subaccounts. Disputes/chargebacks are taken from your account. Chapa fees are taken from you or the customer.

Refer to Error Codes for response details.

On this page