Прийом BNB, ETH і токенів на одній адресі для депозитів
За замовчуванням адреса для депозитів стежить за одним активом, наприклад bep20/usdt. З multiToken одна адреса приймає нативну монету мережі та кожен підтримуваний токен цієї мережі. Це зручно для гаманців і поповнень, де користувачі надсилають те, що в них є.
Створіть мультитокенну адресу
curl -X POST https://api.chainpay.site/deposit-address \
-H 'content-type: application/json' \
-d '{
"ticker": "bnb",
"multiToken": true,
"callbackUrl": "https://shop.example.com/crypto-webhook?token=SECRET",
"forwardAddress": "0xYourOwnBscWallet...",
"externalReference": "user-42"
}'
- Використовуйте голий нативний тікер:
trxдля TRON,bnbдля BNB Smart Chain,ethдля Ethereum. multiToken: trueробить адресу приймальною для нативної монети й кожного підтримуваного токена (TRC20, BEP20, ERC20).- Беріть стабільний
externalReferenceна користувача: адреса постійна й може приймати багато депозитів.
Що повідомляє вебхук
Кожен депозит відстежується й переказується окремо, а вебхук описує актив, що справді надійшов:
{
"status": "confirmed",
"externalReference": "user-42",
"chain": "bsc",
"tokenSymbol": "BNB",
"tokenAddress": null,
"isNative": true,
"amount": "0.842000000000000000",
"txHash": "0x…"
}
Для переказу токена isNative — false, а tokenSymbol / tokenAddress ідентифікують токен. Розгалужуйте логіку за цими полями:
function handleDeposit(event) {
if (event.status !== 'confirmed') return;
const { externalReference, tokenSymbol, isNative, amount } = event;
// credit `amount` of `tokenSymbol` to the user identified by externalReference
creditBalance(externalReference, tokenSymbol, amount);
}
Що варто знати
- Непідтримувані токени не зараховуються. Переказ токена поза списком підтримуваних ігнорується — це захищає від спам-токенів.
- Переказ від контракту в EVM не виявляється. Платіж, надісланий смарт-контрактом (internal transfer, наприклад деякі виводи з бірж), поки не зараховується. Звичайні перекази гаманець-гаманець і переказ токенів працюють.
- Комісія для нативної монети. Нативні депозити оплачують вартість мережі з самого депозиту, тож дуже малі нативні суми можуть вважатися пилом.
- Пороги й комісії застосовуються окремо до кожного активу. Див. Pricing і Networks.