Криптопроцессинг — это сервис, который принимает криптовалюту за бизнес: выдаёт плательщику адрес и сумму, следит за сетью, решает, когда деньги считаются полученными, и сообщает об этом системам бизнеса. Ниже — путь одного платежа в CryptoLike от создания до выплаты, шаг за шагом, со статусами и событиями, которые видит ваша интеграция на каждом этапе. Способы подключения к сайту описаны в руководстве как принимать криптовалюту на сайте.
Что такое криптопроцессинг?
Криптопроцессинг — это приём криптовалютных платежей за бизнес с результатом в понятных бизнесу терминах: оплачен, недоплачен, истёк. CryptoLike — платформа криптопроцессинга: бизнес принимает Bitcoin, Litecoin, Ethereum, TRON и стейблкоины USDT/USDC через REST API, плагины для CMS, ссылки на оплату и страницу оплаты, получает результат подписанным вебхуком и делает выплаты с одного баланса.
Без криптопроцессинга бизнесу пришлось бы публиковать собственный адрес кошелька, вручную сопоставлять входящие переводы с заказами, считать подтверждения и пересчитывать цены по курсу. Процессинг превращает всё это в поля одного объекта — платежа — с одним статусом, одинаковым в API, на странице оплаты и в вебхуках.
На практике это зависит от бизнеса: интернет-магазин подключает плагин, сервис цифровых товаров или SaaS вызывает API, а сервис с балансами пользователей выдаёт каждому статический адрес для пополнений. Шаги ниже одинаковы для всех трёх случаев. Если вы ещё выбираете провайдера, сверьтесь со списком 10 вопросов, как выбрать криптопроцессинг.
Шаг 1. Создаётся платёж
Любой платёж в CryptoLike начинается как один объект с суммой, валютой и сроком действия; он создаётся в статусе new. Цену можно указать в монете (USDT, BTC) или в фиате (USD, EUR). Платёж создаёт ваш сервер через POST /v1/invoices, плагин CMS при оформлении заказа или вы сами в кабинете — как инвойс или ссылку на оплату.
В ответе приходят checkout_url — страница, куда отправить плательщика, — и ttl_expires_at, срок оплаты. Срок задаётся для каждого платежа полем ttl_seconds (от 60 секунд до 30 дней) или берётся из настроек аккаунта. От повторного создания защищают два механизма: заголовок Idempotency-Key возвращает тот же ответ в течение 24 часов, а idempotency_by_order_id отдаёт открытый платёж заказа вместо нового.
Тот же объект получается и другими путями: ссылка на оплату из кабинета или Telegram-бота, счёт в криптовалюте, отправленный клиенту. Все они ведут на одну и ту же страницу оплаты.
Шаг 2. Плательщик открывает страницу оплаты
Страница оплаты CryptoLike показывает все важные параметры до того, как плательщик что-то сделает: сумму к отправке, актив и его сеть, адрес с QR-кодом и оставшееся время. Если вы не зафиксировали актив, плательщик сначала выбирает, чем платить, из предложенных вами монет, и у каждой видит ориентировочную сумму со знаком ≈; курс фиксируется в этот момент и не меняется до истечения срока платежа. У иконок токенов, например USDT, есть значок их сети.
Рядом с адресом страница показывает предупреждение о сети, например: «Отправляйте на этот адрес только BTC в сети Bitcoin. Средства, отправленные в другой сети, вернуть невозможно.» Статус на странице обновляется сам, перезагружать её не нужно. Страница открывается отдельно или внутри вашего оформления заказа через виджет оплаты.
Шаг 3. Перевод обнаружен: pending
Как только перевод плательщика появляется в сети, платёж CryptoLike переходит в pending, а страница пишет «Платёж обнаружен. Ожидаем подтверждения.». Обнаруженная сумма показывается сразу, поэтому недостача видна ещё до подтверждений. Сумма учитывается в вашем балансе pending, но тратить её пока нельзя: на этом этапе перевод ещё может исчезнуть из цепочки.
Ваш сервер получает invoice.pending с идентификатором транзакции в details. Отгружать по pending не нужно: это лишь сигнал, что клиент что-то отправил.
Шаг 4. Набираются подтверждения
Подтверждение — это блок, построенный поверх блока с переводом. CryptoLike зачисляет платёж, только когда перевод набрал порог подтверждений своего актива. Порог задаётся для каждого актива, публикуется в GET /v1/currencies и в каталоге монет, а плательщик видит его как «n из N подтверждений, обычно около X мин».
Порог защищает от реорганизаций блоков, когда сеть заменяет последние блоки и перевод может пропасть. Если реорганизация откатит уже подтверждённый перевод, платёж пересчитывается и приходит invoice.reverted. Почему пороги в разных сетях разные, объясняет статья о подтверждениях криптоплатежа; список активов — в каталоге монет.
Шаг 5. Статус paid и подписанный вебхук
Когда подтверждённая сумма покрывает платёж — недостача в пределах небольшого допуска (по умолчанию 0,5 %) не мешает, — CryptoLike ставит статус paid, зачисляет средства на ваш баланс и отправляет invoice.paid. Плательщик видит «Платёж подтверждён.» и, если вы указали return_url, ссылку обратно на сайт. Статус paid конечный: по нему отгружают заказ. Переплата — тоже paid, с overpaid_amount больше нуля.
Каждый вебхук — это JSON-событие с подписью HMAC-SHA256 от метки времени и сырого тела запроса; ваш сервер проверяет подпись вебхука и отвечает 2xx в течение 10 секунд. Неудачная доставка повторяется через 1 мин, 5 мин, 15 мин, 1 ч, 6 ч и 24 ч, всегда с тем же event_id, поэтому обработчик сохраняет идентификатор и пропускает повторы. Вместо вебхуков можно опрашивать GET /v1/invoices/{id}, не чаще чем раз в несколько секунд. Полный контракт — в документации по вебхукам.
{
"event_id": "6f1c2c1e-3b2a-4d5e-8f90-1234567890ab",
"type": "invoice.paid",
"created_at": "2023-11-14T22:13:20Z",
"data": { "invoice": { "id": "0e8c9a4b-1111-4222-8333-444455556666", "status": "paid" } }
}Шаг 6. Баланс и выплата
Подтверждённый платёж CryptoLike попадает на ваш баланс этого актива за вычетом комиссии платформы: каждая строка GET /v1/transactions показывает валовую сумму amount, комиссию fee и net_amount. Комиссия платформы списывается только при подтверждении и зачислении платежа; актуальные ставки — на странице тарифов, с датой «по состоянию на».
Балансы ведутся по каждому активу: available, pending и hold. С available вы отправляете выплаты на внешние адреса — по одной через API или пакетом из кабинета. Сначала запросите расчёт: он покажет комиссию платформы, зарезервированную комиссию сети и итоговое списание до подтверждения. Адреса выплат можно ограничить белым списком, а выплаты из кабинета или Telegram выше вашего порога — вторым подтверждением. Выплата завершается статусом completed либо возвращает деньги в available со статусом failed, rejected или cancelled.
Статусы платежа в одной таблице
У платежа CryptoLike шесть статусов, и одна и та же строка статуса видна в API, на странице оплаты и в вебхуках. Три статуса конечные сразу — paid, expired, cancelled, — а underpaid становится конечным после истечения срока; открыть истёкший или недоплаченный платёж заново, продлив срок, может только оператор CryptoLike. В таблице для каждого статуса — событие, которое получает ваш сервер, и текст, который читает плательщик.
| Статус | Что означает | Вебхук | Плательщик видит | Конечный |
|---|---|---|---|---|
new |
Создан, ничего не получено | invoice.created |
«Ожидаем оплату. Отправьте ровно 49.90 USDT на адрес ниже.» | нет |
pending |
Перевод обнаружен, ждём подтверждений | invoice.pending |
«Платёж обнаружен. Ожидаем подтверждения.» | нет |
paid |
Сумма подтверждена с учётом допуска недоплаты и зачислена | invoice.paid |
«Платёж подтверждён.» | да |
underpaid |
Подтверждено меньше суммы сверх допуска; тот же адрес открыт для доплаты до срока | invoice.underpaid |
«Получена часть суммы: 40 из 49.90 USDT. Отправьте оставшиеся 9.90 USDT на тот же адрес.» | после истечения срока |
expired |
Срок истёк, подтверждённых переводов не было | invoice.expired |
«Срок платежа истёк. Создайте новый платёж.» | да |
cancelled |
Вы отменили платёж; возможно только из new |
invoice.cancelled |
«Платёж отменён продавцом. Если вы всё ещё хотите оплатить, запросите у продавца новый платёж.» | да |
Источник: модель статусов CryptoLike и контракт вебхуков, по состоянию на 2026-09-24.
Что если платёж пошёл не по плану?
CryptoLike обрабатывает три частых отклонения, не меняя модель статусов. Недоплата сверх допуска становится underpaid с remaining_amount и остаётся открытой для доплаты; переплата — это paid с overpaid_amount; средства, пришедшие после закрытия платежа, всё равно зачисляются с late_payment: true и событием invoice.late_payment, а статус остаётся прежним.
Для каждого случая есть следующий шаг и для вас, и для плательщика. Статья о недоплате, переплате и позднем платеже разбирает их по очереди. Для истёкшего платежа всё просто: срок платежа истёк — создайте новый платёж.
Вопросы и ответы
Чем криптопроцессинг отличается от кошелька?
Кошелёк хранит ключи и отправляет или принимает переводы. Криптопроцессинг, такой как CryptoLike, создаёт платёж на фиксированную сумму со сроком, выдаёт плательщику адрес, считает подтверждения и сообщает результат вашим системам статусом и подписанным вебхуком. Поднимать ноду и хранить ключи вам не нужно.
Когда отгружать заказ?
По статусу paid, который приходит вместе с invoice.paid. pending означает только, что перевод замечен в сети. Если реорганизация позже откатит подтверждённый перевод, придёт invoice.reverted — остановите выполнение заказа до нового invoice.paid.
Как сервер узнаёт, что платёж оплачен?
Из подписанного вебхука invoice.paid или запросом GET /v1/invoices/{id}. Вебхуки доставляются как минимум один раз и повторяются с тем же event_id, поэтому проверьте подпись, сохраните идентификатор и пропускайте повторы.
Можно ли указать цену в долларах?
Да. Передайте в currency фиатный код, например USD. Плательщик выберет актив на странице оплаты из монет, доступных для инвойсов, курс зафиксируется в этот момент, а в платеже сохранятся фиатная сумма, зафиксированный курс и сумма в криптовалюте.
Можно ли проверить всё до запуска?
Да. Используйте тестовые ключи и тестовые сети: ключи с префиксом ck_test_ вместе с тестовым URL API от поддержки CryptoLike работают с тестовыми сетями, тестовые монеты ничего не стоят, а прислать их может поддержка CryptoLike. Эталонный вектор подписи из документации по подписи запросов за один вызов покажет, верно ли вы подписываете запросы.