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, храню идентификаторы платежей.
- Настроил возвраты до первой продажи, а не после первой жалобы.
- Развёл в учёте оборот в звёздах и фактическое поступление денег.
- Решил, что будет с доступом, если участник перестал платить.