Bonaventure OgetoBy Bonaventure Ogeto|

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

CriterionWhat to EvaluateWhy It Matters
Country coverageDoes it process NGN, KES, GHS, ZAR, TZS, UGX natively?Processing in a currency you don't support = FX losses or blocked payments
Payment channelsCard, mobile money (M-Pesa, MTN, Airtel), bank transfer, USSDMissing mobile money in Kenya = 30-50% of users can't pay
API qualityWorking sandbox, good error messages, webhook testing, SDK maintenancePoor API = permanent engineering tax on your team
UptimeReal-world uptime history (status page, third-party monitoring), not SLA documentGateway downtime = lost revenue. SLA credits don't cover customer churn.
Settlement timingT+1, T+2, T+3? Daily, weekly? Net or gross?Slower settlement = higher working capital requirement
PricingTransaction %, caps, monthly fees, chargeback fees, FX markupAll gateways have similar pricing at low volume; differences matter at scale
Regulatory standingCBN licence (Nigeria), CBK PSP licence (Kenya), BoG EMI licence (Ghana)Unlicensed gateways can be shut down with no warning
SupportResponse 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

MarketPrimary RecommendationReason
Nigeria onlyPaystackBest developer experience, CBN-licensed, all payment channels
Nigeria + pan-AfricaPaystack + FlutterwaveFlutterwave adds more country coverage beyond core Paystack markets
Kenya onlyPaystack (M-Pesa channel) or IntaSendBoth support M-Pesa; Paystack if you plan to expand to Nigeria/Ghana
East Africa multi-countryPesapal or DPO PayBetter East African coverage than Paystack
TanzaniaSelcomDeeper Tanzanian mobile money (Vodacom, Tigo, Airtel TZ)
Global (non-African)StripePaystack does not serve non-African markets
B2B FX / cross-borderFincra or GreyBetter FX rates and compliance for cross-border B2B payments

Learn More

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