Monnify Build Sessions #01 “Integration bugs don’t always break your code, sometimes they break your accounting.”


The Reality: Picking the wrong payment flow early forces an expensive rebuild later. Hackathon Example: A significant number of Ajo/savings teams in the Developer Challenge used Reserved Accounts; the other relied on Checkout alone for recurring contributions, meaning they had to build their own logic to match each deposit back to a contributor.
| Feature | Primary Mechanism | Best For | When NOT to Use |
|---|---|---|---|
| Reserved Accounts | Dedicated NUBAN per user/wallet | Wallet top-ups, Ajo, multi-vendor marketplaces (per-seller settlement) | One-off guest purchases |
| Checkout Modal | Multi-channel collection UI | E-commerce carts, tickets | Automated background funding |
| Direct Debit / Recurring Debits | Mandate-based recurring pull (or card tokenization) | Loans, subscriptions, recurring thrift | One-time variable payments |

X What Often Happens Triggering a Checkout modal every time a user contributes.
X What Often Happens Manual reminders plus a Checkout link sent out every billing cycle. Result: missed collection dates - repayment relies on the borrower remembering to pay. ✓ What Works Better Direct Debit Mandate: signed once, at disbursement - no reminders needed. Pulls automatically on the due date, straight from the customer’s bank account. Failed pulls don’t always webhook - poll Get Debit Status to catch them, but the mandate still fires on schedule with no manual chasing. Alternative: card tokenization works just as well here if the product bills by card rather than bank mandate.
HOW THE MANDATE ACTUALLY WORKS

What Often Happens A Reserved Account issued per attendee, for a single ticket purchase. Result: every attendee pushed through BVN/NIN verification, and a pile of dormant accounts left over after the event. ✓ What Works Better Checkout: card, USSD, or transfer - collected in one session. No identity verification needed for a one-off sale. Nothing to deallocate or maintain once the event is over.