Skip to content

Fees, preview and bearers

Lango’s differentiator is legibility: every charge is computed by one engine, itemised on the wire, and quotable in advance. A quote cannot drift from a charge because they share the code.

The fees

FeeWhat it isWho sets it
CommissionLango’s fee on each collection (e.g. 3%)Your agreement
VAT15% inside the commission (not on top), broken out for your returnsStatute
IMTTTax on the payout bank transfer — 2% (USD) at time of writingStatute
Transfer feeThe bank’s flat fee per settlement transferThe bank

Statutory rates change by government notice; Lango applies the rate in force on the day, and your settlement advice names the rate used.

Bearers: who pays the commission

Your fee configuration decides who bears commission:

  • Customer bears — the fee is added at checkout as its own line before they confirm. A USD 100.00 sale charges the customer 103.00; you receive 100.00.
  • Merchant bears — the customer pays the sticker price; commission comes out of your side. The customer pays 100.00; you receive 97.00.
  • Split — a percentage share of each.

The invariant, enforced in the ledger on every payment: charged_amount − merchant_net = commission, exactly, in integer cents.

Preview: quote before you charge

POST /v1/preview runs the same engine with no money movement:

Terminal window
curl https://api.lango.co.zw/v1/preview \
-H "Authorization: Bearer sk_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "amount": 10000, "currency": "USD", "method": "ecocash", "payout_amount": 500000 }'
{
"customer_pays": 10300,
"merchant_receives": 10000,
"commission": 300,
"payout": {
"gross": 500000,
"imtt": 9804,
"transfer_fee": 200,
"net": 489996,
"effective_rate": "2.00%"
},
"warnings": []
}

Two details worth noticing:

  • IMTT is grossed up correctly. To land net in your bank when the tax is charged on the transfer itself, the engine solves the gross-up: on a 500,000 payout at 2%, IMTT is 9,804 — not 10,000. We publish the arithmetic; check it.
  • warnings is honest. If a rate in the calculation hasn’t been contractually confirmed yet, the preview says so instead of pretending.

Use preview to show customers total cost before they commit, or to build your own pricing calculators — ours (lango.co.zw/pricing) is this endpoint.