Split Payments
Split payments allow you to automatically divide transaction proceeds between multiple businesses. Configure percentage-based or fixed-fee splits, track commissions in real time, and settle weekly with auto-generated invoices.
Create split config
Create a new split payment configuration between your business and a partner business.
Required attributes
- Name
partner_business_id- Type
- integer
- Description
The ID of the partner business that will receive the split.
- Name
split_type- Type
- string
- Description
The type of split:
percentage(basis points) orfixed(cents).
- Name
split_value- Type
- integer
- Description
The split amount. For
percentage, use basis points (e.g.,250for 2.5%). Forfixed, use cents (e.g.,500for $5.00).
- Name
split_role- Type
- string
- Description
The role of the split:
fee(partner takes a fee) orprincipal(partner receives the principal amount).
- Name
currency- Type
- string
- Description
Three-letter ISO currency code (e.g.,
USD,ZWG).
Optional attributes
- Name
description- Type
- string
- Description
A human-readable description of the split arrangement.
Request
curl -X POST https://api.zuripay.app/v1/splits/config \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"partner_business_id": 29,
"split_type": "percentage",
"split_value": 100,
"split_role": "fee",
"currency": "USD",
"description": "Platform referral fee"
}'
Response
{
"result": "success",
"split_config": {
"public_id": "550e8400-e29b-41d4-a716-446655440000",
"owner_business_id": 1,
"partner_business_id": 29,
"split_type": "percentage",
"split_value": 100,
"split_role": "fee",
"currency": "USD",
"description": "Platform referral fee",
"is_active": true
},
"message": "Split payment config created successfully."
}
List split configs
Retrieve all split payment configurations for the authenticated business.
Request
curl https://api.zuripay.app/v1/splits/config \
-H "Authorization: Bearer sk_live_your_api_key"
Response
{
"result": "success",
"split_configs": [
{
"public_id": "550e8400-e29b-41d4-a716-446655440000",
"owner_business_id": 1,
"partner_business_id": 29,
"split_type": "percentage",
"split_value": 100,
"split_role": "fee",
"currency": "USD",
"description": "Platform referral fee",
"is_active": true,
"date_created": "2026-03-06 10:00:00"
}
],
"count": 1
}
Update split config
Update an existing split payment configuration.
Optional attributes
- Name
split_type- Type
- string
- Description
Updated split type:
percentageorfixed.
- Name
split_value- Type
- integer
- Description
Updated split value in basis points or cents.
- Name
split_role- Type
- string
- Description
Updated split role:
feeorprincipal.
- Name
description- Type
- string
- Description
Updated description.
Request
curl -X PUT https://api.zuripay.app/v1/splits/config/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"split_value": 300,
"description": "Updated platform fee"
}'
Response
{
"result": "success",
"split_config": {
"public_id": "550e8400-e29b-41d4-a716-446655440000",
"owner_business_id": 1,
"partner_business_id": 29,
"split_type": "percentage",
"split_value": 300,
"split_role": "fee",
"currency": "USD",
"description": "Updated platform fee",
"is_active": true
},
"message": "Split payment config updated successfully."
}
Deactivate split config
Deactivate a split payment configuration. Deactivated configs will no longer be applied to new transactions.
Request
curl -X DELETE https://api.zuripay.app/v1/splits/config/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer sk_live_your_api_key"
Response
{
"result": "success",
"public_id": "550e8400-e29b-41d4-a716-446655440000",
"message": "Split config deactivated successfully."
}
List ledger entries
Retrieve commission ledger entries for the authenticated business. Each entry represents a split that was applied to a transaction.
Optional parameters
- Name
skip- Type
- integer
- Description
Number of records to skip for pagination (default: 0).
- Name
limit- Type
- integer
- Description
Maximum number of records to return (default: 100).
Request
curl -G https://api.zuripay.app/v1/splits/ledger \
-H "Authorization: Bearer sk_live_your_api_key" \
-d skip=0 \
-d limit=20
Response
{
"result": "success",
"ledger_entries": [
{
"public_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"transaction_id": 123,
"split_config_id": 1,
"creditor_business_id": 29,
"debtor_business_id": 1,
"amount": 100,
"currency": "USD",
"status": "pending",
"invoice_reference": null,
"settlement_date": null,
"date_created": "2026-03-06 10:00:00"
}
],
"count": 1
}
Get ledger summary
Retrieve an aggregated summary of commission ledger entries for the authenticated business.
Request
curl https://api.zuripay.app/v1/splits/ledger/summary \
-H "Authorization: Bearer sk_live_your_api_key"
Response
{
"result": "success",
"summary": {
"owed_to_you": [
{ "currency": "USD", "total": 5000 }
],
"you_owe": [
{ "currency": "USD", "total": 3000 }
]
}
}
Create payment link with splits
The POST /v1/links endpoint now accepts an optional splits array to attach split payment rules directly to a payment link. When a customer pays through this link, the splits are applied automatically.
Additional optional attributes
- Name
splits- Type
- array
- Description
An array of split rule objects to apply when this link is paid. Each object contains:
- Name
splits[].business_id- Type
- integer
- Description
The ID of the partner business that will receive the split.
- Name
splits[].type- Type
- string
- Description
The type of split:
percentage(basis points) orfixed(cents).
- Name
splits[].value- Type
- integer
- Description
The split amount. Must be a positive integer. For
percentage, use basis points. Forfixed, use cents.
- Name
splits[].description- Type
- string
- Description
An optional description for this split.
Request
curl -X POST https://api.zuripay.app/v1/links \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"amount": 10000,
"currency": "USD",
"description": "Order #123",
"splits": [
{
"business_id": 29,
"type": "percentage",
"value": 100,
"description": "Service fee"
}
]
}'
Response
{
"result": "success",
"payment_link_id": "zp_chk_f6g7h8i9j0",
"hosted_payment_link": "https://checkout.zuripay.app?checkout_id=zp_chk_f6g7h8i9j0",
"message": "Payment link created with split rules. Amount: USD 10000, Charges: USD 100.0, Total: USD 101.0"
}