← Блог·2026-08-18

Telegram Stars: оплата звёздами в боте и канале

Оплата звёздами в телеграм боте: что такое Telegram Stars, где они обязательны, как подключить приём, вывести звёзды через TON и когда выгоднее внешние платежи.

Про звёзды владелец платного канала обычно узнаёт в неудачный момент: бот перестал принимать оплату за доступ, а в правилах написано, что цифровой товар внутри Telegram продаётся только за Stars. Дальше выясняется, что деньги приходят не рублями, лежат на балансе бота и выводятся через криптокошелёк. Разберём механику без тумана: где звёзды обязательны, как посчитать свой реальный курс, как подключить оплату и когда честнее оставить внешний платёжный контур.

Что такое Telegram Stars и где без них не обойтись

Stars — внутренняя валюта Telegram. Покупатель заранее покупает пачку звёзд (внутри приложения или через официального бота Telegram), а потом тратит их на цифровые товары у разных авторов. Для вас как владельца бота звезда — это просто единица, в которой выставляется счёт: в Bot API это валюта XTR.

Главное ограничение, из-за которого тему вообще приходится изучать: цифровые товары и услуги, которые потребляются внутри Telegram, платформа требует продавать за звёзды. Это доступ в закрытый канал, платный пост, разблокировка контента в мини-аппе, подписка на бота. Внешние платёжные провайдеры остаются для физических товаров и услуг, оказываемых за пределами приложения, — консультации, офлайн-мероприятия, доставка.

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

Экономика: где теряются деньги по дороге к вам

Путь денег от покупателя до вашего счёта — это не одна комиссия, а цепочка из четырёх звеньев:

  • Покупка звёзд. Покупатель платит своими деньгами и получает звёзды по курсу платформы. Если он покупает их внутри мобильного приложения, сверху ложится комиссия магазина приложений.
  • Оплата у вас. Звёзды списываются у покупателя и зачисляются на баланс вашего бота — здесь курс уже фиксирован платформой.
  • Конвертация при выводе. Баланс превращается в TON, то есть в криптоактив с плавающим курсом.
  • Обналичивание. TON → фиат через биржу или обменник, со своей комиссией и своим спредом.

Ни одно из этих звеньев вы не контролируете. Поэтому единственная честная цифра — не «средний процент из статьи», а ваш собственный замер.

Как замерить свой курс за один вечер

  • Купите пачку звёзд сами. Запишите, сколько денег списалось и сколько звёзд пришло.
  • Повторите покупку с iOS, Android и десктопа — курс на входе может отличаться, и это влияет на то, с какого устройства вашей аудитории выгоднее платить.
  • Оплатите собственный товар со второго аккаунта: сколько звёзд реально дошло до баланса бота.
  • Выведите минимально возможную сумму и доведите её до фиата. Запишите итог.
  • Разделите то, что вы получили на руки, на то, что заплатил покупатель. Это ваш реальный курс приёма.

Замер занимает вечер и стоит меньше, чем месяц работы с неверной ценой в голове. Повторяйте его раз в квартал: курс TON и условия платформы не стоят на месте.

Как подключить оплату звёздами

В боте

  • В sendInvoice укажите валюту XTR, а цену — в звёздах. Провайдерский токен для звёзд не нужен, платёжного агрегатора подключать не надо.
  • Обработайте апдейт successful_payment — именно по нему выдавайте доступ, а не по нажатию кнопки «Оплатить».
  • Сохраняйте идентификатор платежа (telegram_payment_charge_id): без него вы не сделаете возврат и не разберёте спор.
  • Реализуйте возврат через refundStarPayment заранее, а не в момент первого недовольного участника.
  • Проверьте идемпотентность: повторный апдейт не должен выдавать доступ дважды или начислять что-то ещё раз.

В канале и постах

  • Платные медиа — пост, в котором фото или видео скрыты до оплаты звёздами. Подходит для разовых продаж: разбор, запись эфира, отчёт. Подробнее о форматах — в разборе платных постов в Telegram.
  • Подписка на канал за звёзды — инвайт-ссылка с периодической оплатой: платформа сама списывает звёзды и сама убирает участника, если оплата не прошла. Это единственный способ получить автопродление, не собирая платёжные данные.

Ручную выдачу доступа не оставляйте даже «на первое время»: она ломается на десятом участнике и превращается в источник конфликтов.

Вывод звёзд: TON, сроки, ожидания

Баланс бота выводится в TON, дальше — на ваш кошелёк. Практические вещи, которые стоит заложить заранее:

  • Деньги приходят не в день оплаты. У вывода есть свои сроки и минимальные пороги, и они меняются — смотрите актуальные значения в интерфейсе на момент вывода, а не в чужой статье.
  • Между продажей и обналичиванием есть валютный риск. Курс TON плавает, поэтому оборот в звёздах и фактическое поступление на счёт — это два разных числа. Ведите их отдельно, иначе отчётность будет врать; какие метрики держать в еженедельном дашборде, разобрано в обзоре сервисов аналитики Telegram-каналов.
  • Юридическая сторона на вас. Доход в криптоактиве, чеки, оферта, налоги — вопрос вашей юрисдикции и статуса. Если аудитория и так живёт в крипте, посмотрите сценарии для крипто-сообществ.

Stars или внешние платежи: как выбрать

Звёзды выигрывают, когда:

  • вы продаёте цифровой доступ внутри Telegram — тут выбора и нет;
  • аудитория международная и разношёрстная по банкам: у звёзд нет географии карт;
  • чек маленький, а оплата импульсная — кнопка в два тапа даёт лучшую конверсию, чем переход на платёжную форму;
  • у вас нет юрлица и мерчанта, а начать надо сейчас.

Внешний контур выигрывает, когда:

  • чек крупный или годовой — потери на конвертации при таком объёме заметнее удобства;
  • нужен контроль над курсом и сроками поступления;
  • вы не хотите зависеть от одной экосистемы и хотите видеть платежи у себя.

Полную карту способов приёма денег в боте — с разбором по статусу получателя — мы собрали в отдельной статье.

Гибридная схема: два контура и одна база доступов

Рабочая конфигурация выглядит так: звёзды — для микроплатежей, разовых постов и импульсных покупок; внешний контур — для месячных и годовых подписок с крупным чеком. Критично одно: доступ выдаёт и отзывает одна система, независимо от того, каким контуром пришли деньги. Иначе через три месяца вы получите два списка участников, которые не сходятся.

Так это устроено и в CatchClub: клуб принимает Telegram Stars и USDT через CryptoBot, доступ во всех модулях управляется единым списком участников, а процент с платежей участников платформа не берёт — оплата фиксированная по тарифу (Demo $0 до 50 участников, Starter $99/мес до 300, Community $199/мес до 1000, Pro $299/мес до 3000). Приёма карт нет — если вашей аудитории нужна карта, это сразу дисквалифицирующий фактор, честно.

Прикидка на условных числах, чтобы понять логику выбора: при обороте $300 в месяц сервис с комиссией 10% (как Tribute) обойдётся в $30 — дешевле любого фикса. При обороте $3000 те же 10% — это $300 в месяц, а у Paywall.pw с 20% — $600. Считайте на своём обороте: на маленьком процентные сервисы почти всегда выгоднее, точка перелома у каждого своя.

Чек-лист перед запуском звёзд

  • Проверил актуальные правила Bot API для своего типа товара.
  • Замерил собственный курс: покупка → оплата → вывод → фиат.
  • Выдаю доступ по successful_payment, храню идентификаторы платежей.
  • Настроил возвраты до первой продажи, а не после первой жалобы.
  • Развёл в учёте оборот в звёздах и фактическое поступление денег.
  • Решил, что будет с доступом, если участник перестал платить.