Payments & Fraud in EdTech
Why carrier billing belongs in dedicated microservices — architecture from the MTN E-Campus program at Campusna.
Problem
Telecom learning platforms cannot bolt mobile money and fraud screening onto Moodle. Carrier billing requires async settlement, operator APIs, and synchronous fraud checks — with scaling independent from course delivery.
Constraints
- Evina DCBprotect mandatory in the payment path
- Separate PostgreSQL for payment domain vs Moodle MySQL
- Celery workers for async operator callbacks
- 11 stakeholders across operator, fraud vendor, and platform teams
My role
As Technical Manager at Campusna, I led payment service architecture, Evina integration, and ECS service topology separate from the LMS — directing implementation across the engineering team.
Outcome
- Payment API and workers on ECS Fargate alongside Moodle
- Host-based ALB routing — LMS and payment API on separate paths
- ~40% payment/API performance improvement on integration layer
- Production validation with ~2,000 pre-registered users
Lessons learned
- Treat payments as a bounded context — not a Moodle plugin
- Fraud screening belongs in the synchronous billing path for operator trust
- Scale workers on queue depth, not LMS page views