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_net
  • inflow_fees — Inflow's processing + protocol fees, settled to Inflow.
  • marketplace_fee — your take rate, settled depending on marketplaceFeeBearer (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:

FieldScale
marketplaceFeeRatePer1000value / 100_000 (e.g. 2500 = 2.5%, 250 = 0.25%)
marketplaceFeeFixedInCentsflat cents per payin

The marketplace fee per payin is:

marketplace_fee = floor(G * marketplaceFeeRatePer1000 / 100_000) + marketplaceFeeFixedInCents

Examples (gross 100.00 EUR, i.e. G = 10000 cents):

marketplaceFeeRatePer1000marketplaceFeeFixedInCentsMarketplace fee (cents)
000
2500 (2.5%)0250
2500 (2.5%)30280
10000 (10%)01000

Don't read …Per1000 literally. 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)

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"

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:

FieldDefaultWhat it does
payoutWindowHours24Cooldown during which incoming payins are locked against withdrawal. 0 disables the window. Cap: 720 (30 days).
payoutWindowMaxReleaseRate1000Per-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 = 30
  • marketplaceFeeBearer = "SUB_MERCHANT"
  • payoutWindowHours = 24, payoutWindowMaxReleaseRate = 1000 (full lock)
  • Customer pays €100.00 via card.

Flow:

  1. 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 = 280 cents (€2.80) due to the marketplace.
  2. t ≈ 1–10 min: €2.80 settles from the sub-merchant's balance into the marketplace's balance.
  3. t ≤ 24h: sub-merchant's balance is €95.20, but available_for_payout = €0 because the payin is still inside the 24h window with payoutWindowMaxReleaseRate = 1000.
  4. t = 24h + ε: the window elapses. available_for_payout = €95.20.
  5. t = anytime after step 4: the sub-merchant requests a payout, the marketplace pays the payout fee (default), funds land in the destination account.