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:

Splitting a Transfer across Sellers

Finix API

To split a transaction, when creating the Transfer include:

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:

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.

post
/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:

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"\
  ]
}