# Криптопроцессинг: что это и как он работает

> Что такое криптопроцессинг и как проходит платёж: страница оплаты, обнаружение перевода, подтверждения, подписанный вебхук, баланс и выплата — шаги в CryptoLike.

Source: https://cryptolike.net/ru/blog/how-crypto-payment-gateway-works
Published: 2026-09-24 · Updated: 2026-10-04 · Author: CryptoLike team

Главное:

- Платёж в криптопроцессинге проходит статусы new, pending и paid; underpaid, expired и cancelled описывают остальные исходы.
- Страница оплаты показывает сумму, сеть, адрес и оставшееся время до того, как плательщик что-либо отправит.
- Статус paid значит, что перевод набрал порог подтверждений актива и средства уже на вашем балансе.
- Результат ваш сервер узнаёт из подписанного вебхука или из GET /v1/invoices/{id}, после чего вы отгружаете заказ и делаете выплаты с того же баланса.

Криптопроцессинг — это сервис, который принимает криптовалюту за бизнес: выдаёт плательщику адрес и сумму, следит за сетью, решает, когда деньги считаются полученными, и сообщает об этом системам бизнеса. Ниже — путь одного платежа в CryptoLike от создания до выплаты, шаг за шагом, со статусами и событиями, которые видит ваша интеграция на каждом этапе. Способы подключения к сайту описаны в руководстве [как принимать криптовалюту на сайте](https://cryptolike.net/ru/guides/accept-crypto-payments).

## Что такое криптопроцессинг?

Криптопроцессинг — это приём криптовалютных платежей за бизнес с результатом в понятных бизнесу терминах: оплачен, недоплачен, истёк. CryptoLike — платформа криптопроцессинга: бизнес принимает Bitcoin, Litecoin, Ethereum, TRON и стейблкоины USDT/USDC через REST API, плагины для CMS, ссылки на оплату и страницу оплаты, получает результат подписанным вебхуком и делает выплаты с одного баланса.

Без криптопроцессинга бизнесу пришлось бы публиковать собственный адрес кошелька, вручную сопоставлять входящие переводы с заказами, считать подтверждения и пересчитывать цены по курсу. Процессинг превращает всё это в поля одного объекта — платежа — с одним статусом, одинаковым в API, на странице оплаты и в вебхуках.

На практике это зависит от бизнеса: [интернет-магазин](https://cryptolike.net/ru/use-cases/online-stores) подключает плагин, [сервис цифровых товаров или SaaS](https://cryptolike.net/ru/use-cases/digital-goods) вызывает API, а сервис с балансами пользователей выдаёт каждому [статический адрес для пополнений](https://cryptolike.net/ru/use-cases/deposits). Шаги ниже одинаковы для всех трёх случаев. Если вы ещё выбираете провайдера, сверьтесь со списком [10 вопросов, как выбрать криптопроцессинг](https://cryptolike.net/ru/blog/choose-crypto-payment-gateway).

## Шаг 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` отдаёт открытый платёж заказа вместо нового.

Тот же объект получается и другими путями: [ссылка на оплату](https://cryptolike.net/ru/glossary/payment-link) из кабинета или Telegram-бота, [счёт в криптовалюте](https://cryptolike.net/ru/glossary/crypto-invoice), отправленный клиенту. Все они ведут на одну и ту же страницу оплаты.

## Шаг 2. Плательщик открывает страницу оплаты

Страница оплаты CryptoLike показывает все важные параметры до того, как плательщик что-то сделает: сумму к отправке, актив и его сеть, адрес с QR-кодом и оставшееся время. Если вы не зафиксировали актив, плательщик сначала выбирает, чем платить, из предложенных вами монет, и у каждой видит ориентировочную сумму со знаком ≈; курс фиксируется в этот момент и не меняется до истечения срока платежа. У иконок токенов, например USDT, есть значок их сети.

Рядом с адресом страница показывает предупреждение о сети, например: «Отправляйте на этот адрес только BTC в сети Bitcoin. Средства, отправленные в другой сети, вернуть невозможно.» Статус на странице обновляется сам, перезагружать её не нужно. Страница открывается отдельно или внутри вашего оформления заказа через [виджет оплаты](https://cryptolike.net/ru/docs/widget).

## Шаг 3. Перевод обнаружен: pending

Как только перевод плательщика появляется в сети, платёж CryptoLike переходит в `pending`, а страница пишет «Платёж обнаружен. Ожидаем подтверждения.». Обнаруженная сумма показывается сразу, поэтому недостача видна ещё до подтверждений. Сумма учитывается в вашем балансе `pending`, но тратить её пока нельзя: на этом этапе перевод ещё может исчезнуть из цепочки.

Ваш сервер получает `invoice.pending` с идентификатором транзакции в `details`. Отгружать по `pending` не нужно: это лишь сигнал, что клиент что-то отправил.

## Шаг 4. Набираются подтверждения

Подтверждение — это блок, построенный поверх блока с переводом. CryptoLike зачисляет платёж, только когда перевод набрал порог подтверждений своего актива. Порог задаётся для каждого актива, публикуется в `GET /v1/currencies` и в каталоге монет, а плательщик видит его как «n из N подтверждений, обычно около X мин».

Порог защищает от реорганизаций блоков, когда сеть заменяет последние блоки и перевод может пропасть. Если реорганизация откатит уже подтверждённый перевод, платёж пересчитывается и приходит `invoice.reverted`. Почему пороги в разных сетях разные, объясняет статья о [подтверждениях криптоплатежа](https://cryptolike.net/ru/blog/crypto-payment-confirmations); список активов — в [каталоге монет](https://cryptolike.net/ru/coins).

## Шаг 5. Статус paid и подписанный вебхук

Когда подтверждённая сумма покрывает платёж — недостача в пределах небольшого допуска (по умолчанию 0,5 %) не мешает, — CryptoLike ставит статус `paid`, зачисляет средства на ваш баланс и отправляет `invoice.paid`. Плательщик видит «Платёж подтверждён.» и, если вы указали `return_url`, ссылку обратно на сайт. Статус `paid` конечный: по нему отгружают заказ. Переплата — тоже `paid`, с `overpaid_amount` больше нуля.

Каждый [вебхук](https://cryptolike.net/ru/glossary/webhook) — это JSON-событие с подписью HMAC-SHA256 от метки времени и сырого тела запроса; ваш сервер проверяет [подпись вебхука](https://cryptolike.net/ru/glossary/webhook-signature) и отвечает 2xx в течение 10 секунд. Неудачная доставка повторяется через 1 мин, 5 мин, 15 мин, 1 ч, 6 ч и 24 ч, всегда с тем же `event_id`, поэтому обработчик сохраняет идентификатор и пропускает повторы. Вместо вебхуков можно опрашивать `GET /v1/invoices/{id}`, не чаще чем раз в несколько секунд. Полный контракт — в [документации по вебхукам](https://cryptolike.net/ru/docs/webhooks).

```json
{
  "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`. Комиссия платформы списывается только при подтверждении и зачислении платежа; актуальные ставки — на [странице тарифов](https://cryptolike.net/ru/pricing), с датой «по состоянию на».

Балансы ведутся по каждому активу: `available`, `pending` и `hold`. С `available` вы отправляете выплаты на внешние адреса — по одной через API или пакетом из кабинета. Сначала запросите расчёт: он покажет комиссию платформы, зарезервированную комиссию сети и итоговое списание до подтверждения. Адреса выплат можно ограничить [белым списком](https://cryptolike.net/ru/glossary/payout-whitelist), а выплаты из кабинета или 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` | «Платёж отменён продавцом. Если вы всё ещё хотите оплатить, запросите у продавца новый платёж.» | да |

Источник: [модель статусов](https://cryptolike.net/ru/docs#status-model) CryptoLike и контракт вебхуков, по состоянию на 2026-09-24.

## Что если платёж пошёл не по плану?

CryptoLike обрабатывает три частых отклонения, не меняя модель статусов. Недоплата сверх допуска становится `underpaid` с `remaining_amount` и остаётся открытой для доплаты; переплата — это `paid` с `overpaid_amount`; средства, пришедшие после закрытия платежа, всё равно зачисляются с `late_payment: true` и событием `invoice.late_payment`, а статус остаётся прежним.

Для каждого случая есть следующий шаг и для вас, и для плательщика. Статья о [недоплате, переплате и позднем платеже](https://cryptolike.net/ru/blog/underpaid-crypto-payments) разбирает их по очереди. Для истёкшего платежа всё просто: срок платежа истёк — создайте новый платёж.

## Вопросы и ответы

### Чем криптопроцессинг отличается от кошелька?

Кошелёк хранит ключи и отправляет или принимает переводы. Криптопроцессинг, такой как 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. Эталонный вектор подписи из [документации по подписи запросов](https://cryptolike.net/ru/docs/auth) за один вызов покажет, верно ли вы подписываете запросы.
