Mobile Money Payments
Accept school fee payments via MTN Mobile Money and Orange Money. Automate fee collection or allow parents to pay manually with school validation.
Quick actions
Introduction
The mobile money payment module allows parents to pay school fees via their MTN Mobile Money or Orange Money accounts. The system offers two payment modes to adapt to each school's needs.
Automatic payments
Real-time processing via NotchPay API. Parents pay directly from the mobile app and fees are automatically recorded.
Manual payments
Parents make the payment manually and submit proof. The school validates or rejects the transaction.
Mobile payment types
Automatic payments (NotchPay)
Automatic payments use NotchPay integration to process transactions in real-time.
Confirmation in 2-5 minutes
Transaction encryption
Automatic validation
Automatic SMS and email
Supported operators: MTN Mobile Money and Orange Money
Manual payments (with validation)
Manual payments allow parents to make the payment themselves and submit proof for validation.
Parent pays at their own pace
School validation
Screenshot required
Validation tracking
Ideal for: Schools without NotchPay account or preferring manual payment validation
Automatic payments (NotchPay)
Complete workflow
Cart creation
Parent adds fees to pay in a cart from the mobile app.
Limits:
- Maximum amount: 500,000 F CFA
- Only one active cart per school and parent
- Can contain fees for multiple children
- Partial payment support
Payment initiation
Parent selects operator (MTN or Orange) and enters their phone number.
Required information:
- Operator: MTN or Orange
- Phone number in format: +2376XXXXXXXX
- Consent for transaction fees
Fee calculation
System automatically calculates transaction fees according to configuration.
Applied fees:
- Money In: 1% of amount
- Money Out: 1% of amount
- Withdrawal fee: according to operator schedule
Example: For 100,000 F CFA, total fees can be 2,000 to 6,000 F CFA depending on who bears the fees
Mobile payment creation
A MobilePayment record is created with "pending" status and unique reference.
Saved data:
- Reference: MP-XXXX-YYYYMMDDHHMMSS
- Cart amount, fees, total amount
- Payment method and phone number
- Detailed fee calculation
NotchPay initiation
System communicates with NotchPay API to initiate transaction.
Data sent to NotchPay:
- Total amount to debit
- Currency: XAF (CFA Franc)
- Parent email
- Callback URL for verification
- Metadata (payment, cart, parent, school IDs)
Payment confirmation
NotchPay confirms payment with phone number and channel (cm.mtn or cm.orange).
Actions:
- Status updated to "processing"
- NotchPay reference recorded
- Parent receives payment request on their phone
Parent validation
Parent receives USSD notification on their phone and validates payment with PIN code.
Important: Parent usually has 5 minutes to validate payment before expiration.
Status verification
A verification job is scheduled to check payment status after 30 seconds.
PaymentVerificationJob:
- Verifies status with NotchPay
- Can be retried up to 10 times
- Increasing interval between verifications
Success processing
When payment is confirmed, system automatically processes the transaction.
Automatic actions:
- Status updated to "completed"
- Financial transactions created for each student
- StudentExpectedPayment updated (marked as paid or partial payment)
- Cart marked as "completed"
- Notifications sent (email + SMS + push) to parent
- Accounting entries generated
Failure handling
In case of failure, system marks payment as "failed" and notifies parent.
Possible causes:
- Insufficient balance
- Incorrect PIN code (3 attempts)
- Transaction cancelled by parent
- Timeout expiration
- Technical problem with operator
Automatic payment statuses
Payment created, awaiting initiation
Sent to parent, awaiting validation
Payment successful and processed
Payment failed
Cancelled by parent
Validation timeout expired
Manual payments (with validation)
Complete workflow
Cart creation
Same as automatic payments, parent adds fees to cart.
- Maximum amount: 500,000 F CFA
- Multiple children support
- Partial payments possible
Instruction generation
Parent selects operator and receives payment instructions.
Information provided:
- USSD Code: #150*50# (Orange) or #126# (MTN)
- Account name: School name
- Account number: School mobile money number
- Exact amount: Total amount + fees (if parent bears)
- Reference: MMP-XXXX-YYYYMMDDHHMMSS
ManualMobilePayment creation
A record is created with "pending" status to track payment.
Saved data:
- Unique reference
- Operator and USSD code
- Account name and number
- Cart amount and fees
- Associated cart
Parent payment
Parent makes transfer manually via mobile money app or USSD.
Important: Parent must make transfer exactly with indicated amount and number.
Proof submission
Parent takes screenshot of confirmation SMS and uploads it in app.
Proof requirements:
- Format: PNG or JPEG
- Maximum size: 5 MB
- Must clearly show: amount, recipient, reference
- Operator confirmation SMS
School notification
School receives notification that manual payment is pending validation.
Users with appropriate role can access manual payment validation page.
School validation
Staff member examines proof and approves or rejects payment.
Items to verify:
- Amount matches exactly
- Recipient number correct
- Date and time consistent
- Reference visible (if mentioned)
- Authentic SMS (not edited)
If approved
System automatically processes payment as validated.
Automatic actions:
- Status changed to "approved"
- Financial transactions created
- StudentExpectedPayment updated
- Cart marked as "completed"
- Accounting entries generated
- Parent notified (success)
If rejected
Staff must provide rejection reason.
Automatic actions:
- Status changed to "rejected"
- Rejection reason recorded
- Parent notified with reason
- Cart remains active (parent can retry)
- No financial transaction created
Reason examples: Incorrect amount, Wrong account number, Illegible proof, Incorrect date
History and tracking
All manual payments are kept with their validation history.
Information kept:
- Submission date
- Validation/rejection date
- Validator (user)
- Validation notes or rejection reason
- Payment proof (kept)
Manual payment statuses
Awaiting school validation
Approved and processed
Rejected with reason provided
Cancelled by parent
Mobile payment configuration
Access configuration via GO4SFEES > Mobile Money Payments.
Automatic payments (NotchPay)
1. System activation
Requires NotchPay account configured at school level
2. Operator configuration (Withdrawal)
Configure mobile money accounts where school wishes to receive funds.
Orange Money
MTN Mobile Money
3. Operator activation (Payment)
Choose which operators parents can use to pay.
4. Fee configuration
Determine who bears transaction fees (parent, school, or shared equally).
Recommendation: Configure "Parent bears" for withdrawal fees to maximize amount received by school.
Manual payments (with validation)
1. Activation
Free alternative to automatic payments, requires manual validation
2. Account configuration
Configure mobile money accounts where parents must send money.
Orange Money Account
MTN Mobile Money Account
Transaction fee calculation
Mobile money transaction fees break down into three categories. Each fee can be borne by parent, school, or shared equally.
Money In fee (1%)
Fee charged by NotchPay when money enters system from parent's mobile money account.
Calculation:
Money In Fee = Cart amount × 1%
Example: For 100,000 F CFA → Money In Fee = 1,000 F CFA
Money Out fee (1%)
Fee charged by NotchPay when money exits NotchPay system to school's mobile money account.
Calculation:
Money Out Fee = Cart amount × 1%
Example: For 100,000 F CFA → Money Out Fee = 1,000 F CFA
Withdrawal fee (Variable)
Fee charged by mobile money operator (MTN or Orange) when school withdraws money from their mobile money account.
Withdrawal fee schedule:
Example: For 100,000 F CFA → Withdrawal fee = (100,000 × 1.5%) + 4 = 1,504 F CFA
Example scenarios
Scenario 1: Parent bears all fees
Scenario 2: School bears all fees
Scenario 3: Shared fees (50/50)
Fee simulator
Use the simulator integrated in the configuration page to calculate exact fees before configuring the system.
How to use the simulator
Enter amount
Enter school fees amount to simulate (maximum 500,000 F CFA)
Select operator
Choose MTN or Orange (withdrawal fees may vary slightly)
Configure fee bearer
For each fee type (Money In, Money Out, Withdrawal), select: Parent, School, or Shared
Review results
Simulator displays calculation details, amount parent will pay and amount school will receive
Tip: Test multiple configurations to find the right balance between accessibility for parents and profitability for school.
Manual payment validation
Manual payments require validation by school staff. Access validation page via GO4SFEES > Manual Payments.
Pending payments list
Page displays all manual payments with their status (Pending, Approved, Rejected).
Displayed information:
- Reference: Unique payment identifier (MMP-XXXX-YYYYMMDDHHMMSS)
- Parent: Name of parent who submitted payment
- Amount: Total amount to validate
- Operator: MTN or Orange Money
- Submission date: When parent submitted proof
- Status: Current payment state
- Actions: View details, Approve, Reject
Priority: Payments pending for more than 24h are marked in orange to draw attention.
Validation process
Click "View details"
Access detailed payment page to examine all information.
Details shown:
- Parent information (name, email, phone)
- Fee list in cart (students, fee types, amounts)
- Instructions given to parent (USSD code, account, amount)
- Payment proof (downloadable image)
- Submission date and time
Examine payment proof
Click on proof to display fullscreen and verify authenticity.
Verification points:
- ✓ Amount matches exactly
- ✓ Recipient number is correct
- ✓ Real SMS (not edited)
- ✓ Date consistent with submission
- ✓ Message from operator
Option A: Approve payment
If everything is correct, click "Approve" button.
You can add:
- Validation notes (optional): Ex: "Verified with bank statement"
Result: Financial transactions are automatically created and parent is notified of success.
Option B: Reject payment
If proof is invalid, click "Reject" and provide clear reason.
Rejection reason (required):
- Example: "Incorrect amount: you sent 95,000 F instead of 100,000 F"
- Example: "Wrong account number: you sent to 67654321 instead of 65432100"
- Example: "Screenshot is illegible, please submit a new one"
Result: Parent receives notification with rejection reason and can correct and resubmit.
Validation best practices
- Validate quickly: Process pending payments within 24h maximum for good parent experience.
- Verify mobile money balance: Before approving, confirm money has arrived in school account.
- Be precise in rejections: Clearly explain problem so parent can easily correct.
- Document special cases: Use validation notes for special situations.
- Beware of fraud: Watch for photo editing, modified SMS, unauthorized partial amounts.
Statistics and tracking
Mobile payment pages display detailed statistics to track performance.
Automatic payments
Manual payments
Best practices
For automatic payments
- Test configuration with small amount before production
- Use simulator to explain fees to parents
- Enable both operators (MTN and Orange) for more flexibility
- Monitor failed payments regularly and contact concerned parents
- Verify school mobile money accounts have sufficient limits
For manual payments
- Validate payments within 24h to maintain parent trust
- Always verify mobile money balance before approving
- Be precise and courteous in rejection messages
- Train multiple staff members for validation
- Keep payment proofs for future reference
Security
- Never share your NotchPay credentials
- Verify SMS authenticity before approving manual payment
- Limit validation access to trusted users
- Watch for fraud attempts (photo editing, fake SMS)
- Perform regular reconciliations between GO4SCHOOL and mobile money statements
Communication
- Inform parents of mobile money payment activation
- Clearly explain who bears transaction fees
- Provide detailed instructions for manual payments
- Respond quickly to parent questions about payments
- Use communication channels (SMS, email) for payment reminders
Frequently Asked Questions
Which mobile money operators are supported?
GO4SFEES supports both MTN Mobile Money and Orange Money in Cameroon through integration with NotchPay. Parents can choose their preferred operator when making payments, providing maximum flexibility and convenience.
What are the transaction fees?
Transaction fees depend on the payment amount and the mobile money operator. You can configure who bears these fees (school or parent) in the fee settings. Use the built-in simulator to calculate exact fees for any payment amount before processing.
How long does it take to receive payment confirmation?
Automatic payments are confirmed instantly - within seconds of parent completing the transaction. Manual payments require validation by school staff, which should be done within 24 hours to maintain trust. The system sends automatic notifications to parents once payments are confirmed.
Can parents pay in installments via mobile money?
Yes, parents can make partial payments via mobile money. Each payment is recorded and reduces the student's outstanding balance. The system automatically calculates remaining amounts and shows payment history for full transparency.
What happens if a mobile payment fails?
Failed payments are tracked in the statistics page. The system logs the reason for failure (insufficient funds, operator error, etc.). Parents receive a notification explaining the issue, and you can contact them to resolve the problem. No amount is debited from their account if the payment fails.