Choosing a Payment Gateway: An Engineering Decision Framework
Gateway selection criteria in order of importance: 1) Country and payment method coverage — does it cover the countries your users are in, with the channels they actually use (mobile money, bank transfer, card, USSD)? 2) API quality and documentation — can you build and maintain an integration without constant support tickets? 3) Reliability and settlement timing — what is the real uptime, and when does money arrive in your account? 4) Pricing — transaction fees, monthly fees, chargeback fees, FX markup. 5) Compliance — is the gateway licensed by the relevant regulator (CBN, CBK, BoG)? Do not start with pricing — start with coverage.
Decision Matrix
| Criterion | What to Evaluate | Why It Matters |
|---|---|---|
| Country coverage | Does it process NGN, KES, GHS, ZAR, TZS, UGX natively? | Processing in a currency you don't support = FX losses or blocked payments |
| Payment channels | Card, mobile money (M-Pesa, MTN, Airtel), bank transfer, USSD | Missing mobile money in Kenya = 30-50% of users can't pay |
| API quality | Working sandbox, good error messages, webhook testing, SDK maintenance | Poor API = permanent engineering tax on your team |
| Uptime | Real-world uptime history (status page, third-party monitoring), not SLA document | Gateway downtime = lost revenue. SLA credits don't cover customer churn. |
| Settlement timing | T+1, T+2, T+3? Daily, weekly? Net or gross? | Slower settlement = higher working capital requirement |
| Pricing | Transaction %, caps, monthly fees, chargeback fees, FX markup | All gateways have similar pricing at low volume; differences matter at scale |
| Regulatory standing | CBN licence (Nigeria), CBK PSP licence (Kenya), BoG EMI licence (Ghana) | Unlicensed gateways can be shut down with no warning |
| Support | Response time to disputes and technical issues. Dedicated account manager at what volume? | When Paystack freezes your account at 2am before payday, support quality matters |
Gateway Recommendations by Market
| Market | Primary Recommendation | Reason |
|---|---|---|
| Nigeria only | Paystack | Best developer experience, CBN-licensed, all payment channels |
| Nigeria + pan-Africa | Paystack + Flutterwave | Flutterwave adds more country coverage beyond core Paystack markets |
| Kenya only | Paystack (M-Pesa channel) or IntaSend | Both support M-Pesa; Paystack if you plan to expand to Nigeria/Ghana |
| East Africa multi-country | Pesapal or DPO Pay | Better East African coverage than Paystack |
| Tanzania | Selcom | Deeper Tanzanian mobile money (Vodacom, Tigo, Airtel TZ) |
| Global (non-African) | Stripe | Paystack does not serve non-African markets |
| B2B FX / cross-border | Fincra or Grey | Better FX rates and compliance for cross-border B2B payments |
Learn More
See payment gateway due diligence checklist for CTOs for the full pre-contract checklist.
Key Takeaways
- ✓Start with coverage: the gateway must support the countries and payment methods your users actually have.
- ✓API quality matters more than pricing for developer teams — poor docs cost more in engineering time than you save on fees.
- ✓Settlement timing affects your cash flow — T+1 vs T+3 is a meaningful operational difference.
- ✓Check regulatory standing: is the gateway licensed by CBN (Nigeria), CBK (Kenya), BoG (Ghana)?
- ✓Pricing is the last decision criterion, not the first.
Frequently Asked Questions
- Should I evaluate multiple gateways even if Paystack seems like the obvious choice?
- Yes — take 2 hours to run through the decision matrix for at least two options. The exercise surfaces specific requirements you might have overlooked (e.g., you need USSD but your first choice does not support it, or you need to collect GHS but the gateway settles only in NGN). The outcome might still be Paystack, but you will have made the decision deliberately.
- At what transaction volume do pricing differences become significant?
- At NGN 10 million/month (roughly 2,000 transactions at NGN 5,000 average), a 0.1% fee difference is NGN 10,000/month — meaningful but not decisive. At NGN 100 million/month, it is NGN 100,000/month — worth negotiating a volume discount. Below NGN 10 million/month, spend your time on API quality and reliability, not fee optimization.
- How do I evaluate real uptime rather than the SLA document?
- Check the gateway's status page history (most have a statuspage.io or similar) and look at the last 90 days. Search Twitter/X and developer communities for "Paystack down" or "[gateway] downtime" to find incidents that may not appear on the official status page. Ask other developers who use the gateway about their experience with reliability. Build your own uptime monitor by pinging the gateway's health check endpoint every minute.
Ready to build real-world apps?
Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.
Apply to the McTaba Marathon