Split Transactions
Split Transactions
Learn how to split a transaction across multiple sellers.
When processing an online payment or transaction, you can split the funds that get paid out across several different sellers.
Specifically, the funds from Transfers can be split across any number of approved Merchants. Please note:
Transferscan only be split betweenMerchantscreated under the sameApplication.- Each
split_transferis placed into theSettlementof thesplit_transfers#merchant. - No changes need to be made to your
ApplicationorMerchantsto enable Split Transactions.
Splitting a Transfer across Sellers
Finix API
To split a transaction, when creating the Transfer include:
- The ID of the
Merchantsthat the funds will get split across. - The
amountto distribute into theSettlementsof eachMerchant.
The combined amounts in the split_transfers object must be equal to the amount of the Transfer.
In the following example, a $10.00 Transfer is split so:
- The primary merchant receives $6.00 (before subtracting processing fees)
- The second merchant receives $3.00 (before subtracting processing fees)
- The third merchant receives $1.00 (before subtracting processing fees)
Processing fees get deducted when Merchants receive their payouts. For more details, see Payouts.
The primary merchant is the merchant specified in the parent Transfer request; outside the split_transfers object.
Example
API Definition
post
/transfers
- Sandbox server https://finix.sandbox-payments-api.com/transfers
cURL
curl -i -X POST \
-u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
https://finix.sandbox-payments-api.com/transfers \
-H 'Content-Type: application/json' \
-H 'Finix-Version: 2022-02-01' \
-d '{
"amount": 1000,
"currency": "USD",
"merchant": "MUmfEGv5bMpSJ9k5TFRUjkmm",
"source": "PI5benj4eVhCL4ALMv6SFxJG",
"split_transfers": [\
{\
"amount": 600,\
"merchant": "MUmfEGv5bMpSJ9k5TFRUjkmm",\
"tags": {\
"key": "value"\
}\
},\
{\
"amount": 300,\
"fee": 100,\
"merchant": "MU7noQ1wdgdAeAfymw2rfBMq"\
},\
{\
"amount": 100,\
"merchant": "MUcgYZswyRfqSSbvMsxuaHxZ"\
}\
]
}'
Example response:
Example
API Definition
Split Transaction
{
"id": "TR4juLvWuH9X3NNoQoNgV7Lb",
"created_at": "2026-01-12T22:57:43.97Z",
"updated_at": "2026-01-12T22:57:43.97Z",
"amount": 1000,
"currency": "USD",
"merchant": "MUmfEGv5bMpSJ9k5TFRUjkmm",
"split_transfers": [\
"split_transfer_4jMxFDBZkDF2q5FnxDCvPC",\
"split_transfer_4jMUn4atFyP6i7vrAT7ina",\
"split_transfer_4jMUKxw1isVpuzwAmgaPV4"\
],
"state": "PENDING",
"type": "DEBIT"
}
Split Transfers
The split_transfers array returned in the response contains the resource IDs of the split_transfers generated from the Transfer that was split.
Use the ID to review how the transaction was split for the specified Merchant.
cURL
curl -i -X GET \
-u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
https://finix.sandbox-payments-api.com/split_transfers/split_transfer_97gaitUpcmzqjYYpQbei9j \
-H 'Finix-Version: 2022-02-01'
Example response:
Split Transfer
{
"id": "split_transfer_97gaitUpcmzqjYYpQbei9j",
"amount": 400,
"currency": "USD",
"merchant_id": "MU7noQ1wdgdAeAfymw2rfBMq",
"parent_transfer_id": "TR96ZCp2GLvDHPPTMpcsabZi",
"type": "DEBIT"
}
Refunding Split Transactions
Refund Split Transactions by following the usual steps to refund transactions in Finix. When processing a refund, you can split the funds across the Merchants included in the original Transfer so they get paid back across the different sellers.
Please note, the amount refunded to each Merchant can't exceed that Merchant's original split amount in the parent Transfer.
cURL
curl 'https://finix.sandbox-payments-api.com/transfers/TR2kKxKDu2nJCvjD2djuDktv/reversals' \
-H 'Content-Type: application/json' \
-H 'Finix-Version: 2022-02-01' \
-u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
-X POST \
-d '{
"refund_amount": 1000,
"split_transfers": [\
{\
"merchant": "MUeDVrf2ahuKc9Eg5TeZugvs",
"amount": 600\
},\
{\
"merchant": "MUeHUEPKybMjqV1STcqrFTSH",
"amount": 300\
},\
{\
"merchant": "MU3Gh6DT5fCBxVtWB8VJc1St",
"amount": 100\
}\
]
}'
Example response:
{
"id": "TR7KSrpZWc9UoB6bcxqYu978",
"created_at": "2023-08-08T20:29:14.88Z",
"amount": 1000,
"currency": "USD",
"merchant": "MUeDVrf2ahuKc9Eg5TeZugvs",
"split_transfers": [\
"split_transfer_8DUfRhXpZDiM6rZcyfNGGD",\
"split_transfer_8DUgkBtytEtSPQKKCCmG3m",\
"split_transfer_8DUgvBbUwJiN2pWw6P4cMH"\
]
}