CChainPay
Увійти

Прийом 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"
  }'

Що повідомляє вебхук

Кожен депозит відстежується й переказується окремо, а вебхук описує актив, що справді надійшов:

{
  "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);
}

Що варто знати

Дивіться також