Bonaventure OgetoBy Bonaventure Ogeto|

Building a Mobile Money Payment System for a Rwandan SME

To build a mobile money payment system for a Rwandan SME, you need: (1) support for both MTN MoMo and Airtel Money, (2) a simple checkout flow that non-technical customers can use, (3) automated transaction recording and reconciliation, (4) clear payment confirmations via SMS or WhatsApp, and (5) a dashboard for the business owner to track payments. Use a payment aggregator for faster development or direct API integration for lower long-term costs. The most common mistake is building what a developer thinks is useful instead of what the business owner actually needs.

Understanding What a Rwandan SME Actually Needs

Before writing any code, understand the business. A restaurant in Kigali, a retail shop in Huye, and an online delivery service have different payment needs. The most common mistake developers make when building payment systems for SMEs is building what they think is cool instead of what the business actually requires.

Talk to the business owner. Ask these questions:

  • How do you currently accept payments? (Cash only? MoMo merchant account? Manual USSD?)
  • How many transactions per day?
  • What is the average transaction amount?
  • Do you need to send money to suppliers or employees, or just receive payments?
  • How do you currently track payments? (Notebook? Spreadsheet? Nothing?)
  • What is the biggest payment problem you have right now?

The answers will shape your architecture. A shop doing 20 transactions per day has very different needs from one doing 200. A business that needs both collections (receiving) and disbursements (paying suppliers) needs a more complex system than one that only receives payments.

The Minimum Viable Payment System

Start with the simplest system that solves the business owner's core problem. You can add features later. The minimum viable payment system for a Rwandan SME includes:

1. A payment page or POS interface. Where the customer's phone number and payment amount are entered. This might be a web page (for online businesses), a simple tablet-based point-of-sale interface (for physical shops), or a link sent via WhatsApp (for businesses that take orders over messaging).

2. MoMo and Airtel Money support. Both providers, through either an aggregator or direct integration. Do not launch with only one provider.

3. Automated payment tracking. Every transaction recorded in a database with: timestamp, customer phone number, amount, status (success/pending/failed), and reference ID. This replaces the notebook or spreadsheet.

4. A business dashboard. A simple web page (password-protected) showing today's transactions, total revenue, and any failed or pending payments. The business owner checks this instead of calling the bank or scrolling through MoMo messages.

5. Payment confirmations. An SMS or WhatsApp message sent to the customer after successful payment. Rwandan customers are accustomed to receiving confirmation messages. Not sending one creates anxiety about whether the payment went through.

That is the MVP. It replaces manual payment tracking, supports both providers, and gives the business owner visibility into their money. Everything else (refunds, reports, analytics, multi-location support) is a later feature.

Technical Decisions

Aggregator vs direct integration: For an SME project, use an aggregator unless the business processes very high volumes. The faster development time and single-API simplicity matter more than the per-transaction fee difference. See our aggregator comparison.

Tech stack: Node.js and React (or a similar full-stack JavaScript setup) is the most practical choice if you are a JavaScript developer. The back end handles API calls, callbacks, and data storage. The front end provides the payment interface and business dashboard. PostgreSQL is a solid database choice for transactional data.

Hosting: Deploy on a platform with reliable uptime. Payment systems cannot go down during business hours. Vercel (front end) plus Railway or Render (back end and database) is a cost-effective setup for an SME project.

Security: Never store customer PINs. Use HTTPS everywhere. Protect the business dashboard with authentication. Log transactions for reconciliation but do not log sensitive payment details unnecessarily. Follow the principle of least privilege for database access.

This Is Your Best Portfolio Project

If you are a developer looking for a portfolio project that demonstrates real-world skills and gets attention from Rwandan employers, building a mobile money payment system for a local SME is one of the strongest things you can do.

It shows: full-stack development, API integration, callback/webhook handling, database design, authentication, deployment, and understanding of the local market. That is more impressive than any tutorial clone.

Find a local business in Kigali (or wherever you are in Rwanda) that currently accepts payments manually and offer to build their system. Many SMEs know they need digital payments but do not know how to get them. This is a win-win: you get a real portfolio project, and they get a payment system.

McTaba's curriculum is designed to prepare you for exactly this kind of project. The Full-Stack course (approximately RWF 1,200,000) teaches the web development stack. The mobile money integration course (approximately RWF 100,000) adds the payment layer. The Deployment course (approximately RWF 50,000) teaches you to ship it to production. Together, they prepare you to build and deploy exactly this kind of system.

Key Takeaways

  • Rwandan SMEs need simple, reliable payment solutions. Overly complex systems with features the business does not need are worse than simple ones that work consistently.
  • Support both MoMo and Airtel Money from day one. An SME that can only accept MoMo loses every Airtel Money customer.
  • The business owner needs a dashboard showing: today's payments, total revenue, pending transactions, and failed transactions. Build this before adding advanced features.
  • Payment confirmation (via SMS or WhatsApp) builds customer trust. In Rwanda, customers expect a confirmation message after paying.
  • Talk to the business owner before writing code. Understanding their daily payment workflow prevents building the wrong thing.

Frequently Asked Questions

How much should I charge an SME to build a payment system?
Pricing depends on complexity. A basic payment system with MoMo/Airtel support and a simple dashboard typically costs RWF 500,000 to 2,000,000 in the Rwandan market. Get quotes from other developers for comparison. Consider whether you are building from scratch or using existing tools and templates.
Does the SME need a merchant account with MTN or Airtel?
If using an aggregator, the aggregator handles the provider relationship. If integrating directly, the business may need to register for a merchant/business MoMo account. The aggregator path is simpler for most SMEs.
What happens if the internet goes down at the business?
The payment system requires internet to process transactions. For physical shops, have a fallback plan: the business can temporarily accept manual MoMo payments (customer pays to a MoMo merchant number directly) and record them manually until connectivity returns. Your system should handle reconnection gracefully.

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