Перейти к содержанию
Innovialabs

Что такое Telegram Stars и как работают оплаты цифровых товаров

Основы3 мин

Коротко

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

Коротко: что такое Stars

Telegram Stars — внутренняя валюта Telegram. Пользователь покупает звёзды, а потом тратит их в ботах и Mini Apps: на подписки, доступ к контенту, функции и внутриигровые предметы.

Главное правило: цифровые товары и услуги в ботах и Mini Apps продаются только за Stars. Обычные карты и платёжные провайдеры для них не используются.

Почему Telegram ввёл это правило

Apple и Google требуют, чтобы цифровые покупки внутри мобильных приложений проходили через их встроенные платежи. Боты и Mini Apps работают внутри приложения Telegram, поэтому на них распространяется то же требование.

Stars решают эту задачу: пользователь покупает звёзды через механизм, разрешённый магазином приложений, а разработчики принимают оплату в звёздах. Так Telegram остаётся в рамках правил App Store и Google Play.

Что считается цифровым товаром

Цифровое — только StarsФизическое и офлайн — обычные провайдеры
Подписка на закрытый контентТовары с доставкой
Премиум-функции ботаЗапись к мастеру, бронь столика
Внутриигровая валюта и предметыБилеты и услуги в реальном мире
Генерации в AI-ботеОплата заказа в кафе или магазине
Цифровые файлы, курсы, шаблоныРемонт, доставка, такси

Простой тест: если покупатель получает результат только внутри экрана — это цифровой товар.

Как пользователь покупает звёзды

  • В самом Telegram: на телефоне — через встроенные покупки App Store или Google Play.
  • Через официального бота @PremiumBot.
  • На платформе Fragment — за криптовалюту TON.

Когда в боте появляется счёт в Stars и звёзд не хватает, Telegram сам предлагает докупить нужное количество. Пользователю не нужно ничего настраивать.

Как принять оплату в Stars

Технически это те же Telegram Payments, только с валютой XTR и без платёжного провайдера:

{
  "chat_id": 123456789,
  "title": "Pro-доступ",
  "description": "Расширенные функции на 30 дней",
  "payload": "pro_30d_user_123456789",
  "currency": "XTR",
  "prices": [{"label": "Pro", "amount": 50}]
}

Этот объект отправляется в метод sendInvoice (или createInvoiceLink для ссылки, которую можно открыть из Mini App). Дальше:

  1. Пользователь нажимает «Оплатить» — бот получает pre_checkout_query.
  2. Бот проверяет заказ и подтверждает его через answerPreCheckoutQuery в течение нескольких секунд.
  3. После оплаты приходит сообщение с successful_payment — только теперь выдавайте доступ.
  4. Сохраните telegram_payment_charge_id: он нужен для возврата через refundStarPayment.

Также поддерживаются подписки в звёздах с автоматическим продлением и платный контент в каналах.

Как разработчик получает деньги

  • Звёзды копятся на балансе бота.
  • Их можно вывести через Fragment в криптовалюте TON — после периода удержания, который Telegram устанавливает для защиты от возвратов и мошенничества.
  • Звёзды можно потратить на рекламу в Telegram Ads.

Условия вывода, комиссии и сроки удержания Telegram может менять, поэтому сверяйтесь с актуальными правилами в документации.

Где работают обычные платёжные провайдеры

Для физических товаров и офлайн-услуг остаются классические Telegram Payments: вы подключаете провайдера в @BotFather, получаете provider_token и выставляете счета в обычной валюте. Список доступных провайдеров зависит от страны. Альтернатива — принимать оплату на своём сайте или в Mini App через платёжную систему напрямую, если это не цифровой товар.

Частые ошибки

  • Продавать цифровой доступ через карту или внешнюю ссылку — нарушение правил платформы.
  • Выдавать доступ по pre_checkout_query, а не по successful_payment.
  • Не сохранять идентификатор платежа и не иметь способа сделать возврат.
  • Не давать покупателю способа связаться с поддержкой по оплате — правила Telegram это требуют.

Частые вопросы

Нет. Счета выставляет бот, а он должен где-то работать и обрабатывать pre_checkout_query и successful_payment. Без этого оплату не подтвердить.

Поможем с этим

Если хотите не разбираться самим, а получить результат — этим мы занимаемся каждый день.

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.