Accepting payments directly within your mobile app is essential for monetization, but the Nigerian payments landscape has unique requirements. Paystack and Flutterwave are the dominant payment gateways for Nigerian apps, each offering robust APIs for in-app purchase integration. This guide covers how to integrate both gateways, handle NGN transactions, manage receipts and refunds, and the trade-offs between Google Play Billing and direct payment processing.
Paystack, acquired by Stripe, offers a developer-friendly API with excellent documentation and strong recurring payment support. Flutterwave provides broader coverage across African currencies and includes virtual cards and international payment routing. Both support the payment methods Nigerian users prefer: cards, bank transfers, and USSD.
Paystack charges 1.5 percent plus ÃÆâ'¢â€š¦100 per local card transaction. Flutterwave charges 1.4 percent plus ÃÆâ'¢â€š¦100. The difference is minimal. Choose Paystack for Stripe-like developer experience, Flutterwave if you plan to expand across Africa. Many Nigerian apps integrate both, giving users the option.
Create a Paystack account and obtain your public and secret keys. Store keys server-side. Implement the Paystack mobile SDK. When a user initiates a purchase, your backend creates a transaction via Paystack's API and returns an authorization reference. The SDK presents a payment form handling card entry, USSD, or bank transfer securely. Paystack sends a webhook confirming the transaction status. Your backend updates the user's purchase record and unlocks the content.
Implement webhook verification using Paystack's hash header to prevent fraud. Add a polling fallback in case webhooks are delayed.
Register for a Flutterwave account and obtain API keys. Implement the Flutterwave Rave mobile SDK. When a user initiates a purchase, your backend calls Flutterwave's charge endpoint with the amount, NGN currency, and customer details. The SDK shows a modal where users select their payment method. After successful payment, Flutterwave sends a webhook. Verify the webhook signature before processing.
Flutterwave's built-in retry logic suggests alternative payment methods if a card transaction fails, increasing conversion for Nigerian users.
Display prices in NGN within your app. Use the NGN currency code in all API calls. Show the exact amount including any fees before users confirm payment. Store monetary values in kobo (lowest denomination) to avoid floating-point errors.
Both gateways provide default receipts, but generate your own branded receipts including your app name, transaction reference, payment method, amount, date, item description, and support contact. Send via email and display in-app. Store receipt data with the gateway transaction ID for future retrieval.
Establish a clear refund policy displayed during checkout. Process refunds through the same gateway used for the original transaction. Both Paystack and Flutterwave provide refund APIs that return funds to the original method. Card refunds take 3 to 5 business days. Implement an in-app refund request flow and track refund rates to identify product issues.
Google Play Billing is mandatory for digital goods on Android, with Google taking 15 to 30 percent commission. Direct gateways charge 1.4 to 1.5 percent, making them significantly cheaper. However, Google requires digital goods to use their billing system. You can use direct gateways for physical goods, services, and web-based purchases.
The best approach is hybrid. Use Google Play Billing for digital in-app purchases to comply with Play Store policies. Use Paystack or Flutterwave for physical goods, services, or purchases made via your website. This ensures compliance while minimising costs where possible.
Yes, Paystack supports cards, bank transfers, and USSD payments in NGN. For digital goods on Android, you must also use Google Play's billing system. Paystack is ideal for physical goods or services.
Use both. Google Play Billing is mandatory for digital goods on Android. Use Paystack or Flutterwave for physical goods, services, or web-based purchases. Combining both gives maximum flexibility.
For Google Play Billing, process refunds through the Play Console. For Paystack or Flutterwave transactions, use their dashboard or API to return funds to the original payment method.
Nigerian users prefer card payments and bank transfers through Paystack or Flutterwave. USSD is popular for users without banking apps. Supporting multiple methods increases conversion.
Contact SucceedHQ Innovations for expert payment gateway integration and monetization strategy.
Get in Touch