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, LISK |
| asset | Wallet asset. Supported values: USDC,CUSD,USDT,USDC_E depending on network. Default value is USDC for all networks what support it except CELO, for CELO it's CUSD. Supported network/asset pairs: AVALANCHE (USDC), POLYGON (USDC, USDC_E, USDT), CELO (CUSD, USDC), STELLAR (USDC), ALGORAND(USDC), SOLANA (USDC), TRON (USDT), BASE (USDC), OPTIMISM (USDC), NEAR (USDC), ETHEREUM (USDC) LISK (USDT) |
| memo | Memo for the transaction |
| amount | If a currency is not provided, it will be an amount of USDC/USDT/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 |
| 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. |
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