Что такое криптоплатёжный шлюз
Криптоплатёжный шлюз принимает платежи в крипте, следит за каждым и держит деньги до вывода. Как он работает и что проверить перед выбором.

Криптоплатёжный шлюз стоит между кошельком клиента и вашей системой заказов: создаёт запрос на оплату, следит за блокчейном, сообщает магазину, что деньги пришли, и хранит средства до вывода. В этом материале разбираем, как это работает на практике и что проверить перед выбором.
Что делает криптоплатёжный шлюз
Без шлюза приём крипты означает: выдать каждому клиенту адрес кошелька, самому следить за блокчейном, сопоставлять входящие переводы с заказами и разбирать все нестандартные случаи вручную. Шлюз берёт на себя четыре задачи:
- Создаёт платёж. Ваша система просит платёж на нужную сумму, шлюз возвращает страницу оплаты или адрес, выделенный только под этот заказ.
- Следит за сетью. Видит поступление перевода, считает подтверждения и решает, когда платёж финальный.
- Сообщает вам. Уведомляет магазин, обычно через webhook, что заказ 1024 оплачен, и можно отправлять товар или открывать доступ.
- Хранит и выводит деньги. Поступления попадают на баланс мерчанта, а вы выводите их на свой кошелёк.
Шлюз не кошелёк, ключами от которого вы владеете, и не биржа. Это платёжная инфраструктура: то, что при оплате картой скрывают банк и процессинг, только для блокчейнов.
Как платёж проходит через шлюз
Шлюзы устроены по-разному, но путь одного платежа выглядит так:
- Ваш сервер создаёт платёж: номер заказа и сумма, обычно в долларах.
- Клиент открывает страницу оплаты и выбирает актив и сеть, например USDT в сети TRON. Мерчант также может заранее задать способ.
- Шлюз фиксирует курс на ограниченное время, чтобы сумма к оплате не плавала, пока клиент платит. В Qvard курс закрепляется на один час.
- Клиент отправляет точную сумму со своего кошелька на адрес, показанный для этого платежа.
- Шлюз следит за сетью, ждёт подтверждений и помечает платёж оплаченным.
- Он уведомляет ваш сервер. Ваш код помечает заказ оплаченным и отдаёт товар.
- Деньги появляются на балансе мерчанта. Вы выводите их на свой кошелёк вручную или по заданному правилу.
Реальные платежи идут не всегда гладко: клиенты присылают меньше, больше или после истечения курса. Хороший шлюз для каждого случая имеет понятный статус, а не оставляет вам сверку вручную. В Qvard статусы платежа: wait, partial, completed и rejected.
Шлюз, кошелёк, биржа и процессинг: в чём разница
Эти понятия часто путают:
- Кошелёк. Хранит ключи, позволяет отправлять и получать. Не сопоставляет платежи с заказами и не уведомляет магазин.
- Биржа. Обменивает один актив на другой. У некоторых бирж есть инструменты для мерчантов, но основная задача у них торговля.
- Платёжный шлюз. Создаёт и отслеживает платежи под ваши заказы и сообщает их статус. Именно о нём этот материал.
- Процессинг или эквайринг. В карточных платежах компания, которая проводит деньги между банками. В крипте слово «эквайринг» употребляют вольно для всего сервиса; чем они отличаются, разбираем в материале криптоэквайринг и криптоплатёжный шлюз.
Кастодиальный или некастодиальный
Главный выбор, который стоит за любым шлюзом: у кого находятся деньги между оплатой и вашим выводом.
В кастодиальном шлюзе входящие платежи идут на адреса, которыми управляет провайдер, и зачисляются на ваш баланс мерчанта. Затем вы их выводите. Так проще сверка, и шлюз может предложить автоматический вывод, но до вывода вы зависите от провайдера, поэтому его условия вывода важны.
В некастодиальной модели платежи идут прямо на ваш кошелёк. Ключи остаются у вас, а провайдер только отслеживает платёж. Это снижает риск контрагента и переносит управление ключами на вас.
Qvard кастодиальный: платежи зачисляются на баланс мерчанта, а вывод на кошелёк идёт автоматически по правилу или вручную. Вывод на кошелёк стоит только комиссию сети, вывода на банковский счёт нет.
Стейблкоины и сети: почему сеть важна
Один и тот же актив существует в нескольких блокчейнах. USDT, например, есть в сетях TRON (TRC-20), Ethereum (ERC-20) и BNB Smart Chain (BEP-20). Перевод засчитывается только в той сети, которую запросила страница оплаты, а комиссии и скорость в разных сетях отличаются.
Поэтому шлюз показывает актив и сеть вместе, а выбор клиента должен быть явным. Для мерчанта это означает:
- решите, какие сети вы принимаете, и проверьте, что шлюз их поддерживает;
- комиссия сети зависит от блокчейна и его загрузки, а не от шлюза;
- для цен в долларах удобнее стейблкоины: платёж в волатильном активе к моменту вывода может стоить заметно меньше.
Сейчас Qvard принимает USDT и USDC в основных сетях, а также нативные BTC и LTC; TON в планах. Полный список на странице монеты и сети.
Что проверить перед выбором шлюза
Короткий список, который отделяет рабочий шлюз от рискованного:
- Сети и активы. Поддерживает ли он те, которыми действительно пользуются ваши клиенты?
- Комиссии. Что берёт шлюз, а что составляет отдельная комиссия сети? Кто что платит?
- Деньги и вывод. У кого деньги, как устроен вывод, есть ли лимиты и нужен ли вам вывод в фиат?
- Качество API. Можно ли безопасно создать платёж повторно с тем же номером заказа? Понятны ли ошибки? Повторяется ли webhook, если ваш сервер был недоступен?
- Нестандартные платежи. Как обрабатываются недоплата, переплата и просроченные платежи?
- Тестирование. Можно ли пройти сценарий без реальных денег?
- Поддержка и документация. Кто отвечает, если платёж завис?
Подробнее этот список разобран в материале как выбрать провайдера криптоплатежей.
Как выглядит минимальная интеграция
Создание платежа это один запрос. В Qvard вы отправляете свой номер заказа и сумму в долларах США и получаете идентификатор платежа и ссылку на страницу оплаты. Перенаправляете клиента туда, а выбор актива и отправка перевода происходят на этой странице.
Передаваемый вами id это номер вашего заказа: повторный запрос с тем же id и тем же способом оплаты возвращает уже созданный платёж, а не создаёт дубль, поэтому повторы безопасны. Когда клиент оплатит, Qvard отправит на ваш сервер webhook с тем же id и статусом платежа. Полный сценарий с кодом для бэкенда есть в материале как принимать криптоплатежи на сайте, справочник на странице разработчикам.
curl -X POST https://api.qvard.com/api/v1/payment \
-H "x-api-key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "id": "order_1024", "price": 149.99 }'
# 201 Created
{ "id": "8f3k2a1c", "redirectUrl": "https://my.qvard.com/pay/8f3k2a1c" }Типичные ошибки
- Верить возврату клиента на сайт. Возврат на страницу «спасибо» не доказывает, что клиент заплатил. Помечайте заказ оплаченным только когда шлюз сообщил финальный статус.
- Игнорировать частичную оплату. Если клиент прислал меньше суммы, заказ не оплачен. Заранее решите, просите ли вы доплатить или возвращаете деньги.
- Не проверить повтор webhook. Если ваш сервер ответил ошибкой, уведомление должно повториться, а обработчик должен спокойно переживать одно и то же событие дважды.
- Считать цену в волатильном активе. Указывайте цену в долларах и позвольте клиенту платить стейблкоином, если не готовы нести ценовой риск.
- Не проверить вывод. Выведите небольшую сумму, прежде чем полагаться на шлюз в реальной выручке.
Где здесь Qvard
Qvard это кастодиальный криптоплатёжный шлюз для бизнеса. Сегодня вы создаёте платёж через API, отправляете клиента на страницу оплаты, получаете финальный статус через webhook и выводите с баланса мерчанта на кошелёк. Остальные способы приёма, такие как платёжные ссылки, встроенное окно, SDK и кассовый терминал, в разработке. Живую страницу оплаты можно посмотреть на демо-счёте ещё до создания аккаунта, а как формируются комиссии, объясняет страница тарифов.
FAQ
Криптоплатёжный шлюз и криптокошелёк это одно и то же?
Нет. Кошелёк хранит ключи и отправляет переводы. Шлюз создаёт платёж под конкретный заказ, отслеживает его в блокчейне, сообщает статус магазину и хранит деньги на балансе мерчанта до вывода.
Можно ли отменить криптоплатёж?
Нет. Подтверждённый перевод в блокчейне окончателен. Чтобы вернуть деньги клиенту, вы отправляете новый перевод сами, поэтому условия возврата стоит определить до начала приёма платежей.
Сколько времени занимает подтверждение платежа?
Зависит от сети и от того, сколько подтверждений ждёт шлюз. В одних сетях перевод подтверждается за секунды, а в Bitcoin блок появляется примерно раз в десять минут. Пока клиент ждёт, страница оплаты показывает статус.
Нужно ли что-то разрабатывать на моей стороне?
Нужно создавать платёж с вашего бэкенда и обрабатывать webhook со статусом. Остальное, от страницы оплаты до мониторинга блокчейна, делает шлюз.


