Overview
Split Settlement lets you automatically route a portion of every payment directly to a beneficiary’s bank account at settlement time — no manual transfers or reconciliation needed. A typical use case is a marketplace or platform that needs to pay a vendor, partner, or sub-merchant their share of every transaction. How the split is calculated:
The split_value defines how much of the transaction amount you (the Payaza account owner) keep. The remainder is sent to the split account beneficiary.
For example, with split_type: "PERCENTAGE" and split_value: 20 on a ₦10,000 transaction — you keep ₦2,000 (20%) and the split account beneficiary receives ₦8,000 (80%).
Here is how it fits into a payment flow:
- You create one or more split accounts via the API — each one defines a beneficiary bank account, a split type, and the portion you retain.
- Each split account gets a unique
code(e.g.SSA_C0900E891783950401871). - When you initiate a checkout, you pass those codes in the
split_accountsarray. - Payaza automatically retains your defined portion and routes the remainder to the beneficiary at settlement time.
Key Requirements
Retrieve your API keys from your dashboard by following the steps on our
Authentication page. Use your public API key for
all split settlement requests.
Set
X-TenantID to test while developing and live when processing real
payments.Split types
When creating a split account, you choose how the retained amount is calculated. In both cases,split_value defines what you (the Payaza account owner) keep — the beneficiary receives whatever is left over.
For
PERCENTAGE splits, split_value must be between 0 and 100. Passing
a value outside this range will return an error.How split settlement works end to end
Step-by-step flow
Step-by-step flow
- Create a split account for each beneficiary using the Create Split Account endpoint. Each account is tied to a bank account number, bank code, split type, and the portion you retain.
- Copy the
codefrom the Create Split Account response (e.g.SSA_C0900E891783950401871). This is the only value you need to reference the split account later.
- Initiate a checkout and include the
split_accountsarray with the relevant code(s).
- When a customer completes the payment, Payaza automatically retains your defined portion and routes the remainder to the beneficiary. No further action is needed from your server.
Example: Marketplace with vendor split (PERCENTAGE)
Example: Marketplace with vendor split (PERCENTAGE)
You run a marketplace. For every ₦10,000 sale, you want to keep your 20% platform fee and send the rest to the vendor.Create one split account for the vendor with
split_type: "PERCENTAGE" and split_value: 20.- You (Payaza account owner) keep: ₦2,000 (20%)
- Vendor (split account beneficiary) receives: The remainder of the transaction
split_accounts array. Payaza handles the rest automatically.Example: Fixed platform fee (FLAT)
Example: Fixed platform fee (FLAT)
You charge a flat ₦1,500 platform fee on every order and want the rest to go to the service provider, regardless of order size.Create one split account for the service provider with
split_type: "FLAT" and split_value: 1500.- You (Payaza account owner) keep: ₦1,500
- Service provider (split account beneficiary) receives: the remainder of every transaction
Step 1 — Create a Split Account
This creates a new split account for a beneficiary. A uniquecode is returned on success which can be passed in the checkout SDK.
Sample response — success
Step 2 — Use the split account code in Checkout
Once you have a split accountcode, pass it in the split_accounts array when initiating a Checkout transaction. Payaza will automatically route settlement to the beneficiary accounts you specify.
You can include multiple split accounts in a single checkout to distribute funds across several beneficiaries at once.
Single split account
Multiple split accounts
Every
code in the split_accounts array must reference an existing,
active split account.split_accounts parameters
Step 3 — Fetch all Split Accounts
Retrieve a paginated list of all split accounts belonging to your merchant account. Useful for displaying a list of configured beneficiaries in your dashboard or verifying that a split account exists before including it in a checkout.
Sample response
Step 4 — Update a Split Account
Update the details of an existing split account using itsid. All body parameters are optional — include only the fields you want to change. Fields not included in the request retain their existing values.
BODY Parameters (all optional)
Sample response — success
Setting
active: false deactivates the split account without deleting it. A
deactivated split account cannot be used in a checkout until it is reactivated
by setting active: true again.Step 5 — Delete a Split Account (optional)
Permanently deletes a split account by itsid. This cannot be undone. If you want to temporarily stop using a split account without deleting it, use the Update endpoint to set active: false instead.
Sample response — success
Error handling
Developer notes
split_valueis your cut, not the beneficiary’s. Thesplit_valuedefines how much the Payaza account owner retains. The split account beneficiary always receives the remainder. This is the single most important thing to get right when configuring splits.- For
PERCENTAGEsplits, asplit_valueof20means you keep 20% — the beneficiary receives 80%. If you want the beneficiary to receive only 10%, setsplit_value: 90. - For
FLATsplits, asplit_valueof2000means you keep ₦2,000 from every transaction — the beneficiary receives the transaction amount minus ₦2,000. Ensure yoursplit_valuenever exceeds the minimum transaction amount or the split will fail. - Always save
data.codeimmediately after creating a split account — this is the only identifier used in Checkout requests, and it can be retrieved later using the Fetch Split Accounts API. - The
id(integer) andcode(string prefixedSSA_) are two different identifiers. Usecodein Checkout requests; useidin Update and Delete requests. - You can include multiple split accounts in a single checkout by adding multiple objects to the
split_accountsarray. Each must have a valid, activecode. - Prefer
active: falsevia the Update endpoint over Delete if you think you may need the split account again. Deletion is permanent. - Split accounts can be created in advance and reused across many transactions — you do not need to create a new split account per transaction. Create once, reference many times.
- If you add multiple
PERCENTAGEsplit accounts to a single checkout, each one defines a separate retained amount — the percentages do not combine. Validate your split logic carefully in the test environment before going live.