Skip to main content
Dobgima Joshua Foncham

Draft outline, not published yet

Accepting MTN MoMo and Orange Money in a Next.js app

By Dobgima Joshua Foncham · · Next.js, Payments, MTN MoMo, Orange Money, Cameroon

Draft outline. Headings and notes only — to be written.

Why mobile money matters in Cameroon

  • Card penetration vs mobile money usage locally
  • What users actually expect at checkout

The two rails

  • MTN MoMo API: sandbox, API user/key provisioning, collections vs disbursements
  • Orange Money: [NOTE: which integration path was used — Orange Developer API, aggregator, or USSD push]
  • Aggregators as an alternative (and their trade-offs) [NOTE: name only ones actually evaluated]

Architecture in Next.js

  • Server-side route handlers for payment initiation (never from the client)
  • Webhook/callback handling and verifying payment status
  • Storing payment state: pending → success/failed, idempotency

The payment flow, step by step

  • Collecting the phone number and operator
  • USSD push prompt on the customer's phone
  • Polling vs callbacks for confirmation
  • [NOTE: real sequence diagram from a project that shipped this]

Gotchas

  • Sandbox vs production differences
  • Timeouts when the customer doesn't confirm
  • [NOTE: fill with real issues hit in production]

Links

  • About me: /about
  • My projects: /projects