Mobile money, USSD & SMS

Most school fees in EduPrime’s markets are paid by phone. This page covers connecting the mobile-money rails, switching safely between test and live, what the parent actually does to pay, the USSD flow for non-smartphone families, SMS receipts, and how to handle failed or duplicate payments.

Where to find it — App drawer → Fees & Finance → Bursaries → All Applications.
Mobile money, USSD & SMS
Mobile money, USSD & SMS in EduPrime.

Connecting the rails

EduPrime ships connectors for M-Pesa, Airtel Money, Flutterwave and Pesapal. Configure each under Fees & Finance → Configuration → Payment Providers.

  1. Open the provider and enter the credentials from your aggregator portal – consumer key/secret, shortcode/paybill or till, and the passkey where required.
  2. Set the callback URL shown by EduPrime in your aggregator dashboard so payment confirmations reach the school.
  3. Choose the account/reference format – admission number is strongly recommended.
  4. Save and run the built-in Test connection check.
Important — Keep your API credentials secret. Anyone with the live consumer secret can initiate transactions. Store them only in EduPrime’s provider record, never in spreadsheets or chat.

Test (sandbox) vs live

Every provider has an Environment toggle: Sandbox for testing, Production for real money.

ModeUse it forMoney moves?
SandboxVerifying setup, training bursarsNo – uses test numbers
ProductionLive collection from parentsYes – real funds
Tip — Test the full flow in sandbox – trigger an STK push to a test number, confirm the payment auto-reconciles, check the SMS receipt – before you ever flip to Production. Switching to live with an untested callback means money arrives but invoices never clear.

How a parent pays (smartphone)

  1. Parent opens the parent portal/app or receives an STK prompt after the school requests payment.
  2. They confirm the amount and enter their mobile-money PIN on their own phone.
  3. The aggregator confirms; EduPrime reconciles to the child’s invoice; an SMS/email receipt is sent.

USSD for non-smartphone families

Families without a smartphone pay over USSD using the school paybill.

  1. Dial the mobile-money menu (e.g. the M-Pesa or Airtel Money USSD code).
  2. Choose Pay Bill / Pay Merchant.
  3. Enter the school paybill/business number.
  4. Enter the child’s admission number as the account.
  5. Enter the amount and confirm with the PIN.

EduPrime treats a USSD paybill payment exactly like an app payment – it reconciles on the admission number and sends an SMS receipt to the number that paid.

SMS receipts

Every successful payment triggers an SMS receipt to the paying number: school name, child name, amount, new balance and a receipt number. This is the only confirmation many families keep, so ensure your SMS provider has credit and the sender ID is approved.

Failed & duplicate payments

Edge cases are inevitable at scale. Handle them here:

SituationWhat to do
STK push timed outNo money moved – ask parent to retry; no record is created
Money debited but invoice not clearedCheck the Unmatched tray; reference was likely wrong – match manually
Duplicate payment (paid twice)Second payment becomes account credit; refund or carry to next term
Reversal from aggregatorEduPrime records the reversal and re-opens the invoice balance
Important — A duplicate payment is real money – never just delete the second record. Leave it as a family credit and tell the parent, or refund it through the Refunds workflow so the bank and EduPrime stay in agreement.
Was this page helpful?