URL Parameters

List of parameters

Here is the list of parameters that can be added to the URL:

ParameterDescription

address

Address of the wallet you want to receive crypto to

network

Wallet network. Supported values: POLYGON, ETHEREUM, STELLAR, AVALANCHE, SOLANA, CELO, BASE, LISK

asset

Wallet asset. Supported values: USDC, CUSD, USDT, USDC_E, CKES depending on network. The default value is USDC for all networks that support it except CELO, for CELO it's CUSD. Supported network/asset pairs: AVALANCHE (USDC), POLYGON (USDC, USDC_E, USDT), CELO (CUSD, USDC, USDT, CKES), STELLAR (USDC), SOLANA (USDC), BASE (USDC), ETHEREUM (USDC), LISK (USDT)

memo

Memo for the transaction

amount

If a currency is not provided, it will be an amount of crypto received after fees. If currency is airtime, it will be the amount of airtime a user should spend.

minAmount

Minimum amount of order in crypto

currency

Currency of the amount. Supported values: airtime or usdc

country

default selected country iso code, example: KE for Kenya, NG for Nigeria

currencyIso

currency iso code, example: KES for Kenya, NGN for Nigeria. Acts like a country parameter.

freezeAmount

Freezes the amount of order for the user, the user will not be able to change it. The amount is required in the URL for this parameter to work.

freezeWallet

Freezes the wallet of order for the user, the user will not be able to change it. The wallet is required in the URL for this parameter to work.

provider

Default user funds source to select, supported values: carrier, mpesa, mobile_money, bank_transfer

carrier

id of a mobile carrier to select by default

callbackUrl

if present, "Back to website" link will be displayed on the success page. When a user clicks on it, we will redirect him to the provided URL. It supports placeholders which will be replaced by order data: {orderId}, {transactionHash}, {usdcAmount}, {airtimeAmount}, {network}, {address}. For example the next URL https://example.com/success/{orderId}/{usdcAmount} will be converted to something like https://example.com/success/648b3095a9f38d8b7b2da748/5.45. [Warning] provided URL should be encoded, example

callbackBtnText

Text of the button that is displayed when callbackUrl is provided. Default is: "Back to website"

phone

phone number to prefill the phone number fields

closeBtn

text of the button that will be displayed on the success page. If not provided, the button will not be displayed. On click, it will send a close-iframe iframe event, so an integrator can close the widget.

redirectUrl

if present, user will be redirected to this URL on order fail or success. It supports placeholders which will be replaced by order data: {orderId}, {transactionHash}, {usdcAmount}, {airtimeAmount}, {network}, {address}, {status}, {failReason}. {status} placeholder can the next values: success or fail. Fail reason placeholder can the next values: transaction_failure or agent_rejected. For example the next URL https://example.com/success/{orderId}/{usdcAmount} will be converted to something like https://example.com/success/648b3095a9f38d8b7b2da748/5.45. [Warning] provided URL should be encoded, example

quoteId

id of a quote returned from the price API request.

hideSwitch

if present, hides the Buy/Sell switch at the top

Parameters allowed only for registered merchants:

ParameterDescription

orderParams

This parameter will be sent to a merchant webhook after the success of the crypto transfer.

source

parameter used to match an order to a merchant if the merchant operates by a huge amount of wallets and can't provide them in the merchant dashboard. Merchants should request our support to assign a source to their accounts.

Here is an example of a URL with parameters:

https://pay.fonbnk.com?amount=1&freezeAmount=1&freezeWallet=1&network=POLYGON&address=0x8a9c67fee641579deba04928c4bc45f66e26343

Skipping screens

The first two screens where a user provides an order amount and his wallet details can be skipped, so the user sees a phone verification screen right away. To achieve that, you need to open the /phone page and provide the next parameters: provider, network, address, address, amount, currency, country. So the URL would look something like this:

https://pay.fonbnk.com/phone?provider=bank_transfer&network=POLYGON&amount=3&currency=usdc&address=0x91b0a33dbcb10f8331eD3627B94e5a9B1591269f&country=NG

Last updated