Node.js and Express backend for accepting MTN MoMo payments in Rwanda using the MTN MoMo Collections API.
# MTN MoMo Payment Integration App 💳
A full-stack mobile money payment system built using Node.js and the MTN MoMo API.
This project simulates a real-world fintech checkout experience with payment initiation and real-time transaction status tracking.
---
## 🚀 Live Demo
- Frontend:
your-frontend-link.com
- Backend API:
your-backend.onrender.com
---
## ⚠️ Important Notice
This application is currently running in **MTN MoMo Sandbox Mode**.
No real money transactions are processed. All payments are simulated for testing and development purposes only.
---
## ✨ Features
- Initiate mobile money payments via MTN MoMo API
- Real-time payment status tracking (SUCCESSFUL / FAILED / PENDING)
- Clean checkout UI (responsive design)
- Backend API built with Express.js
- Frontend communicates with hosted backend (Render)
- Full end-to-end payment flow simulation
---
## 🧠 What I Learned
- API authentication (OAuth2 with MTN MoMo)
- Payment gateway integration
- Backend architecture for transaction systems
- Real-time polling for transaction status
- Deploying full-stack applications (Render + GitHub Pages)
- Handling environment variables securely
---
## 🛠 Tech Stack
**Frontend**
- HTML5
- CSS3
- JavaScript (Vanilla)
**Backend**
- Node.js
- Express.js
**APIs & Services**
- MTN MoMo API (Sandbox)
- Render (Backend hosting)
- GitHub Pages (Frontend hosting)
---
## 📁 Project Structure