Setting Up Platform Billing: The Direct-Debit Mandate, Step by Step
This expands on Platform Billing Basics with the exact mechanics — what each screen does, what Fees101 can confirm about timing, and what's genuinely unverifiable from outside Paystack's own systems. Only the account owner can do any of this; a bursar who lands on this screen is shown a message to ask the owner instead.
Before you start
A new school is routed here automatically — Fees101 blocks entry into the rest of the app (adding students, setting up fees, everything) until billing is connected. There's no way to explore the product first and connect billing later.
Step by step: the hosted checkout
On the Connect billing screen, review the terms shown plainly: the one-time setup fee (₦10,000 by default — this can be a different test amount in a sandbox environment), the free period (65 days from the moment you connect), and the ongoing rate (₦500 per active student per month after that).
Check the box confirming you're authorized to set up billing for your school and accept the billing terms.
Choose "Pay [amount] and connect billing." This opens Paystack's own hosted checkout in the same flow — you're leaving Fees101's pages briefly for a Paystack-branded payment screen.
Complete the payment on Paystack's checkout using a card or your bank, whichever Paystack offers for your bank.
Paystack redirects you back to Fees101 automatically once the payment finishes.
What happens right after you pay
The moment Paystack confirms the payment, Fees101 opens the billing gate immediately — you can start using the app right away. What happens to the mandate itself depends on what kind of authorization Paystack actually returned:
- A reusable card or bank authorization: your mandate is recorded as pending, and the gate opens. This is the normal, expected outcome.
- A non-reusable card (your card worked for this one payment but can't be charged again automatically): Fees101 opens the gate anyway, since the fee is paid — but it quietly provisions a Fees101-owned bank-transfer account (a DVA) behind the scenes instead of keeping a mandate it can't actually use. You'd see this as a notice the next time you visit platform billing settings, pointing you toward adding a card or bank that CAN be charged automatically if you want hands-off billing.
- A bank-transfer-style (direct debit) authorization that Paystack hasn't confirmed as reusable yet: recorded as pending and checked again automatically — see the activation timing below. This is also a normal outcome, not a failure; direct-debit authorizations go through their own confirmation step on Paystack's side that doesn't always resolve in the same instant as the payment.
How long mandate activation actually takes
A freshly-created mandate sits as "pending" — not yet chargeable — until Paystack's own systems confirm it's active. The platform settings page reflects this as a status of Activating until that happens.
As a safety net, if a pending mandate STILL hasn't been confirmed active after 48 hours, Fees101 treats that as a genuine failure rather than a slow confirmation, and automatically falls back to provisioning a bank-transfer (DVA) account so your school still has a working way to pay — you don't need to notice or do anything for this fallback to kick in. In the much more common case, the mandate simply activates within hours and you'll see the status change to Active the next time Fees101 checks (which happens automatically; there's no button to force a recheck of mandate status specifically).
If the mandate checkout doesn't work at all
Three distinct situations open up the bank-transfer fallback, and they're treated differently depending on whether the failure looks recoverable or not:
- Your bank genuinely doesn't support Paystack's direct-debit rail, or the checkout failed in a way that names the mandate/bank-support itself as the problem (for example, you abandoned the checkout without completing it, most often because your bank wasn't even on the list to pick). This is treated as a HARD failure and opens the bank-transfer option immediately — no need to keep retrying.
- A transient failure — a declined card, insufficient funds, a timeout — is treated as SOFT. Fees101 lets you hit this twice before it opens the bank-transfer fallback on its own; the mandate stays the primary, recommended path through your first attempt or two, since most of these resolve with a retry.
- Fees101 support can also manually enable the bank-transfer option for your school from their side at any point, for example if you email asking for it.
Paying by bank transfer instead (the fallback)
Once the fallback is unlocked (see above), choose "Pay by bank transfer instead" on the connect-billing screen.
Fees101 provisions a dedicated Fees101-owned account number and shows it to you, along with the exact setup-fee amount to send.
Transfer that amount from your own bank into the account shown.
04The transfer is detected automatically via Paystack's webhook once it settles — there's no manual "confirm payment" step on your end.
Choose "I've made the transfer — refresh" to check, or just sign in again later.
This transfer does double duty exactly like the mandate checkout does: it pays the one-time setup fee AND becomes how your monthly fee is collected going forward, by the same transfer method, into the same account, every month.
