URL Parameters
List of parameters
Here is the list of parameters that can be added to the URL:
Parameter | Description |
---|---|
address | Address of the wallet you want to send USDC/cUSD to |
network | Wallet network. Supported values: POLYGON, ETHEREUM, STELLAR, AVALANCHE, SOLANA, ALGORAND, TRON, CELO, BASE, OPTIMISM, NEAR |
memo | Memo for the transaction |
amount | If a currency is not provided, it will be an amount of USDC/cUSD received after fees. If currency is airtime it will be the amount of airtime a user should spend. |
minAmount | Minimum amount of order in USDC/cUSD |
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 |
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 |
Params allowed only for registered merchants:
Parameter | Description |
---|---|
orderParams | This parameter will be sent to a merchant webhook after the success of the USDC/cUSD 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:
Skipping screens
The first two screens where a user provides an order amount and his wallet details can be skipped, so user sees a phone verification screen right away.
To do 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¤cy=usdc&address=0x91b0a33dbcb10f8331eD3627B94e5a9B1591269f&country=NG