We see NGN supports deposit via bank/airtime/mobile money, and payout via bank/mobile money. Merchant balance supports both deposit and payout. So we can do Fiat → Merchant balance USD.
We see that the minimum deposit is 1523 NGN and the maximum is 761469 NGN, which corresponds to 1-500 USD limit for merchant balance.
Assume the merchant wants to receive 100 USD. Check the user’s tier using the KYC requirements flow before proceeding. In the sample sandbox rules, payouts of 100 USD or more trigger the advanced tier, so be sure the user has submitted and been approved for that document set.
For a merchant to receive 100 USD, user must deposit 152206 NGN. Collect these fields:
phoneNumber
bankCode (from enum options)
bankAccountNumber
depositSandboxForcedFlow (sandbox optional field to simulate deposit success/failure/underpayment/overpayment)
payoutSandboxForcedFlow (sandbox optional field to simulate payout success/failure)
Sandbox tip: When you're testing in the sandbox environment you can set depositSandboxForcedFlow or payoutSandboxForcedFlow to force the platform to return success, failure, or other edge outcomes. This makes it easy to imitate failed flows without moving real funds.