Case study · Payments & business operations
MVerify
Payment verification for M-Pesa-driven operations.
- Category
- SaaS platform
- Industry
- Payments & business operations
- Platforms
- Web dashboard · Staff Android app
- Technology
- Laravel · Android · MySQL · M-Pesa Daraja
01 · Project overview
What was built, and for whom.
MVerify is a payment verification platform built by CodeWave for businesses whose daily operations depend on M-Pesa. It gives counter and field staff a fast way to confirm that a payment has landed, and gives owners and managers a live, branch-by-branch view of every transaction — with accounts, roles, history and billing handled in the same system.
- Built for
- Businesses receiving M-Pesa payments through Till and PayBill
- Type
- Product
- Platforms
- Web dashboard, Staff Android app
- Focus
- payments saas mobile web
02 · Business challenge
The problem, as the business experienced it.
Staff at counters and in the field could not reliably confirm that an M-Pesa payment had actually arrived before releasing goods, and management had no single view of transactions across branches.
When money arrives on a phone, the business still has to prove it. Staff were confirming payments from forwarded SMS and screenshots, managers were reconciling by hand, and disputes were hard to settle because nobody could trace a transaction quickly.
- Payments confirmed from forwarded SMS and screenshots
- No branch-level visibility for owners and managers
- Disputes that could not be traced to a transaction
- Manual end-of-day reconciliation across tills
03 · Our approach
How we got from the problem to the system.
A verification platform with a web dashboard and a staff Android app that confirms Till and PayBill transactions, keeps transaction history per branch and supports STK Push requests.
-
01
Understand
We mapped the counter, delivery and back-office flows — who confirms a payment, what they check and what happens when it cannot be found.
-
02
Architect
A business-account → branch → role model, a verification engine fed by M-Pesa Daraja, and transaction history designed for audit and billing from day one.
-
03
Build
The web dashboard and the staff Android app were built in parallel against the same API, with regular demos to the people who would use them.
-
04
Integrate
Till and PayBill transaction monitoring and STK Push were integrated with Safaricom, including callback handling, retries and the go-live process.
-
05
Deploy & support
Deployed to a monitored production environment with backups, and supported under an ongoing agreement as new businesses and branches are onboarded.
04 · Solution architecture
Layers of the system.
Clients at the top, the core application in the middle, integrations and data underneath. Green marks the integration layer where the system meets the outside world.
Clients
- Web dashboard
- Staff Android app
Application
- Business accounts
- Branches & roles
- Verification engine
- Transaction history
- Billing
Integrations
- M-Pesa Daraja — Till & PayBill (C2B)
- STK Push
- SMS notifications
Data & infrastructure
- MySQL
- Redis queues
- Monitoring & backups
05 · Key features
What the system does.
M-Pesa transaction verification
Confirm a Till or PayBill payment in seconds, from the counter or the field.
Staff Android application
A focused app for verifying payments and triggering STK Push on the spot.
Web dashboard
Live view of transactions, branches and staff activity for owners and managers.
Business accounts & branches
One account, many branches — each with its own tills and people.
Roles
Owners, managers and staff see and do only what their role allows.
Transaction history & billing
Complete, searchable history that also drives platform billing.
06 · Technology
The stack behind it.
Chosen for the job — mature, supportable and straightforward to host and staff for in Kenya.
- Backend
- PHP Laravel REST APIs
- Mobile
- Android
- Data
- MySQL Redis
- Integrations
- M-Pesa Daraja STK Push SMS
07 · Business impact
What changed for the business.
Outcomes are described qualitatively. Figures are published only when verified by the client and approved for release.
-
01
Centralized transaction monitoring across all branches
-
02
Staff verify payments before goods are released
-
03
Branch-level roles and accountability
-
04
Transaction history available for audit, disputes and billing
08 · Screens
Interface illustration.
A representative illustration of the interface, not a live screenshot — no client data is shown.
Verified today
Pending
Branches live
Recent transactions
Till · PayBillVerify payment
Similar problem?
Have a process that looks like this one?
Tell us how it runs today. We will tell you what a system built for your operation would involve.