The NGN Withdrawal Workflow
Step 1: Fetch and Cache Bank List
Before initiating a withdrawal, you need the list of supported Nigerian banks. Each bank has a uniquenipBankCode required for the next steps.
Note: It is highly recommended to cache this list for 24 hours to reduce latency and API calls.You can use the Get Bank Code endpoint to retrieve this list.
Step 2: Bank Account Verification (Name Enquiry)
Once a user provides their bank account number and selects a bank name, you must verify the details using the Name Enquiry endpoint. This step confirms the recipient’s identity and provides the exact name required by the clearing system.status: "ok" and a 200 response before proceeding. Store the accountName returned exactly as it appears.
Step 3: Initiate Withdrawal
With the verified details, you can now trigger the payout using the Withdraw Fiat endpoint. Use the exact data returned from the Name Enquiry endpoint to avoid validation errors.Important Implementation Notes
- Exact Matching: The
bankCode,bankName, andbankAccountNamemust match the Name Enquiry response character-for-character. A single extra space or a missing period will cause the request to fail. - Currency Denomination: Ensure you verify if the amount is in Kobo or Naira. For this endpoint,
100000is typically evaluated as 1,000.00 NGN (Kobo denomination). - Instant Settlement: Withdrawals are processed instantly via NIP (NIBSS Instant Payment).
- Webhooks: Mavapay will send a webhook notification to your configured URL once the transaction reaches a final state (
SUCCESS,PENDINGorFAILED).
