

Сам Телеграм криптовалюту в ботах не принимает: его встроенные платежи — это звёзды и фиатные провайдеры. Поэтому оплата криптой в Телеграм-боте почти всегда собирается из трёх частей: бот присылает покупателю ссылку или QR-код на оплату, покупатель платит из своего кошелька, а платёжный сервис сообщает серверу бота, что деньги пришли. Ниже разбираем, из чего это собрать, как не выдать товар раньше денег и что об этом говорят правила Телеграма и закон.
У бота в Телеграме два встроенных способа взять деньги, и ни один из них не про криптовалюту:
Криптовалюта в этот список не входит, и подключается она снаружи. Бот просто отправляет сообщение со ссылкой на оплату, а всё остальное — счёт, проверка перевода, уведомление — происходит у платёжного сервиса. Телеграм эту оплату не видит и не считает; для него это обычное сообщение с кнопкой.
Из правила про звёзды следует практический вывод, и критерий в нём — вид товара: условия Телеграма для разработчиков делят продажи на физические товары и услуги и на цифровые. Цифровое — доступ в закрытый канал, функции бота, файлы, подписка на онлайн-сервис — продаётся в боте только за звёзды; на вопрос, можно ли вместо звёзд принять криптовалюту, Телеграм в своей документации отвечает «нет». Криптовалюта по ссылке подходит боту, который продаёт физический товар или услугу в реальном мире: доставку, ремонт, бронирование, работу мастера. Как сочетать звёзды, ботов и платёжные ссылки в одном магазине, мы разбирали в обзоре о том, как принимать оплату в криптовалюте через Телеграм.
Боты принимают криптовалюту по-разному, и различаются способы одним: кто проверяет, что деньги пришли.
Между вторым и третьим путём есть ещё один, которым соблазняются разработчики: написать всю проверку переводов самому. Открытых библиотек хватает, и первая версия пишется за вечер. Дальше начинаются сети, подтверждения, недоплаты, поддельные уведомления и ночные падения ноды, и это уже не вечер, а отдельная работа. Что из этого стоит брать на себя, а что отдать, мы сравнивали в разборе, делать свой платёжный шлюз или подключить готовый сервис.
У CryptumPay третий путь устроен так. Сервер бота вызывает API и создаёт заказ с суммой и валютой; из номера заказа собирается ссылка на платёжную страницу, и её бот отправляет покупателю в чат — виджет для этого не нужен. К заказу прикладываются свои идентификаторы: номер пользователя в Телеграме, номер заказа в вашей системе, произвольная строка данных, чтобы потом сопоставить оплату с покупателем. Покупателю аккаунт в CryptumPay не нужен: он открывает ссылку и платит из своего кошелька. Комиссия сервиса — 1 % за успешный платёж, от 0,5 % на больших объёмах, и её можно переложить на покупателя.
Для покупателя всё выглядит как пара нажатий. Для вашего сервера это цепочка из шести шагов:

Один нюанс в шаге 4: покупатель платит не боту, а на адрес, который выдал платёжный сервис, и платит обычным переводом в сети. Ограничения тут не у Телеграма, а у сети: перевод нельзя отменить, а если покупатель выбрал не ту сеть или перевёл не ту сумму, это станет видно только после отправки. Проверьте в документации своего сервиса, сколько действует счёт: перевод, отправленный после закрытия счёта, сервис может не связать с заказом.
Главная деталь любой схемы — уведомление об оплате, которое платёжный сервис присылает на ваш сервер. Разработчики называют его вебхуком: это обычный запрос на адрес, который вы указали в настройках, и в нём написано, что с заказом произошло. Сервер бота принимает запрос, обновляет заказ и уже сам решает, что делать дальше.
Проще говоря, вебхук — это звонок из банка «деньги пришли». И как со звонком, главный вопрос — точно ли это банк. Адрес вебхука обычно легко угадать или подсмотреть, и если сервер верит любому запросу на этот адрес, товар можно получить бесплатно одним запросом с чужого компьютера. Поэтому у нормального сервиса каждый вебхук подписан, и подпись проверяется до того, как сервер что-то меняет в заказе.
Вторая ловушка — повторы. Сеть может моргнуть, ваш сервер не ответить, и сервис пришлёт то же событие ещё раз. Если бот на каждое уведомление списывает товар со склада или отправляет заказ в доставку, один платёж превратится в две посылки. Как принимать уведомления так, чтобы ни подделка, ни повтор не прошли, мы собрали в разборе о том, как безопасно обрабатывать вебхуки криптоплатежей.

У CryptumPay вебхук приходит на каждом шаге оплаты:
Защита у вебхуков CryptumPay та же, что описана выше. Адрес для уведомлений — только HTTPS с действительным сертификатом; каждый вебхук подписан (заголовок X-Signature), и подпись нужно проверить до обработки. Повторы отсекаются по ключу события в заголовке X-IDMP-Key: одно и то же событие может прийти дважды с тем же ключом. Если сервер ответил не 2xx, сервис повторяет отправку — до 12 попыток примерно за час, так что короткое падение бота заказ не потеряет. Товар документация велит выдавать на статусах Paid (средства зачислены) и Crediting (зачисление идёт, платёж получен точно); на статусах In progress и Under review заказ не выполняется, а переход покупателя на страницу успеха оплатой не считается — статус проверяется на сервере.
Самая дорогая ошибка в платных ботах — выдавать товар не по статусу заказа, а по косвенному признаку. Три признака, которым верить нельзя:
Признак один: сервер бота получил от платёжного сервиса статус, который сервис сам называет оплатой, и проверил подпись этого уведомления.
Отдельный случай — покупатель заплатил не столько, сколько в счёте. Биржа удержала комиссию за вывод, и вместо 50 USDT пришло 49. Станет ли такой перевод оплатой, зависит от сервиса и его настроек: у одних любая недостача — это недоплата, и заказ оплаченным не станет; у других продавец задаёт допуск в процентах, разница в его пределах подтверждается сама, а за пределами покупателя просят доплатить. Проверьте, как это настроено у вас, и научите бота не молчать: если платёж завис как недоплата, написать покупателю, сколько пришло и сколько не хватает, и дать способ доплатить или связаться с вами. Что делать с недоплатами, переплатами и переводами не в той сети, мы разбирали в статье про возврат криптовалютного платежа.
Язык бота на выбор платёжного сервиса не влияет. Создание заказа и приём вебхука — это обычные HTTP-запросы, а их умеет любой язык, на котором пишут Телеграм-ботов: Python с aiogram или python-telegram-bot, Node.js, PHP, Go. Готовая библиотека от сервиса экономит вечер, но без неё обойтись можно: в документации описаны адреса, параметры и формат ответа, и обёртку из двух функций — «создать заказ» и «проверить подпись вебхука» — вы напишете сами.
Чего без документации не обойти — это подпись запросов. Сервисы требуют подписывать вызовы API секретным ключом, и алгоритм подписи у каждого свой: что складывать в строку, каким методом считать, в каком заголовке передавать. Ещё одна частая мелочь — время: подпись обычно включает отметку времени, и запрос с «уехавшими» часами сервера сервис отклонит. Проверить алгоритм лучше на тестовом заказе до того, как бот увидят покупатели: ошибка в подписи выглядит как молчание сервиса, и искать её на живых платежах неприятно. Список того, что стоит проверить в документации до начала работы, у нас есть в разборе, что проверить в API криптоплатежей перед подключением.
У CryptumPay готовый SDK есть только для Node.js. Алгоритм подписи запросов описан в документации пошагово без привязки к языку, поэтому бот на Python или PHP вызывает API напрямую. Запрос старше одной минуты отклоняется, так что часы сервера должны быть синхронизированы.
Телеграм — одна платформа на все страны, а право у каждой страны своё. Правила Телеграма про звёзды мы назвали выше, это правила платформы, а не закон. Можно ли вам как продавцу принимать криптовалюту в качестве оплаты, решает законодательство страны, где вы ведёте бизнес.
Для продавца в России ответ на октябрь 2026 года такой. С 1 сентября 2026 года действует Федеральный закон от 04.08.2026 № 282-ФЗ «О цифровых валютах и цифровых правах»: по части 6 статьи 1 принимать цифровые валюты в качестве средства платежа за товары, работы и услуги в России запрещено. Исключения перечислены в части 7 той же статьи, и первое из них — расчёты по внешнеторговым договорам между резидентами и нерезидентами. Проще говоря, бот, который продаёт за USDT покупателям внутри России, под запрет попадает, а внешнеторговый договор с иностранным клиентом — отдельный разговор с юристом. Как с этим в Беларуси, Казахстане и Европе, мы разбирали в статье о том, можно ли принимать оплату в криптовалюте по закону.
Оплата криптой в Телеграм-боте — это внешняя оплата по ссылке, а не встроенная функция мессенджера. Бот создаёт заказ у платёжного сервиса, присылает покупателю ссылку, а товар выдаёт только после подписанного уведомления со статусом «оплачено». Цифровые товары и услуги, которые продаются в Телеграме, по правилам платформы оплачиваются только звёздами, какие бы сайты и сервисы ни стояли у вас вне Телеграма; криптовалюта по ссылке — для физических товаров и услуг в реальном мире. Можно ли принимать криптовалюту вообще, решает закон страны продавца.
Сначала решите, что продаёт подписка. Подписка на цифровое — закрытый канал, функции бота, онлайн-сервис — по правилам Телеграма продаётся только за звёзды. За криптовалюту по ссылке подписка работает для регулярных услуг в реальном мире: ежемесячной доставки, абонемента на занятия, обслуживания. Устроена она как заказ, который создаётся заново перед каждым периодом: за несколько дней до конца оплаченного срока бот присылает новую ссылку, а после подтверждённого платежа продлевает срок. Повторных списаний при оплате по ссылке нет — каждое продление покупатель подтверждает сам, так что напоминание в боте обязательно.
Да, и это та же схема, только вместо кнопки «Купить» заказ создаёт команда или ваше сообщение: бот по команде создаёт заказ на нужную сумму и присылает клиенту ссылку на оплату. Так удобно брать оплату за ремонт, монтаж, уборку и другие услуги в реальном мире, где сумма каждый раз своя. Статус оплаты бот получает тем же вебхуком, и вам не нужно сверять переводы руками.
Может: он оформляет на бирже вывод на адрес и сумму из счёта, как перевод на любой другой адрес. Два момента, о которых стоит предупредить в сообщении бота: сеть вывода должна совпадать с сетью в счёте, а комиссию за вывод биржа может удержать из суммы, и тогда придёт меньше, чем в счёте. Чтобы не было недоплаты, покупателю стоит указывать сумму с запасом на комиссию биржи.
Звёзды — это внутренняя валюта Телеграма: покупатель покупает их в приложении, а бот выставляет счёт в звёздах, и всё происходит внутри мессенджера. Криптовалюта в бот не встроена: покупатель платит переводом в сети на адрес платёжного сервиса. Про мини-приложения вопрос стоит отдельно: там тоже действует правило про звёзды, и мы разбирали, можно ли принимать USDT в мини-приложении Телеграма.
Эта статья не является юридической или налоговой консультацией: нормы меняются, и перед запуском платного бота стоит свериться с актуальным законодательством своей страны или с юристом.
Создайте аккаунт и подключите оплату самостоятельно, или свяжитесь с нами и мы поможем всё настроить