Reference
This sections provides some meta info i.e. addresses and links
Telegram Online Support
You can ask any questions at our Telegram Official Support Chat
Query params for payment page
Params with ? are marked as optional (could also be optional at some conditions) and you should not add ? to query string
| Param | Explanation |
|---|---|
| amount? | Float represesntaion of amount in USD. Uses when you want to enable auto estimation for currencies amount, so you can omit it only when amount for all currencies is provided directly. Examples: 100, 0.45. You can also pass ask value to allow the buyer enter the amount by himself |
| testnets? | Show testnets for acceptables networks. Default: 0 |
| receiver | Ethereum address to receive cryptocurrencies. Recommend to use one of non-custodial wallet for such purposes because if allows to manage one public/private keys pair per many networks |
| payload | A number from 0 to 2**256 - 1. You can access this field at your appliaction-side to identify what this payment is made for |
| accept | Discussed below |
About accept param
accept param contains accptable assets represented in such format:
accept={CURRENCY_NAME1}/{CHAIN_IDS1}/{AMOUNT1};{CURRENCY_NAME2}/{CHAIN_IDS2}/{AMOUNT2}...
Where:
* CURRENCY_NAME: currency symbol from DFKassa presets OR ERC20 contract address
* CHAIN_IDS: comma-divided acceptable chain ids for this token. You can explore chain ids at Chainlist
* AMOUNT: human-represented (as float) currency amount (DFKassa will convert it to real amount using decimals) OR auto. auto requires amount= param existance.
Example:
accept=ETH/1,5,42161/auto;MATIC/137/100;0x123123123.../56,42161/auto
See How amount is calculated for custom token when its amount is auto?
List label presets:
| Labels | Networks |
|---|---|
| ETH | Ethereum mainnet, Arbitrum One, Goerli Testnet, Optimism |
| USDT | Ethereum mainnet, Arbitrum One, Goerli Testnet, Optimism, Polygon, BSC |
| USDC | Ethereum mainnet, Arbitrum One, Goerli Testnet, Optimism, Polygon, BSC |
| DAI | Ethereum mainnet, Arbitrum One, Goerli Testnet, Optimism, Polygon, BSC |
| BUSD | BSC |
| BNB | BSC |
| MATIC | Polygon |
| TERC20 | Goerli Testnet |
| ARB | Arbitrum One |
| WBTC | Etehreum mainnet, Arbitrum One |
| OP | Optimism |
Contract addresses & ABIs
There are all contract addresses and ABIs cheet sheet. You can add this .env file to your project and source it to use addresses and ABIs from environment
DFKASSA_CONTRACT_ADDRESS_ETH_MAINNET="0x9980A2622a257A5Ab593eaD7adcBc99F37f6C744"
DFKASSA_CONTRACT_ADDRESS_BSC_MAINNET="0x9980A2622a257A5Ab593eaD7adcBc99F37f6C744"
DFKASSA_CONTRACT_ADDRESS_POLYGON_MAINNET="0x9980A2622a257A5Ab593eaD7adcBc99F37f6C744"
DFKASSA_CONTRACT_ADDRESS_ARBITRUM_MAINNET="0x9980A2622a257A5Ab593eaD7adcBc99F37f6C744"
DFKASSA_CONTRACT_ADDRESS_OPTIMISM_MAINNET="0x9980A2622a257A5Ab593eaD7adcBc99F37f6C744"
DFKASSA_CONTRACT_ADDRESS_GOERLI_TESTNET="0xeDB7a8A4d2189Cc632AF6AcaFE6eE81239C2C7df"
DFKASSA_CONTRACT_ABI='[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"payload","type":"uint256"},{"indexed":true,"internalType":"address","name":"merchant","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"address","name":"reciever","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"indexed":false,"internalType":"struct Tip[]","name":"tips","type":"tuple[]"}],"name":"NewPayment","type":"event"},{"inputs":[{"internalType":"address payable","name":"_merchant","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint256","name":"_payload","type":"uint256"},{"components":[{"internalType":"address","name":"reciever","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct Tip[]","name":"_tips","type":"tuple[]"}],"name":"pay","outputs":[],"stateMutability":"payable","type":"function"}]'
TOKEN_USD_ORACLE_ADDRESS_ETH_MAINNET="0xD96891EAE74489463aA3FA834dd3eC87c4E6C7a7"
TOKEN_USD_ORACLE_ADDRESS_BSC_MAINNET="0xD96891EAE74489463aA3FA834dd3eC87c4E6C7a7"
TOKEN_USD_ORACLE_ADDRESS_POLYGON_MAINNET="0xD96891EAE74489463aA3FA834dd3eC87c4E6C7a7"
TOKEN_USD_ORACLE_ADDRESS_ARBITRUM_MAINNET="0xD96891EAE74489463aA3FA834dd3eC87c4E6C7a7"
TOKEN_USD_ORACLE_ADDRESS_OPTIMISM_MAINNET="0xD96891EAE74489463aA3FA834dd3eC87c4E6C7a7"
TOKEN_USD_ORACLE_ADDRESS_GOERLI_TESTNET="0x2db2e05340489d64ff441870925d998e247fe8f4"
TOKEN_USD_ORACLE_CONTRACT_ABI='[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"calcE18","outputs":[{"internalType":"uint256","name":"_priceInUsd","type":"uint256"},{"internalType":"uint256","name":"_amountInUsd","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"calcE2","outputs":[{"internalType":"uint256","name":"_priceInUsd","type":"uint256"},{"internalType":"uint256","name":"_amountInUsd","type":"uint256"}],"stateMutability":"view","type":"function"}]'