Skip to main content
This guide details the standard workflow for performing an NGN withdrawal to a local bank account using the Mavapay API. To ensure successful processing, you must follow the verification-payout sequence strictly.

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 unique nipBankCode 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.
Response Sample:

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.
Critical Requirement: You must receive a 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, and bankAccountName must 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, 100000 is 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, PENDING or FAILED).

Error Checklist