Skip to content

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

.env
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"}]'