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 — что было фактически отправлено