Skip to content

Docs / Admin guide

Orders and payments

How money moves through the platform and what to do when it hiccups.

01The flow

Checkout creates a pending order; the student pays on Fapshi's page (MTN MoMo or Orange Money); Fapshi's webhook confirms to our API; the order turns paid and access is granted automatically. Every step is logged, and webhook handling is idempotent — duplicate deliveries change nothing.

02Reading orders

The orders view shows state, amount, buyer, course and provider reference. Pending orders older than a day usually expired on the student's phone — harmless, and they can simply buy again. Paid orders always carry the Fapshi transaction reference, which is the key for any payment question.

03Refunds

Refunds are decided against the refund policy (14 days, under 20% watched for single courses) and executed manually from the Fapshi dashboard — mobile money has no refund API. Approving a refund reverses the instructor's ledger entry automatically; the student is told by email. Record the policy check in the order notes.

04When webhooks misbehave

If a student paid but has no access, first find the order: still pending means the webhook did not land or failed verification. Verify the payment in the Fapshi dashboard with the transaction reference, then check the worker logs — the payments endpoint logs every rejected or unapplied event with its reason. Never grant access manually without a confirmed payment reference.

Related