Структура Payload
Кожна подія містить об’єктdata з даними на момент події. Структура payload однакова для всіх типів подій, але значення полів відрізняються залежно від типу транзакції та етапу її життєвого циклу.
Пояснення полів сум
Є чотири поля, пов’язані з сумами, і вони мають різне призначення залежно від типу транзакції.Виведення (Buy)
Якщо інтегратор передає
includeFeeInAmount: true, розрахунок змінюється на зворотний: expectedAmount = початкова сума, requestedAmount = початкова сума - networkFee. Співвідношення завжди: expectedAmount = requestedAmount + networkFee.
usdtTotal розраховується так: конвертувати expectedAmount в USDT за попереднім курсом, потім додати буфер утримання 1.25%. Це загальна сума USDT, що списується з балансу мерчанта. Після конвертації надлишок утримання повертається.
Приклад:
Поповнення (Sale)
Для поповнення
requestedAmount та expectedAmount завжди однакові. Поле amount показує фактичну загальну отриману суму. Порівнюючи amount з expectedAmount, система визначає статус транзакції: Paid (сума рівна), Overpaid (сума більше), Underpaid (сума менше).
Приклад:
Значення статусів
Логіка валют
Полеcurrency відображає те, що очікувалося, а не те, що було фактично отримано:
- Виведення: цільова криптовалюта, що купується (наприклад,
"TRX","BTC") - Поповнення: очікувана криптовалюта для депозиту з конфігурації замовлення (наприклад,
"BTC")
receivedCurrency (див. нижче).
Поля отримання (receivedCurrency, receivedNetwork, receivedAmount)
Ці три поля відображають те, що фактично було внесено в блокчейн для конкретного депозиту. Вони заповнюються тільки для події deposit_received і завжди null для всіх інших подій.
receivedAmountмістить суму окремого депозиту з конкретного вебхуку, а НЕ кумулятивний підсумок (використовуйтеamountдля кумулятивного)receivedCurrency— тікер криптовалюти конкретного депозитуreceivedNetwork— блокчейн-мережа депозиту
Деталі полів за подіями
Події виведення
Події поповнення
Примітки:
deposit_receivedзавжди відправляється разом з одним із:completed,overpaid,underpaidабоcurrency_mismatchdeclinedможе мати або не мати дані депозиту, залежно від того, чи були отримані депозити до відхилення- Суми поповнення є кумулятивними за кількома депозитами (кожен вебхук
was_final_exchangeдодається до загальної суми) - Для
currency_mismatchполеcurrencyпоказує, що очікувалося, аreceivedCurrency— що було фактично надіслано