К содержимому

Словарь

Недоплата

Криптоплатёж, по которому подтверждённые переводы в сумме меньше требуемого: заказ ещё не покрыт, и плательщик должен отправить разницу.

Как это работает в CryptoLike

CryptoLike ставит платежу статус underpaid, когда подтверждённый перевод покрывает меньше payer_amount, а нехватка выходит за допуск на недоплату в настройках вашего аккаунта. Платёж остаётся открытым: плательщик может отправить недостающее на тот же адрес до ttl_expires_at, а поле remaining_amount показывает, сколько именно не хватает. Доплата, закрывающая сумму, переводит платёж в paid.

Вам приходит вебхук invoice.underpaid с paid_amount и remaining_amount. Страница оплаты показывает, сколько уже получено, и просит отправить остаток на тот же адрес; QR-код и платёжная ссылка для кошелька содержат уже остаток, а не исходную сумму. Ещё до подтверждения страница сравнивает замеченную в сети сумму с требуемой, так что плательщик сразу видит, что перевёл меньше.

Когда срок оплаты истёк, underpaid становится финальным (is_final: true, заполнено expired_at), а страница предлагает плательщику связаться с продавцом. Полученная часть остаётся на вашем балансе. Решите с клиентом: засчитать её, запросить остаток новым платежом или вернуть выплатой. Средства, пришедшие позже, зачисляются как поздний платёж (invoice.late_payment). Небольшая нехватка в пределах допуска считается paid. Частая причина — биржа, которая вычитает свою комиссию за вывод из отправляемой суммы; подробнее — недоплаты в криптоплатежах.

Пример

Вебхук CryptoLike invoice.underpaid несёт полное текущее состояние платежа, поэтому обработчик может показать клиенту недостающую сумму и крайний срок без дополнительного запроса к API. Значения ниже условные, а названия полей — часть контракта и не меняются. Остаток к доплате всегда берите из remaining_amount:

json
{
  "type": "invoice.underpaid",
  "data": {
    "invoice": {
      "status": "underpaid",
      "ticker": "USDT",
      "payer_amount": "25",
      "paid_amount": "20",
      "remaining_amount": "5",
      "ttl_expires_at": "2026-09-16T12:30:00Z"
    }
  }
}

В документации →

Связанные термины

Читать дальше

Начните с тестового платежа

Создайте аккаунт, попросите у поддержки доступ к тестовой среде и посмотрите, как платёж проходит путь от pending до paid в тестовой сети.