Skip to main content

Структура 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_mismatch
  • declined може мати або не мати дані депозиту, залежно від того, чи були отримані депозити до відхилення
  • Суми поповнення є кумулятивними за кількома депозитами (кожен вебхук was_final_exchange додається до загальної суми)
  • Для currency_mismatch поле currency показує, що очікувалося, а receivedCurrency — що було фактично надіслано