Across Afripay, SellTrove, AfriCred, PrimeERP, and other platforms, I have been responsible for systems processing $50M+ in cumulative financial transactions. The engineering lessons from that volume are not academic.
Lesson one: reconciliation catches everything else. The reconciliation process — comparing your internal ledger against the bank's settlement report — is the safety net that catches every class of bug that affects financial correctness. Run it daily. Alert on discrepancies above your tolerance threshold immediately.
Lesson two: idempotency is not a feature, it is the foundation. At high transaction volumes, duplicate requests are not edge cases. They are expected. Design every endpoint that creates financial records to be idempotent by default.
Lesson three: the database is your source of truth, not the payment gateway. The gateway can be wrong. The gateway can be slow. The gateway can go down. Your database's ledger is what you can audit. Build your system to treat the gateway as an external input that must be verified, not a source of truth.
High-volume financial systems are a discipline. Build for correctness first, performance second, and elegance third.
— Dick Bassey | DevDick | 2026