Криптоперевод отправляет плательщик, а не списывает продавец, поэтому пришедшая сумма не всегда совпадает с суммой счёта и не всегда приходит вовремя. CryptoLike обрабатывает такие случаи в рамках тех же шести статусов платежа и сообщает о каждом подписанным вебхуком. Разбираем недоплату, переплату, поздний и истёкший платёж: что видит плательщик, что получает ваш сервер и что делать дальше.
Недоплата, переплата, опоздание и истечение срока в одной таблице
CryptoLike обрабатывает каждое отклонение по-своему: недоплата оставляет платёж открытым, переплата всё равно его завершает, поздний перевод зачисляется без смены статуса, а истечение срока закрывает платёж. Одни и те же строки статусов видны в API, на странице оплаты и в вебхуках, поэтому логика заказа может ветвиться по одному полю.
| Случай | Статус | Какое поле смотреть | Вебхук | Плательщик видит | Ваш следующий шаг |
|---|---|---|---|---|---|
| Меньше суммы, срок не истёк | underpaid |
remaining_amount |
invoice.underpaid |
«Получена часть суммы … Отправьте оставшиеся … на тот же адрес.» | Дождаться доплаты |
| Меньше суммы, срок истёк | underpaid (конечный) |
paid_amount, remaining_amount |
invoice.expired |
«Срок платежа истёк, получена часть суммы … Свяжитесь с продавцом, чтобы решить вопрос.» | Отгрузить за полученную сумму, запросить остаток или вернуть деньги |
| Больше суммы | paid |
overpaid_amount |
invoice.paid |
«Платёж подтверждён. Излишек зачислен продавцу.» | Отгрузить; рассчитаться с клиентом за излишек |
| Средства после закрытия платежа | не меняется | late_payment: true |
invoice.late_payment |
— | Выполнить заказ или вернуть деньги |
| К сроку ничего не подтверждено | expired |
expired_at |
invoice.expired |
«Срок платежа истёк. Создайте новый платёж.» | Создать новый платёж, если клиент всё ещё хочет оплатить |
Источник: модель статусов CryptoLike и контракт вебхуков, по состоянию на 2026-09-24.
Что происходит при недоплате?
Если подтверждённая сумма меньше суммы к оплате, платёж CryptoLike переходит в underpaid, а вам приходит invoice.underpaid. Платёж остаётся открытым: плательщик может отправить недостающую часть на тот же адрес до ttl_expires_at, и доплата, которая покрывает остаток, переводит платёж в paid. Поле remaining_amount всегда показывает, сколько не хватает.
Страница оплаты показывает плательщику точный остаток: «Получена часть суммы: 40 из 50 USDT. Отправьте оставшиеся 10 USDT на тот же адрес.» Ссылка «открыть в кошельке» у недоплаченного платежа уже содержит остаток, а не исходную сумму; в Bitcoin и Litecoin — и QR-код. Ещё до подтверждений страница показывает обнаруженную сумму рядом с суммой к оплате, так что недостача видна сразу, как только перевод появился в сети.
Небольшая недостача не всегда означает недоплату: если она в пределах допуска на недоплату, заданного для вашего аккаунта, — по умолчанию 0,5 % суммы, — платёж считается paid. Короткое определение — в глоссарии, в статье недоплаченный платёж.
Что будет, если срок истёк, а оплачена только часть?
Когда срок истекает, недоплаченный платёж CryptoLike становится конечным: статус остаётся underpaid, заполняется expired_at, а вам приходит invoice.expired со статусом underpaid в данных. Полученная часть уже зачислена на ваш баланс. Плательщик видит, что срок истёк и получена только часть суммы, и просьбу связаться с продавцом.
Решение за вами, вариантов три:
- Отгрузить за полученную сумму, если разница для вас приемлема.
- Запросить остаток отдельным платежом на недостающую сумму — например, счётом в криптовалюте из кабинета. Плагин магазина не откроет второй платёж для заказа, по которому уже пришли средства: такие заказы уходят в статус проверки, и решение принимает человек.
- Вернуть деньги — выплатой с вашего баланса на адрес, который укажет клиент.
Что происходит при переплате?
Отдельного статуса для переплаты в CryptoLike нет. Платёж становится paid, вся полученная сумма зачисляется на ваш баланс, а invoice.paid несёт overpaid_amount больше нуля. Если следующий перевод на тот же адрес увеличит излишек, invoice.paid придёт снова с новым overpaid_amount. Плательщик видит «Платёж подтверждён. Излишек зачислен продавцу.»
Что делать: отгрузите заказ как обычно, затем рассчитайтесь с клиентом за излишек — верните его выплатой или, если вы договорились, учтите в следующем заказе. Плагины магазинов добавляют к заказу заметку о переплате. Короткое определение — в глоссарии, в статье платёж с переплатой.
Что происходит, если платёж пришёл поздно?
Поздний платёж — это перевод, подтверждённый после того, как платёж CryptoLike закрылся: истёк, был отменён или окончательно недоплачен. Средства всё равно зачисляются на ваш баланс, у платежа появляется late_payment: true, а вам приходит invoice.late_payment. Статус не меняется: истёкший платёж остаётся expired, поэтому автоматически ничего не отгружается.
Частая причина поздних платежей — перевод, отправленный под самый конец срока: платёж закрывается как expired, пока перевод ещё набирает подтверждения, и средства приходят поздним платежом, когда порог достигнут. Почему это ожидание в разных сетях разное, объясняет статья о подтверждениях криптоплатежа.
Что делать: уточните, нужен ли клиенту заказ. Если да — выполните его, если нет — верните деньги выплатой. Плагины магазинов никогда не помечают такие заказы оплаченными сами — они переводят их в статус проверки, чтобы решили вы.
Что значит «срок платежа истёк» и как это исправить?
Истёкший платёж CryptoLike — это платёж, срок которого прошёл, а подтверждённых переводов не было. Статус expired закрывает платёж: оплатить его со страницы оплаты уже нельзя, а вам приходит invoice.expired. Плательщик видит «Срок платежа истёк. Создайте новый платёж.» Исправляется это новым платежом — из оформления заказа в магазине, новым счётом или новой ссылкой на оплату.
Срок задаётся для каждого платежа полем ttl_seconds, от 60 секунд до 30 дней, или берётся из настроек аккаунта. Сразу после срока платёж может до 30 с показывать seconds_left = 0, прежде чем закроется; страница показывает, что срок истекает. Если деньги всё же придут на истёкший платёж, они не потеряются: их зачислят как поздний платёж. Короткое определение — в глоссарии, в статье истёкший платёж.
Как вернуть деньги клиенту?
Возврат в CryptoLike — это выплата: вы отправляете сумму с доступного баланса на адрес, который укажет клиент, в кабинете или через POST /v1/withdrawals. Сначала запросите расчёт — он покажет комиссию платформы, зарезервированную комиссию сети и итоговое списание до подтверждения. Актуальные ставки — на странице тарифов.
Перед отправкой:
- Сверьте с клиентом адрес и сеть. Возврат уходит в сети того актива, который вы отправляете; перевод на неверный адрес отменить нельзя.
- Добавьте адрес в белый список, если для аккаунта включён белый список адресов выплат; иначе выплата будет отклонена. Новый адрес становится доступным через 24 часа после добавления, поэтому добавляйте его заранее.
- Передайте свой
payout_id, например номер заказа, чтобы повтор запроса никогда не заплатил дважды.
Для выплат нужен верифицированный аккаунт. Через API нужен ещё ключ с правом withdraw, в кабинете — свежий код 2FA.
Как сократить недоплаты и поздние платежи?
Большинство недоплат в CryptoLike возникает, когда плательщик отправляет не ту сумму, что показана на странице, а большинство поздних платежей — когда срок слишком короткий для сети. Несколько настроек и простых привычек сокращают и то и другое без каких-либо изменений в вашей интеграции.
- Показывайте точную сумму и сеть. Страница оплаты это делает; если вы выводите сумму где-то ещё, берите
payer_amount— он уже включает комиссию платформы, если её несёт плательщик. - Напоминайте о комиссии биржи за вывод. При оплате с биржевого аккаунта сумма, которая придёт, должна совпадать с суммой на странице уже после комиссии самой биржи.
- Дайте сети достаточно времени. Выбирайте
ttl_secondsс учётом времени подтверждения актива; активы и их пороги — в каталоге монет. - Подпишитесь на все события
invoice.*. Участия человека требуютinvoice.underpaid,invoice.late_paymentиinvoice.reverted; список — в документации по вебхукам. Оплаченный платёж может вернуться вunderpaid, если реорганизация блокчейна откатит один из его подтверждённых переводов, — см. статью почему «обнаружен» ≠ «оплачен».
Другие ответы о статусах и выплатах — на странице вопросов и ответов.
Вопросы и ответы
Может ли клиент доплатить недоплаченный платёж?
Да, до истечения срока. Клиент отправляет недостающую сумму на тот же адрес; страница оплаты показывает остаток. Когда доплата подтверждена, платёж становится paid, а вам приходит invoice.paid.
Зачисляется ли переплата на мой баланс?
Да, зачисляется вся полученная сумма. Платёж в статусе paid, а overpaid_amount в invoice.paid и в GET /v1/invoices/{id} показывает излишек, чтобы вы могли рассчитаться с клиентом.
Что будет с деньгами, отправленными после истечения срока?
Они зачисляются на ваш баланс как поздний платёж: у платежа появляется late_payment: true, вам приходит invoice.late_payment, а статус остаётся expired. Решите с клиентом, выполнять заказ или вернуть деньги.
Может ли недоплаченный платёж стать expired?
Нет. После срока недоплаченный платёж остаётся underpaid и становится конечным; вам приходит invoice.expired со статусом underpaid. Статус expired — только для платежей, по которым ничего не подтверждено.
Как вернуть клиенту деньги в криптовалюте?
Отправьте выплату с баланса на адрес, который укажет клиент, — в кабинете или через POST /v1/withdrawals. Сначала проверьте расчёт, заранее добавьте адрес в белый список, если этого требует аккаунт (новый адрес доступен через 24 часа), и передайте payout_id, чтобы повтор не заплатил дважды.