MTN MoMo for WooCommerce
Accept MTN Mobile Money (MoMo) payments in your WooCommerce store using the MTN MoMo API v1.
by Your Name · github.com/frisoftltd/mtn-momo-woocommerce · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/frisoftltd/mtn-momo-woocommerce/archive/refs/heads/main.zipReadme
MTN MoMo for WooCommerce
Accept MTN Mobile Money payments on your WooCommerce store. Customers enter their MoMo number at checkout, receive a USSD prompt on their phone, approve — and the order is automatically confirmed.
How It Works
Customer enters MoMo number at checkout
↓
Plugin calls MTN Collection API (Request to Pay)
↓
Customer receives USSD prompt on their phone
↓
Customer approves with their PIN
↓
Order automatically confirmed on your website
Features
- ✅ MTN MoMo Collection API v1 (Request to Pay via USSD)
- ✅ Sandbox & Production environments
- ✅ Real-time confirmation via webhook callback
- ✅ Frontend polling on order-received page
- ✅ WP-Cron fallback status check
- ✅ One-click sandbox credential generator
- ✅ PHP 8.2 compatible
- ✅ Rwanda (RWF), Ghana (GHS), Uganda (UGX), Zambia (ZMW)
Requirements
| Requirement | Version |
|---|---|
| WordPress | 5.8+ |
| WooCommerce | 5.0+ |
| PHP | 7.4+ |
Installation
- Download the latest ZIP from Releases
- WordPress → Plugins → Add New → Upload Plugin
- Activate the plugin
- Go to WooCommerce → Settings → Payments → MTN Mobile Money
Getting Your API Credentials (Rwanda)
Sandbox (Testing)
- Register at momodeveloper.mtn.co.rw
- Subscribe to the Collections product
- Copy your Primary Key
- In plugin settings: paste Primary Key → Save → click "Generate Sandbox API User & Key"
Production (Live)
- Go to momodeveloper.mtn.co.rw/go-live
- Submit your KYC business documents
- MTN approves and gives you production credentials
- Switch plugin Environment to Production
Plugin Settings
| Setting | Description |
|---|---|
| Environment | Sandbox (testing) or Production |
| Subscription Key | Primary Key from MTN Developer Portal |
| API User | UUID of your API user |
| API Key | Secret API key |
| Currency | RWF for Rwanda |
| Callback URL | Register this in your MTN app: https://yoursite.com/wc-api/mtn_momo_callback |
Sandbox Testing
In sandbox mode, no real money moves and no USSD is sent to your phone.
| Phone Number | Result |
|---|---|
| Any normal number | SUCCESSFUL (instant) |
| 46733123450 | FAILED |
| 46733123451 | REJECTED |
| 46733123452 | TIMEOUT |
Project Structure
mtn-momo-woocommerce/
├── .github/
│ └── workflows/
│ └── ci.yml # GitHub Actions CI
├── assets/
│ ├── css/checkout.css # Checkout styling
│ ├── js/checkout.js # Frontend polling
│ └── images/ # Add mtn-momo-logo.png here
├── includes/
│ ├── class-mtn-momo-api.php # MTN API client
│ ├── class-mtn-momo-gateway.php # WooCommerce gateway
│ └── class-mtn-momo-webhook.php # Callback handler
├── mtn-momo-woocommerce.php # Plugin bootstrap
├── CHANGELOG.md
├── CONTRIBUTING.md
└── README.md
Contributing
See CONTRIBUTING.md for development setup and guidelines.
License
GPL-2.0 — see LICENSE file.
Support
- Open a GitHub Issue for bugs
- Check WooCommerce → Status → Logs → mtn-momo for error logs
Read the full README on GitHub →
Releases
| Tag | Published |
|---|---|
| v1.0.1 | May 25, 2026 |
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.