How to Add Mobile Money Payments to WordPress and Shopify in Uganda
To add mobile money to a WordPress/WooCommerce store in Uganda, install a payment gateway plugin from Flutterwave, EasyPay, or another aggregator that supports Ugandan mobile money. For Shopify, use a supported payment integration or redirect to a hosted checkout page. Both approaches require signing up with a payment aggregator, getting API credentials, and configuring the plugin. No coding is needed for basic setup.
Adding Mobile Money to WordPress (WooCommerce)
WooCommerce is the most popular e-commerce plugin for WordPress, and it is the platform most Ugandan small businesses use for online stores. Adding mobile money to WooCommerce follows this pattern:
- Sign up with a payment aggregator. Flutterwave, EasyPay, and Beyonic all support Ugandan mobile money and offer WooCommerce plugins or integration guides. Create an account on your chosen aggregator's website.
- Get your API keys. After signing up, find your API keys in the aggregator's dashboard (usually under Settings or Developers). You will need a public key and a secret key, or equivalent credentials.
- Install the plugin. In your WordPress admin panel, go to Plugins, then Add New. Search for the aggregator's name (e.g., "Flutterwave for WooCommerce"). Install and activate the plugin.
- Configure the plugin. Go to WooCommerce, then Settings, then Payments. Find the new payment gateway and enter your API keys. Enable test mode for initial setup.
- Test a purchase. Place a test order using the test/sandbox phone number provided by the aggregator. Confirm the payment flow works end-to-end: order placed, payment prompt sent, payment confirmed, order status updated.
- Switch to live mode. Once testing passes, disable test mode and enable live payments. Your customers will now see mobile money as a payment option at checkout.
The Flutterwave WooCommerce plugin is the most widely documented option. It supports both MoMo and Airtel Money through one checkout experience. If Flutterwave does not fit your needs, check whether EasyPay, Beyonic, or Yo! Uganda offer WooCommerce plugins or provide integration guides for WooCommerce.
Adding Mobile Money to Shopify
Shopify's ecosystem for Ugandan mobile money is more limited than WordPress/WooCommerce. Shopify tightly controls its checkout, which restricts third-party payment options. Your options:
Option 1: Shopify Payment Apps
Check the Shopify App Store for payment apps that support Ugandan mobile money. Flutterwave, Paystack, and other aggregators may offer Shopify apps. Search for "mobile money" or "Africa payments" in the app store. Install the app and follow the configuration steps (similar to the WooCommerce flow above).
Option 2: Hosted Checkout Redirect
Some aggregators provide a hosted checkout page. Instead of embedding the payment form in your Shopify store, you redirect the customer to the aggregator's payment page, where they select MoMo or Airtel Money and complete the payment. The aggregator then redirects them back to your Shopify store with the result.
Option 3: Shopify Payments (limited)
Shopify Payments itself does not support Ugandan mobile money at the time of writing. If Shopify expands its payment options for Uganda in the future, this may change.
For most Ugandan Shopify stores, a payment app from an aggregator is the simplest path. If no suitable app exists, the hosted checkout redirect works but creates a slightly less smooth customer experience because the customer leaves your site to pay.
Which Aggregator to Choose for WordPress/Shopify
For no-code plugin setups, evaluate aggregators on these criteria:
- Plugin availability: Does the aggregator have a maintained WooCommerce plugin or Shopify app? A plugin that has not been updated in over a year may not work with current versions of WordPress/Shopify.
- Ugandan mobile money support: Confirm they support both MTN MoMo and Airtel Money in Uganda specifically. Some aggregators support mobile money in other countries but not Uganda.
- Fee structure: Compare per-transaction fees. For a small shop doing modest volume, the fee difference between aggregators is usually small. For higher volume, it adds up.
- Payout schedule and currency: How often does the aggregator pay you, and do they settle in UGX? Some aggregators hold funds longer or settle in USD, which may create complications.
- Support: If something goes wrong with payments, how quickly can you reach the aggregator's support team? Local support (Kampala-based or East Africa-based) is a significant advantage.
Flutterwave is the default recommendation for WordPress/WooCommerce because it has the most widely used plugin and documentation. For a detailed comparison, see our Flutterwave vs EasyPay vs direct MoMo API article.
Common Issues and Troubleshooting
Problems you are likely to encounter when setting up mobile money on WordPress or Shopify:
- Plugin conflict: Other WordPress plugins may conflict with your payment plugin. If the payment option does not appear at checkout, try disabling other plugins one by one to find the conflict.
- API key misconfiguration: Double-check that you entered the correct keys in the correct fields. Test mode keys and live mode keys are different. Mixing them up is the most common setup error.
- Callback URL issues: Some payment plugins require your site to be accessible via HTTPS. If your WordPress site is on HTTP only, the callbacks may fail. Install an SSL certificate (most hosts offer free ones via Let's Encrypt).
- Currency mismatch: Set your WooCommerce/Shopify store currency to UGX. If your store is set to USD or another currency, the payment amounts may not match what the customer sees on their phone.
- Test mode confusion: If payments work in test mode but fail in live mode, you likely have not completed the aggregator's production verification process. Check your aggregator dashboard for pending verification steps.
If you are a developer building a custom checkout rather than using a plugin, our technical guides cover the integration in depth: MoMo API integration and Airtel Money integration.
Key Takeaways
- ✓Most Ugandan WordPress/WooCommerce stores can add mobile money through a plugin from Flutterwave, EasyPay, or another payment aggregator. No coding required.
- ✓Shopify's mobile money support in Uganda is more limited than WordPress. You may need a hosted checkout redirect or a third-party app.
- ✓All plugin setups require a payment aggregator account and API keys. The plugin connects your store to the aggregator, which connects to MoMo and Airtel Money.
- ✓Test in sandbox or test mode before enabling live payments. Plugins usually have a "test mode" toggle in their settings.
Frequently Asked Questions
- Do I need coding skills to add mobile money to WordPress?
- No. The plugin approach requires no coding. You install a plugin, enter your API keys from the aggregator, and configure settings through the WordPress admin panel. You do need a basic understanding of WooCommerce settings and the ability to follow setup instructions.
- Can I use mobile money for WooCommerce subscriptions?
- It depends on the aggregator and plugin. Some aggregators support recurring payments through mobile money, others do not. Check with your chosen aggregator whether they support WooCommerce Subscriptions or similar recurring billing features with Ugandan mobile money.
- Is it free to add mobile money to my WordPress store?
- The plugin itself is usually free. The aggregator charges per-transaction fees on successful payments. There are no upfront costs for most aggregators; they earn their revenue from the transaction margin.
- Can I accept both mobile money and card payments on the same store?
- Yes. Most aggregators (especially Flutterwave) support both mobile money and card payments. At checkout, the customer chooses their preferred payment method. You manage all payments through one aggregator dashboard.
Ready to build real-world apps?
Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.
Apply to the McTaba Marathon