Fiat to Merchant balance
An NGN (fiat) deposit crediting your USD merchant balance. This is the collections flow: a user pays in local currency and you hold the value in USD.
Call Get available currencies
NGN takes deposits over bank, and its pairs includes merchant_balance. So NGN → merchant balance USD over bank is legal. Airtime is payout-only, so it cannot be the deposit leg here.
Call Get order limits
depositPaymentChannel: "bank"
depositCurrencyType: "fiat"
depositCurrencyCode: "NGN"
depositCountryIsoCode: "NG"
payoutPaymentChannel: "merchant_balance"
payoutCurrencyType: "merchant_balance"
payoutCurrencyCode: "USD"
{
"deposit": {
"min": 1523,
"max": 761469,
"minUsd": 1,
"maxUsd": 500,
"step": 1,
"supportsDecimals": false
},
"payout": {
"min": 1,
"max": 500,
"minUsd": 1,
"maxUsd": 500,
"step": 0.01,
"supportsDecimals": true
}
}The user can pay 1,523 to 761,469 NGN, crediting 1 to 500 USD. We want 100 USD credited.
KYC applies to the person paying — run the KYC flow against their email and country, passing the amounts.
Call Create quote
{
"deposit": {
"paymentChannel": "bank",
"currencyType": "fiat",
"currencyCode": "NGN",
"countryIsoCode": "NG"
},
"payout": {
"paymentChannel": "merchant_balance",
"currencyType": "merchant_balance",
"currencyCode": "USD",
"amount": 100
}
}For you to be credited 100 USD the user pays 152,206 NGN. The fees come off the deposit leg: 2.5% platform and 1% merchant — that merchant_fee is yours.
Required fields, all on the deposit leg:
phoneNumber
bankCode (from the enum options)
bankAccountNumber
The payout leg needs nothing — the destination is your own balance.
Call Create order
Send only the fields the quote asked for — there is no wallet address in this flow.
The recipient* values are the agent's account — where the user sends the money — not the bankAccountNumber you collected, which is the user's own.
Call Confirm order
fieldsToConfirmOrder is empty, so the order ID is all you need.
{
"orderId": "692ee4bba60e213546387b1e"
}Wait for "payout_successful"
Then Get merchant balances shows the new total.
Last updated

