Split Links¶
Split Links allow you to distribute a single customer payment across multiple SecPaid recipients automatically. Each recipient receives their share minus their individual service fee — the customer always pays a single amount.
Split Types¶
SecPaid supports two distribution models:
split_type |
Description |
|---|---|
normal |
Each recipient's share is a percentage of the total amount. Shares should sum to 100. |
absolute |
Each recipient's share is a fixed EUR amount. |
The default is normal if split_type is omitted.
Creating a Split Link¶
Use POST /api/v2/createSplitLink. Pass the recipients as a JSON array in the body.
Example: Percentage-Based Split (normal)¶
Customer pays €150. Two recipients split 60/40.
curl --location 'https://app.secpaid.com/api/v2/createSplitLink' \
--header 'token: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"amount": 150.00,
"recipient_note": "Service package",
"split_type": "normal",
"recipients": [
{ "token": "RECIPIENT_TOKEN_A", "share": 60 },
{ "token": "RECIPIENT_TOKEN_B", "share": 40 }
]
}'
Distribution: - Recipient A receives: €90 (minus their service fee) - Recipient B receives: €60 (minus their service fee)
Example: Fixed Amount Split (absolute)¶
Customer pays €100. Three recipients receive fixed amounts.
curl --location 'https://app.secpaid.com/api/v2/createSplitLink' \
--header 'token: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"amount": 100.00,
"recipient_note": "Mixed service",
"split_type": "absolute",
"recipients": [
{ "token": "RECIPIENT_TOKEN_A", "share": 50.00 },
{ "token": "RECIPIENT_TOKEN_B", "share": 30.00 },
{ "token": "RECIPIENT_TOKEN_C", "share": 20.00 }
]
}'
Distribution: - Recipient A receives: €50 (minus their service fee) - Recipient B receives: €30 (minus their service fee) - Recipient C receives: €20 (minus their service fee)
Example: Single Recipient¶
You can also route the full payment to one specific recipient by passing a single entry:
{
"amount": 200.00,
"recipient_note": "Full payment",
"split_type": "normal",
"recipients": [
{ "token": "RECIPIENT_TOKEN", "share": 100 }
]
}
Important Notes¶
-
Individual service fees — each recipient's service fee is calculated separately based on their agreement with SecPaid. Two recipients receiving equal shares may receive slightly different net amounts if their fees differ.
-
Percentage precision — for
normalsplits, shares should sum to exactly 100. Rounding is handled according to SecPaid's rounding policy. -
Minimum thresholds — ensure each recipient's net amount after fees meets the minimum payout threshold.
-
Recipient tokens — see Recipient Token for how to obtain them.
-
Customer experience — the customer sees a single payment amount. The split happens server-side after the payment is processed.
Identifying Split Transactions¶
Split payments are flagged in getPayInTransactions with is_split_link: "true" and transaction_type: "Split".