Docs
Fees
Planned pricing. It applies once Steadi Pay is live. There is no setup fee and no monthly fee. Steadi Pay takes 1% of each successful sale, as the platform. Payment operator and licensed gateway fees differ from one operator to the next, so they are variable. We only earn when you earn.
The short version
- There is no setup fee and no monthly fee.
- Two separate fees apply to a payment, each a percentage of the sale: your payment operator's own fee and Steadi Pay's fee.
- Steadi Pay's fee is 1% of the sale. Your operator's fee is not ours to set. It differs from one operator to the next, so it is variable, and it is set in your agreement with that operator. Checkout shows the exact amounts before anyone confirms.
- For mobile money and bank payments, you choose who covers the fees: you, or the customer. For card payments, you cover the fees.
We never take money out of a payout. Steadi Pay's fee is either paid by the customer at checkout, as part of one handling fee, or invoiced to you monthly.
Money is held by licensed payment providers, never by Steadi Pay. We never pool merchant funds and never take a fee from a payout.
Steadi Pay Ltd is not registered for VAT and does not charge VAT.
How the fee is collected
Steadi Pay's fee is either paid by the customer at checkout, as part of one handling fee, or invoiced to you monthly. It is never taken out of a payout.
You may authorise a recurring debit from your own Airtel Money, TNM Mpamba or bank account to pay Steadi Pay invoices. That mandate pays invoices only. It is never a claim on money sitting in your collection account at a partner.
Accounts whose fees are invoiced have an outstanding fee limit. A new account can owe up to MWK 25,000 in accrued unbilled fees plus unpaid invoices. After 2 invoices paid on or before the due date the limit is MWK 100,000. After 6 on-time invoices it is MWK 400,000. An active debit mandate doubles the limit. Merchants whose enabled providers all split the fee at collection are not capped.
An unpaid invoice first shows the late charge that will apply: a one-time MWK 5,000 administrative charge plus 2.5% simple interest per month on the overdue amount, never compounded, and never more than 25% of the original invoice. Those amounts are added as new lines on the next invoice. Existing ledger rows are not edited. Balances below MWK 5,000 roll forward instead of being invoiced.
At the end of the grace period, live API keys and live checkout pause until the invoice is paid. Sandbox keeps working. Paying the invoice restores live access.
Who pays the fees
We set this up with you when your account opens, and you can ask us to change it later. It applies to mobile money and bank payments. Card payments are always covered by you, and customers are not charged extra for paying by card.
| Customer covers the fees | You cover the fees | |
|---|---|---|
| What the customer sees | The sale plus one line called handling fee | The sale price only |
| What you receive | The full sale | The sale minus both fees |
| What Steadi Pay bills | Nothing more. Its fee is part of the handling fee the customer pays at checkout | Its own fee, invoiced monthly |
The handling fee is your operator's fee and Steadi Pay's 1% added together. The customer does not see them separately. When the customer pays the handling fee, the whole amount lands in your own account at your operator, and your operator takes its own fee under your agreement with it. When you cover the fees, the customer pays the sale only, your operator takes its own fee, and Steadi Pay invoices its 1% to you monthly.
Card payments: you cover the card fees. We do not suggest passing card fees on to customers.
Worked examples
Sale of MWK 10,000.00. The operator fee below is only an example, because operator fees vary. Steadi Pay's fee is 1%. Your real operator fee is the one in your agreement. Checkout always shows the exact amounts for that payment before anyone confirms.
An example operator fee · 1.5% example
Any way of paying. An example only. Operator fees differ from one operator to the next, so your real fee is the one in your agreement with your payment operator or licensed gateway.
| Line | Amount |
|---|---|
| Sale | MWK 10,000.00 |
| Operator fee (example) | MWK 150.00 |
| Steadi Pay fee (1%) | MWK 100.00 |
| Handling fee the customer sees | MWK 250.00 |
| Customer covers the fees | You cover the fees | |
|---|---|---|
| Customer pays | MWK 10,250.00 | MWK 10,000.00 |
| You receive | MWK 10,000.00 | MWK 9,750.00 |
Quote API
POST /v1/fees/quote returns the amounts for your account's rates and for who pays, for the method you name (mobile_money, bank_transfer or card). Use it to show the customer total before you create a checkout. fee_amount_minor is the combined handling fee.
curl -X POST https://api.steadipay.ltd/v1/fees/quote \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"amount": "10000",
"method": "mobile_money"
}'Money rules
- Send amounts in kwacha. We convert to integer tambala. No floating point.
- Show money with a thousands separator and two decimals.
- A refund returns the order amount. Whether Steadi Pay's own fee is returned with it follows your agreed terms, and the provider's fee is the provider's to return. Do not invent a fee on the refund yourself.