Every tutorial assumes your users have a credit card. In Cameroon, that assumption quietly drops most of your market before the first payment screen ever renders.
I build small AI products for the Cameroonian market, and both of them — CVBoost (AI CV tailoring) and WardWatch (civic issue reporting) — take payments through CamPay, a gateway that connects your app to MTN Mobile Money and Orange Money. No cards required.
The usual path is: Stripe → "we don't support Cameroon" → a side quest into payment politics. The pragmatic path is CamPay.
Same gateway, two very different products, one lesson: in Cameroon, mobile money is the payment API. It has ~tens of millions of users and it's how people actually pay for things every day.
Compared to card rails, the pattern you're signing up for is a redirect flow:
The parts that quietly take time: sandbox testing, idempotent webhook handling (the same webhook will arrive twice), and receipt UX that matches what users expect from mobile money — short confirmations, not invoices.
Neither product ships payments as an afterthought bolted on after launch:
The paid tier existed before the product was polished to death — because in this market, the ability to pay is a feature, not an admin chore.
Both products are live if you want to see the flows:
Feedback welcome — especially from developers who have shipped payments in markets their payment-provider docs forgot.