Production integrations with Flutterwave, Moniepoint and Africa's Talking. Webhook verification, reconciliation ledgers, refund flows - reusable across every client we build for.
We build Nigerian payment integrations across Flutterwave, Moniepoint, and Africa's Talking. Not the surface layer — anyone can call a payment API — but the boring plumbing underneath that keeps the ledger honest when Flutterwave, your bank statement, and your own records disagree.
The problem
Every Nigerian fintech integration eventually collides with the same wall: three sources of truth that don't agree with each other. A customer pays via Flutterwave. The webhook fires. Your app credits the customer. Four hours later the settlement file arrives with a different amount because of a fee reversal you didn't know about. Or the same transaction appears twice. Or the webhook never fired at all because your server was briefly unreachable — so the payment succeeded but nobody credited it.
The pattern
We built a reusable payments layer that uses an inbox pattern: every webhook writes to an inbox table, not directly to the accounting ledger. Every morning, a scheduled job fetches the settlement file from the provider and diffs it against the inbox. Discrepancies raise a Telegram alert with the transaction reference and a suggested resolution.
Every AandA integration also handles: HMAC signature verification on webhooks, idempotency keys on all provider calls, retry logic with exponential backoff, refund flows with proper double-entry ledger updates, and a nightly reconciliation report emailed to the finance lead.
What's in production
- Flutterwave: card payments, virtual account transfers, subscription tokens, refunds
- Moniepoint: POS transaction ingestion, daily settlement reconciliation
- Africa's Talking: transactional SMS for OTPs, retention SMS for lapsed customers
- Reconciliation: nightly diff between inbox + settlement files, Telegram alerts on discrepancies
Numbers
- Zero missed webhooks in six months of production
- ₦280,000 in duplicate credits caught by nightly reconciliation last month
- Reusable across every client we build for — not a one-off integration
If you are building anything payments-adjacent in Nigeria and this reconciliation problem sounds familiar, get in touch. We have made most of the interesting mistakes already, and we are happy to save you the trouble.
Related work.
Have a project
in mind?
Tell us what you need. We come back with a written scope and quote within 48 hours.