Charge platform fees
Rootline offers platforms streamlined fee and platform revenue management. With every (split) payment you can configure your fee to be charged. The platform_fee
is the default fee that you can book on your sellers' payments.
Rootline only charges your platform account for Rootline fees, never directly from sellers. We give you the tools to earn your own margins on payments through our Payments API.
Foundational to the Rootline product is the principle of double-entry bookkeeping. A fundamental accounting method where every financial transaction affects at least two accounts, creating a system of checks and balances that naturally prevents errors.
Platform fees are a good example: the consumer of platform services is being debited with a fee, while the provider's account, usually you as a platform, receives a credit.
Provider's account | Service consumer's account | |
---|---|---|
Platform fees | - € 1.00 | |
Platform revenue | + € 1.00 |
How to charge platform fees
To charge one or multiple fees simply send in the fees
array with a split payment. In the example below, a €1.00 platform fee is charged to the hotel's account, and credited to its parent, the platform's account.
- Example request
- Example response
curl 'http://payment-api.staging.rootline.com/v1/payments' \
--request POST \
--header 'content-type: application/json' \
--header 'x-api-key: [paste-your-api-key]' \
--header 'rootline-version: 2024-04-23' \
--data '{
"account_id": "[platform-account-id]",
"reference": "Platform Payments Made Easy",
"amount": {
"currency": "EUR",
"quantity": "10.00"
},
"return_url": "https://rootline.com/[PAYMENT_ID]",
"splits": [
{
"account_id": "[hotel-account-id]",
"amount": {
"currency": "EUR",
"quantity": "10.00"
},
"reference": "your-reference",
"fees": [
{
"flat_rate": {
"amount": {
"quantity": "1.00",
"currency": "EUR"
}
}
}
]
}
]
}'
{
"id": "pmt_pFJdPDzn97ASbwJQnydJQ",
"object": "payment",
"created_at": "2025-02-21T11:06:40.610140Z",
"account_id": "platform-account-id",
"reference": "your-reference",
"amount": {
"currency": "EUR",
"quantity": "10.00"
},
"checkout_status": "open",
"next_action": {
"checkout_url": "https://checkout.staging.rootline.com/payments/pmt_pFJdPDzn97ASbwJQnydJQ/checkout"
},
"return_url": "https://rootline.com/pmt_pFJdPDzn97ASbwJQnydJQ",
"splits": [
{
"account_id": "hotel-account-id",
"amount": {
"currency": "EUR",
"quantity": "10.00"
},
"reference": "your-reference",
"id": "pmt_pFJdPDzn97ASbwJQnydJR",
"fees": [
{
"flat_rate": {
"amount": {
"currency": "EUR",
"quantity": "1.00"
}
},
"id": "fee_pFJdPDzn97ASbwJQnydJS",
"fee_type": "platform_fee"
}
]
}
]
}
Fee IDs
Rootline returns a fee_id
for every fee that is created. If you need to update the fee at a later point in time, you can do so by using the fee_id
.
Net payment balances
The payment breakdown for the accounts involved in this payment will be slightly different from Splitting a payment without fees.
+ Gross amount: € 10.00
- Platform fees: € 0.00
- Rootline fees*: € 0.30
- Split amounts: € 10.00 -
+ Platform revenue: € 1.00
+ Remaining balance: € 0.00
--------------------------------------------------------------------------------------------
= Net payment balance € 0.70
While the hotel-account is left with:
+ Gross amount: € 10.00
- Platform fees: € 1.00
- Split amounts: € 0.00
+ Platform revenue: € 0.00
+ Remaining balance: € 0.00
--------------------------------------------------------------------------------------------
= Net payment balance € 9.00