Introduction to Mobile Money
Mobile Money is one of the most popular payment methods in Africa, allowing customers to pay using their mobile phone accounts. With over 500 million registered accounts across the continent, Mobile Money has revolutionized financial inclusion and digital payments in regions with limited banking infrastructure.What is Mobile Money?
Mobile Money is a service that allows users to store, send, and receive money using their mobile phones. Unlike traditional banking, Mobile Money doesn’t require a bank account, making it accessible to the unbanked population. Users can deposit cash at agent locations and convert it to digital currency stored in their mobile wallet.Mobile Money has a higher adoption rate than credit cards in many African countries, making it essential for
businesses targeting African markets.
Why Choose Mobile Money for Your Business?
- Wide Reach: Access millions of customers who primarily use Mobile Money
- High Success Rates: Typically 85-95% success rates for properly formatted transactions
- Lower Fees: Often more cost-effective than card payments
- Instant Confirmation: Real-time payment notifications
- Reduced Fraud: Two-factor authentication built into the payment flow
How Mobile Money Payments Work

1
Initialize Payment
Create a payment with customer and transaction details
2
Customer Enters Phone Number
The customer enters their Mobile Money phone number
3
Payment Request
Notch Pay sends a payment request to the Mobile Money provider
4
Customer Confirmation
The customer receives a prompt on their phone to confirm the payment (USSD or app-based)
5
Payment Processing
The Mobile Money provider processes the payment (typically 5-30 seconds)
6
Confirmation
Notch Pay confirms the payment status and notifies your application via webhook
Integration Options
We offer multiple ways to integrate Mobile Money payments into your application, from no-code solutions to fully customizable API implementations.The simplest way to accept Mobile Money payments is through Notch Pay Collect. This
hosted payment page requires no coding and handles the entire payment flow.
Benefits of Using Collect
- Quick Setup: Integrate in minutes with minimal code
- Optimized UX: Mobile-responsive design with localized interfaces
- Automatic Updates: Always up-to-date with the latest features
- Reduced PCI Scope: Security handled by Notch Pay
How to Implement
Mobile Money Channel Codes
When processing a payment with Mobile Money, you need to specify the correct channel code based on the provider and country:Provider | Country | Channel Code | Currency | Processing Time |
---|---|---|---|---|
MTN / Orange | Cameroon | cm.mobile | XAF | 5-30 seconds |
MTN | Cameroon | cm.mtn | XAF | 5-20 seconds |
Orange | Cameroon | cm.orange | XAF | 10-30 seconds |
MTN | Côte d’Ivoire | ci.mtn | XOF | 5-20 seconds |
Orange | Côte d’Ivoire | ci.orange | XOF | 10-30 seconds |
Wave | Senegal | sn.wave | XOF | 5-15 seconds |
Orange | Senegal | sn.orange | XOF | 10-30 seconds |
M-Pesa | Kenya | ke.mpesa | KES | 5-15 seconds |
Airtel | Uganda | ug.airtel | UGX | 10-30 seconds |
MTN | Ghana | gh.mtn | GHS | 5-20 seconds |
Use the format
{country_code}.{provider}
when specifying channel codes. For example, cm.mtn
for MTN Cameroon.Country-Specific Information
Mobile Money usage, regulations, and best practices vary significantly across different African countries. Below are specific details for key markets where Notch Pay operates.Market Overview
- Population: ~27 million
- Mobile Money Penetration: ~40%
- Primary Providers: MTN Mobile Money, Orange Money
- Currency: CFA Franc (XAF)
- Average Transaction Size: 5,000-50,000 XAF
Regulatory Information
- Regulated by: BEAC (Central Bank)
- KYC Requirements: Basic for small transactions, enhanced for larger amounts
- Transaction Limits:
- Daily: Up to 500,000 XAF
- Monthly: Up to 5,000,000 XAF
Best Practices
- Ensure phone numbers use the format +237XXXXXXXX
- MTN has higher market share in anglophone regions
- Orange has higher market share in francophone regions
- Consider offering both MTN and Orange options
- Peak processing times: 8-10 AM and 5-8 PM
Common Issues
- Network congestion during evenings
- USSD session timeouts (advise customers to respond promptly)
- Occasional service outages during system maintenance (typically late night)
Best Practices
Integration Best Practices
Technical Implementation
- Validate Phone Numbers: Ensure phone numbers are in the correct international format (e.g., +237XXXXXXXXX)
- Implement Idempotency: Use unique reference IDs for each transaction to prevent duplicate payments
- Handle Timeouts Properly: Set appropriate timeout values (we recommend 60 seconds minimum)
- Implement Webhooks: Set up webhooks for real-time payment status updates instead of polling
- Store Transaction References: Save all transaction IDs and references for reconciliation
- Implement Proper Error Handling: Display user-friendly error messages based on error codes
User Experience
- Clear Instructions: Provide step-by-step guidance on how to complete the payment
- Local Language Support: Offer instructions in relevant local languages
- Progress Indicators: Show clear payment status and processing indicators
- Fallback Options: Offer alternative payment methods if Mobile Money fails
- Confirmation Messages: Send SMS or email confirmations after successful payments
- Save User Preferences: Remember the customer’s preferred Mobile Money provider
Security Best Practices
Fraud Prevention
- Monitor Unusual Patterns: Watch for multiple failed attempts from the same number
- Implement Rate Limiting: Limit the number of payment attempts per user/session
- Verify Phone Ownership: Consider implementing OTP verification for high-value transactions
- Keep Logs: Maintain detailed logs of all transaction attempts for auditing
Data Protection
- Secure Storage: Never store sensitive customer data in plaintext
- Minimize Data Collection: Only collect information necessary for the transaction
- Use HTTPS: Ensure all API calls are made over secure connections
- Rotate API Keys: Regularly update your API keys and keep them secure
Operational Best Practices
Business Operations
- Test Thoroughly: Use test credentials to simulate different payment scenarios before going live
- Monitor Success Rates: Track success rates by provider and country to identify issues
- Reconcile Daily: Perform daily reconciliation between your system and Notch Pay dashboard
- Customer Support: Train your support team on common Mobile Money issues and resolutions
- Stay Updated: Keep informed about changes to Mobile Money services in your target countries
Troubleshooting
Common Issues and Solutions
Invalid Phone Number
Invalid Phone Number
Symptoms
- Error message: “Invalid phone number” or “Phone number not registered”
- Payment fails immediately without customer receiving a prompt
Solutions
- Ensure the phone number is in the correct international format (e.g., +237XXXXXXXXX)
- Verify that the phone number is registered with the selected Mobile Money provider
- Check that you’re using the correct country code
- Implement client-side validation with regex patterns for each country
Prevention
- Use a phone number input mask in your UI
- Implement country detection to automatically format phone numbers
- Provide examples of correct phone number formats
Insufficient Funds
Insufficient Funds
Symptoms
- Customer receives a prompt but payment fails
- Error message: “Insufficient funds” or “Balance too low”
Solutions
- Advise the customer to top up their Mobile Money account
- Offer the option to try a different Mobile Money provider
- Consider offering a partial payment option for large amounts
Prevention
- For large transactions, inform customers about the amount before they initiate payment
- Offer alternative payment methods as fallback options
Transaction Timeout
Transaction Timeout
Symptoms
- Payment remains in “pending” state for an extended period
- Customer reports receiving a prompt but transaction never completes
Solutions
- Implement a status check endpoint that polls the payment status
- After 2-3 minutes, prompt the customer to check their phone and respond to any pending requests
- After 5 minutes, offer the option to retry the payment
- Use webhooks to receive real-time updates when the payment status changes
Prevention
- Clearly communicate to customers that they need to respond to the prompt on their phone
- Set appropriate expectations about processing times
- Implement a countdown timer for USSD-based confirmations
Network Issues
Network Issues
Symptoms
- Intermittent failures or timeouts
- Customer reports not receiving a prompt
- Error message: “Network error” or “Service unavailable”
Solutions
- Implement automatic retries with exponential backoff
- Advise customers to check their network connection
- Offer the option to receive the payment prompt via SMS if USSD fails
Prevention
- Monitor Mobile Money provider status and avoid initiating payments during known outages
- Implement circuit breakers to prevent cascading failures
- Have fallback payment methods ready
Error Codes
Here are some common error codes you might encounter when processing Mobile Money payments:Error Code | Description | Recommended Action |
---|---|---|
INVALID_PHONE | Phone number format is incorrect | Validate phone number format |
UNREGISTERED_PHONE | Phone not registered with provider | Suggest customer to register or use different number |
INSUFFICIENT_BALANCE | Customer has insufficient funds | Prompt customer to top up account |
TRANSACTION_LIMIT_EXCEEDED | Transaction exceeds daily/monthly limits | Suggest smaller transaction or alternative method |
TIMEOUT | Customer did not respond to prompt | Prompt customer to check their phone |
PROVIDER_ERROR | Error from Mobile Money provider | Retry after a few minutes |
CANCELLED_BY_USER | Customer rejected the payment | Ask customer if they want to try again |
DUPLICATE_TRANSACTION | Same transaction attempted multiple times | Check if previous transaction was successful |
Testing Mobile Money Payments
Testing is a critical part of implementing Mobile Money payments. Notch Pay provides a comprehensive sandbox environment that allows you to simulate various payment scenarios without processing real transactions.For detailed information on testing Mobile Money payments, including test phone numbers for all supported providers
across different countries, test scenarios, webhook testing, and best practices, please refer to our comprehensive
Testing Guide.
Next Steps
- Collect - Use our hosted payment page for a quick integration
- Direct Charge - Build a custom payment experience
- Invoices - Create and manage professional invoices
- Webhooks - Set up webhooks for payment notifications
- Dashboard - Learn how to use the Notch Pay Dashboard to manage transactions