Fees and Payouts
This page walks through the math and timing of every payin a sub-merchant receives, from gross customer charge to spendable sub-merchant balance.
The split
For a successful customer payment of gross amount G in a given currency:
G = customer_pays
= inflow_fees
+ marketplace_fee
+ sub_merchant_netinflow_fees— Inflow's processing + protocol fees, settled to Inflow.marketplace_fee— your take rate, settled depending onmarketplaceFeeBearer(see below).sub_merchant_net— what the sub-merchant ultimately keeps.
If a sub-merchant's balance can't cover everything (e.g. a refund clawback hits a low-balance account), Inflow's recoveries are settled first and the marketplace fee is paid out as soon as the balance is healthy again.
Marketplace fee math
Two settings, both in Marketplace Settings:
| Field | Scale |
|---|---|
marketplaceFeeRatePer1000 | value / 100_000 (e.g. 2500 = 2.5%, 250 = 0.25%) |
marketplaceFeeFixedInCents | flat cents per payin |
The marketplace fee per payin is:
marketplace_fee = floor(G * marketplaceFeeRatePer1000 / 100_000) + marketplaceFeeFixedInCentsExamples (gross 100.00 EUR, i.e. G = 10000 cents):
marketplaceFeeRatePer1000 | marketplaceFeeFixedInCents | Marketplace fee (cents) |
|---|---|---|
0 | 0 | 0 |
2500 (2.5%) | 0 | 250 |
2500 (2.5%) | 30 | 280 |
10000 (10%) | 0 | 1000 |
Don't read
…Per1000literally. The divisor is 100,000, not 1,000. Always sanity-check against the table above.
The rate is capped at 10000 (10%). Need higher? Talk to your Inflow account manager.
Marketplace fee bearer
marketplaceFeeBearer decides who actually pays the marketplace fee:
"SUB_MERCHANT" (default)
"SUB_MERCHANT" (default)The fee is deducted from the sub-merchant's payin and routed to your marketplace balance. The sub-merchant ends up with G − inflow_fees − marketplace_fee.
"MARKETPLACE"
"MARKETPLACE"The marketplace absorbs the fee on its own margin: the sub-merchant ends up with G − inflow_fees and your balance is not credited a marketplace fee for that payin. Useful for promotional periods, hand-picked sellers you've negotiated a special deal with, or marketplaces that monetize via subscription rather than per-transaction.
When you actually get paid
The marketplace fee is recorded as soon as the customer payment is irrevocably captured (hosted checkout or server-to-server — same trigger). It then settles into your marketplace balance asynchronously: expect the funds to be available within minutes of capture, not seconds. Use Inflow's standard webhook events to reconcile against your own ledger.
If a sub-merchant has been refunded or charged back and their balance can't cover everything, Inflow's recoveries (refund / chargeback) are paid first, and the marketplace fee is settled on the next cycle once the balance recovers.
Refunds and chargebacks
When a payin is refunded or charged back, the recovery is taken from the sub-merchant's balance. If their balance can't fully cover it, the shortfall stays open against the sub-merchant and any pending marketplace fee on that payin is held until the balance recovers.
The payout window
Two settings shape sub-merchant withdrawals:
| Field | Default | What it does |
|---|---|---|
payoutWindowHours | 24 | Cooldown during which incoming payins are locked against withdrawal. 0 disables the window. Cap: 720 (30 days). |
payoutWindowMaxReleaseRate | 1000 | Per-1000 of in-window payins that stays locked. 1000 = 100% locked, 0 = nothing locked. |
A sub-merchant's available-for-withdrawal balance is, conceptually:
available = current_balance
− (in_window_payin_amount * payoutWindowMaxReleaseRate / 1000)The window is there to absorb refunds and chargebacks before the sub-merchant has spent the money. Lowering it (or payoutWindowMaxReleaseRate) shifts financial risk onto the marketplace.
Payout fees
Sub-merchant withdrawals incur a payout fee (network gas, off-rail bank fees). payoutFeeBearer decides who pays it by default:
"MARKETPLACE"(default) — the marketplace pays the payout fee."SUB_MERCHANT"— the fee is deducted from the sub-merchant's withdrawal amount.
You can override on a per-payout basis via the payout request body.
End-to-end example
Setup:
marketplaceFeeRatePer1000 = 2500(2.5%),marketplaceFeeFixedInCents = 30marketplaceFeeBearer = "SUB_MERCHANT"payoutWindowHours = 24,payoutWindowMaxReleaseRate = 1000(full lock)- Customer pays €100.00 via card.
Flow:
- t = 0: customer pays. Inflow processes the card, takes its own fee (say €2.00), credits €98.00 to the sub-merchant, and records a marketplace fee of
floor(10000 * 2500 / 100_000) + 30 = 250 + 30 = 280cents (€2.80) due to the marketplace. - t ≈ 1–10 min: €2.80 settles from the sub-merchant's balance into the marketplace's balance.
- t ≤ 24h: sub-merchant's balance is €95.20, but
available_for_payout = €0because the payin is still inside the 24h window withpayoutWindowMaxReleaseRate = 1000. - t = 24h + ε: the window elapses.
available_for_payout = €95.20. - t = anytime after step 4: the sub-merchant requests a payout, the marketplace pays the payout fee (default), funds land in the destination account.
Updated about 20 hours ago