Transaction splits
The Transaction Splits feature on Paystack allows you to split money received from a transaction between multiple bank accounts.
This makes it possible, for example, for a marketplace platform that sells goods on behalf of vendors to settle a second account painlessly. Paystack automatically splits the payouts such that the vendor's bank account is credited with their share, and the platform owner gets credited with their own share simultaneously. You can either split a transaction across multiple subaccounts, or you can split it with just one subaccount.
The bank accounts that you split these payments with are called subaccounts.
Splitting a payment with multiple subaccounts
To split a transaction with multiple subaccounts, you will need to create a group containing each of those subaccounts and your preferred split formula. This group is called a split group.
Kindly follow these steps to create a split group:
Click on the Transaction Splits page on your Dashboard and select 'New Split Group'.
Enter your preferred name for the group, select the currency and choose the split type. This could either be a 'percentage split' or a 'flat split'. Percentage split allows you to specify which percentage of the transaction should go to each subaccount, while flat split allows you to specify a flat amount to be sent to each subaccount.
After creating the group, you can add an existing subaccount to it by typing the name of the Subaccount and selecting it from the dropdown or by clicking on 'New Subaccount' to create a new subaccount.
Fill out the required fields and specify the Percentage or Flat Split formula. You are allowed to add as many Subaccounts as you'd like.
Important to note
Flat split groups have a minimum transaction amount. The minimum transaction amount is the sum of all the flat amounts specified for each subaccount in the split group. Any excess money after the flat amounts have been paid is settled into your main payout bank account.
After adding the Subaccounts, you can use your Split Group in three ways:
Via the API
Via a Payment Page
Via Paystack Invoices
Via the API
When a Split Group is created on your Dashboard, a Split Code is generated, as seen below.
To split payments with this split group via the API, you must pass the parameter split_code: "SPLITCODE" along with the other transaction parameters.
Any transaction initialized with a split code will automatically be split between your main account and that split group using the split formula you specified.
Using the APIs, you can add, remove, and update the Subaccounts in a Split and change the active state of a split. Please see our Developer Documentation for a detailed guide on this.
You also have the option of creating a split group on the fly in cases where you can't determine a split configuration until later in the purchase flow. Please read through our Developer Documentation on Dynamic Splits to learn more about this.
Via a Payment Page
Once you have created a Split Group, you can add it to a Payment Page by following these steps:
Click on 'Show Advanced Options' while creating a new Payment Page or updating an existing one.
Under the 'Split payment with a Subaccount or Split Group field', choose 'Split Group' and select your preferred split group from the list of Split Groups.
Create or update your Payment Page.
Any transaction from this Payment Page will automatically be split between your main account and the subaccounts in the split group that you have added, using the split formula you specified. Below is a simple illustration:
Via Paystack Invoices
Once you have created a split group, you can add it to an Invoice by following these steps:
Click the 'Invoices' item on your Paystack Dashboard menu and click 'Request a Payment'.
Select 'Professional Invoice' (payments cannot be split with a simple invoice), enter your customer's email address and click 'Edit Details'.
Select the Split Group from the list of Split Groups in the 'Split payment With' field on your Invoice and click 'Send Now'.
The payment from this Invoice will automatically be split between your main account and the subaccounts in the split group that you have added using the split formula you specified.
Who gets charged the transaction fee?
When a transaction is split with multiple Subaccounts, you can choose which account the fees will be deducted from, as seen below.
All accounts: Transaction fees are shared across each account, your payout account inclusive.
All proportional: Transaction fees are split according to the transaction share of each subaccount.
Your account: Your payout account bears all the fees.
Subaccount: You select one of the subaccounts in the Split Group to bear the fees.
Splitting a payment with one subaccount
To split a payment with one subaccount, kindly follow these steps:
Go to the Subaccounts page on your dashboard and click the 'New Subaccount' button.
Fill in the required fields:
Currency: This is the currency of the subaccount you want to add (if your business is eligible for multiple currencies).
Bank Name (for payouts): Here, select the bank the subaccount is tied to.
Bank Account Number: Enter the account number for the Subaccount here. The account name is automatically resolved.
Name of Subaccount: Enter the name of the subaccount on Paystack or how you want your business to identify it.
Transaction Split: This is the percentage of each payment the main account and subaccount get.
Click on 'Create'.
After creating the subaccount, there are three ways you can split a payment between your payout account and the subaccount:
Via a Payment Page
Via a Product Page/Product Link
Via the API
Via a Payment Page
Once you have created the Subaccount, you can add it to any Payment Page to split transactions from that Payment Page by following these steps:
Click 'Show Advanced Options' to create a new Payment Page or update an existing one.
Under the 'Split payment with a Subaccount or Split Group field', choose 'Subaccount' and select your preferred Subaccount from the list of Subaccounts.
Create or update your Payment Page.
Any transaction from this Payment Page will automatically be split between your main account and the Subaccount that you have added using the split formula you specified.
Via a Product Page/Product Link
You can also add your created subaccount to any Product Page to split transactions from that Product Page by following these steps:
Click on Products and select the Product you want to add the subaccount to.
Click on the After Purchase tab and click 'Edit'.
In the 'Split Payments' field, choose the subaccount you want to split the payments from that Product Page and click 'Save'.
Any transaction from this Product Page will automatically be split between your main account and the Subaccount that you have added using the split formula you specified.
Via the API
When a Subaccount is created on your dashboard, a subaccount code is generated, as seen below.
To split payments with one subaccount via the API, you must pass the parameter subaccount: "SUB_ACCOUNTCODE" along with the other transaction parameters.
Any transaction initialized with a subaccount code will automatically be split between your main account and the subaccount that you have added using the split formula you specified. Please see our Developer Documentation for a detailed guide on this.
Who gets charged the transaction fees
When a transaction is split with one subaccount, the transaction fee is automatically charged to the main account. If the main account receives a 0% percentage deduction, the subaccount gets charged the transaction fee. Using the APIs, you can change who bears the fees by passing the parameter bearer: "subaccount"
while initializing a transaction.
Important to note
It's very important to double-check the account information when creating a subaccount. Do this to ensure you are transferring to the correct bank account. Paystack will not be liable for payouts to an incorrect bank account.
Updating a subaccount
After creating a subaccount, you may want to update some of the details you provided for the account. You can do this via the Dashboard or API.
Via the Dashboard
Click on the Subaccounts page on your Dashboard and select 'Update'.
Enter the details you would like to change and select the Update button.
Via the API
Please refer to the Update Subaccount section of our API documentation for a guide on this.
Deleting or deactivating a subaccount
You may want to delete or deactivate a subaccount for various reasons. Before doing so, it is important to ensure that the subaccount does not have a pending payout.
If your subaccount with a pending payout gets deleted or deactivated, the outstanding payout to the account will not be processed to your main account. It will only be processed when the subaccount is reenabled. You can delete or deactivate a subaccount via the Dashboard or API.
Via the Dashboard
Click on the Subaccounts page on your Dashboard menu and select 'Delete'.
Confirm your choice by selecting the 'Yes, Delete' button.
If your subaccount belongs to a split group, you will receive an error if you try to delete it using this method. You will need to follow these steps instead to delete the subaccount:
Go to the Transaction Splits page on your Dashboard.
Select the Split Group that the subaccount belongs to.
Select the delete icon next to the subaccount, as shown below.
Once the subaccount has been deleted from the Split group, you’ll be able to delete the subaccount using the previously outlined steps via the Dashboard.
Via the API
Please refer to the Update Subaccount section of our API documentation for a guide on this.
Monitoring your split payments
You can keep an eye on all your split payments from the Transactions page. After you create at least one Subaccount, you'll see an 'All Accounts' dropdown on the Transactions page. Click this drop-down to show a list of all Subaccounts, and click on a Subaccount to see all the transactions that were split with that account.
Once you've done this, you can use the Export CSV button at the top right to download the transaction record for each Subaccount and track your split transaction history.
You can also get a report of all the payouts made to a subaccount by following the same steps on the Payouts page.
Important to note
If your subaccount with a pending payout gets deleted or disabled, the outstanding payout to the account will not be processed to your main account. It will only be processed if the subaccount is re-enabled. Kindly ensure that there are no pending payouts to your subaccount before you delete it. For details on how to remove a subaccount, please see the section above.