Choose the right gateway for your product
Paystack and Flutterwave both serve Nigerian businesses well. Paystack is widely used for card payments and bank transfers. Flutterwave offers broad African coverage and multiple payment methods. Many VTU platforms we build support one or both, depending on client preference and fee structure.
For wallet-based VTU platforms, the gateway handles funding — not individual airtime purchases. VTU provider APIs handle service delivery separately.
Implementation checklist
Every production integration should include:
- Server-side initialization — never expose secret keys in mobile apps
- Webhook endpoint with signature verification
- Idempotent webhook handling (same event processed once)
- Transaction reference stored before redirecting user to pay
- Admin view for failed, pending, and successful payments
- Sandbox testing before going live
Webhook handling done right
When a user funds their wallet, the payment gateway sends a webhook to your server. Your handler must verify the signature, match the reference to a pending transaction, credit the wallet atomically, and return 200 quickly.
If webhook processing fails, users may pay but not receive wallet credit — the most common support issue in new fintech products. Log every webhook payload and build admin tools to manually reconcile edge cases.
Mobile app considerations
Mobile apps should call your backend to initiate payments, not embed secret keys. Use Paystack's mobile SDK or Flutterwave's mobile flow through your API. The app polls or receives push notification when wallet credit completes.