Mobile Money Payments
Accept payments via Mobile Money services across Africa with high success rates and reliable processing
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
The Mobile Money payment flow with Notch Pay works as follows:
Initialize Payment
Create a payment with customer and transaction details
Customer Enters Phone Number
The customer enters their Mobile Money phone number
Payment Request
Notch Pay sends a payment request to the Mobile Money provider
Customer Confirmation
The customer receives a prompt on their phone to confirm the payment (USSD or app-based)
Payment Processing
The Mobile Money provider processes the payment (typically 5-30 seconds)
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
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
For more control over the payment flow, you can use the Notch Pay API to process Mobile Money payments directly:
Complete Integration Flow
1. Initialize a Payment
2. Process the Payment with Mobile Money
3. Verify the Payment Status
For production environments, we strongly recommend using webhooks instead of polling for payment status updates. See our Webhooks Guide for implementation details.
Our SDKs provide a simplified way to integrate Mobile Money payments with pre-built components and helper methods.
JavaScript SDK
For more SDK examples, see our SDK Documentation.
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.
For a complete list of supported channels, use the Channels API.
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)
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)
Market Overview
- Population: ~26 million
- Mobile Money Penetration: ~45%
- Primary Providers: MTN Mobile Money, Orange Money, Wave
- Currency: CFA Franc (XOF)
- Average Transaction Size: 3,000-30,000 XOF
Regulatory Information
- Regulated by: BCEAO (Central Bank)
- KYC Requirements: Government ID required for account creation
- Transaction Limits:
- Daily: Up to 2,000,000 XOF
- Monthly: Up to 10,000,000 XOF
Best Practices
- Ensure phone numbers use the format +225XXXXXXXX
- Wave offers lower fees and is growing rapidly
- French language support is essential
- Consider offering all three major providers
- Transactions process faster during business hours
Common Issues
- Occasional delays during high-volume periods
- Some users have multiple mobile money accounts
- Network coverage issues in rural areas
Market Overview
- Population: ~17 million
- Mobile Money Penetration: ~50%
- Primary Providers: Wave, Orange Money, Free Money
- Currency: CFA Franc (XOF)
- Average Transaction Size: 5,000-50,000 XOF
Regulatory Information
- Regulated by: BCEAO (Central Bank)
- KYC Requirements: Government ID required
- Transaction Limits:
- Daily: Up to 2,000,000 XOF
- Monthly: Up to 10,000,000 XOF
Best Practices
- Ensure phone numbers use the format +221XXXXXXXX
- Wave has become the dominant provider due to lower fees
- French language support is essential
- Wolof language support is a plus
- Transactions typically process faster with Wave
Common Issues
- Wave has daily transaction limits that may affect larger payments
- Orange Money requires a PIN for confirmation
- Network coverage varies by region
Notch Pay supports Mobile Money payments in many other African countries. For detailed information about a specific country not listed here, please contact our support team or refer to our Resources API for the most up-to-date information.
General Considerations for All Countries
- Always use the international phone number format with country code
- Be aware of local regulations and transaction limits
- Consider local language support for customer communications
- Monitor transaction success rates by provider and adjust your implementation accordingly
- Stay informed about new Mobile Money providers entering the market
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
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.
The Testing Guide includes everything you need to thoroughly test your Mobile Money integration, including test phone numbers, test scenarios, webhook testing, fraud detection information, and best practices.
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