# 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:

- `Transfers` can only be split between `Merchants` created under the same `Application.`
- Each `split_transfer` is placed into the `Settlement` of the `split_transfers#merchant.`
- No changes need to be made to your `Application` or `Merchants` to enable Split Transactions.

## Splitting a Transfer across Sellers

### Finix API

To split a transaction, [when creating the `Transfer`](https://docs.finix.com/api/transfers/createtransfer) include:

- The **ID** of the `Merchants` that the funds will get split across.
- The `amount` to distribute into the `Settlements` of each `Merchant.`

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](https://docs.finix.com/guides/platform-payments/seller-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

```bash
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

```json
{
  "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

```bash
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

```json
{
  "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

```bash
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:

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