Charge Splits
Charge Splits
BETA: This endpoint is subject to change without notice.
A charge split distributes funds from a payment to one or more child accounts. You configure the split when creating the payment intent, and when the funds settle, they are allocated directly to each child account's balance.
This is one of several ways to move funds to embedded accounts. You can also create direct transfers at any time — for example, when an invoice is created (to pay out ahead of receiving payment) or in response to a payment_intent.succeeded webhook (to pay out when you know the funds will settle but ahead of settlement).
Creating a payment intent with splits
Add a transfers array to your CreatePaymentIntent request. Each entry specifies a child account and the amount to allocate:
curl -X POST https://api.synaptopay.com/v1/accounts/acct_YOUR_ACCOUNT/payment-intents \
-H "Authorization: Api-Key $API_KEY" \
-H "Idempotency-Key: YOUR_UNIQUE_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "100000",
"currency": "GBP",
"transfers": [
{
"account_name": "accounts/acct_SELLER_A",
"amount": "60000"
},
{
"account_name": "accounts/acct_SELLER_B",
"amount": "30000"
}
]
}'How charge splits work
When the payment succeeds, the expected split amounts appear in each account's pending balance:
- Seller A: 600.00 GBP pending
- Seller B: 300.00 GBP pending
- Your account: the remaining 100.00 GBP pending
When the funds settle, the pending amounts move to available for each account.
A CHARGE_SPLIT transfer record is created when the payment succeeds. The transfer.settled webhook fires when the funds settle and become available.
See Custodial Balances for details on settlement.
Lifecycle
| Step | Your account | Each child account |
|---|---|---|
| Payment succeeds | Net retained amount appears in pending | Allocated amount appears in pending |
| Funds settle | Moves to available | Moves to available |
Refunds
If a payment intent with charge splits is refunded, the refund is taken from your account's balance — funds are not clawed back from the child accounts that received the split. You are responsible for recovering those funds separately if needed (e.g. via direct transfers back from the child accounts). Listen for the refund.updated webhook event to be notified when a refund occurs — see Webhooks.
More sophisticated refund processing for charge splits will be supported in a future release.
Invoices
Charge splits are currently only supported on payment intents, not invoices. If you need to split invoice proceeds to child accounts, listen for the invoice.paid or payment_intent.settled webhook and create direct transfers using the batch create API. Support for charge splits on invoices will be added in a future release.
Constraints
- Each recipient must be a direct child of your account
- Each recipient must have
capabilities.transfers.stateofACTIVE - Transfer amounts must be positive
- Only one transfer per recipient account per payment intent
- The total transfer amount cannot exceed the payment intent amount (but can equal it — you can allocate 100% to children)
Retrieving charge split transfers
Charge split transfers appear alongside direct transfers when you list transfers. They are distinguished by type: "CHARGE_SPLIT" and include the charge_name field linking them to the originating charge.
curl -X POST https://api.synaptopay.com/v1/accounts/acct_YOUR_ACCOUNT/transfers:list \
-H "Authorization: Api-Key $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"page_size": 20
}'Example response
{
"transfers": [
{
"name": "accounts/acct_YOUR_ACCOUNT/transfers/txfr_TRANSFER_ID",
"type": "CHARGE_SPLIT",
"source_account_name": "accounts/acct_YOUR_ACCOUNT",
"destination_account_name": "accounts/acct_SELLER_A",
"currency": "GBP",
"amount": "60000",
"charge_name": "accounts/acct_YOUR_ACCOUNT/charges/ch_CHARGE_ID",
"create_time": "2026-01-15T10:30:00Z",
"update_time": "2026-01-15T10:30:00Z"
}
]
}Charge splits vs direct transfers
| Charge splits | Direct transfers | |
|---|---|---|
| When configured | At payment intent creation | Any time via the CreateTransfer API |
| When funds move | At settlement | Immediately |
| Funds source | Charge proceeds | Available balance |
| Use case | Splitting payment proceeds | Moving already-available funds between accounts |
See Transfers for direct transfers.
Updated about 7 hours ago