БлогУслугиКарьера
Обсудить проект
БлогУслугиКарьераОбсудить проект
Telegram

Telegram дал бизнесу новый способ зарабатывать — а большинство его до сих пор игнорируют

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

Редакция Feature
Редакция Feature·
5 апр
·
10 мин
·
Telegram дал бизнесу новый способ зарабатывать — а большинство его до сих пор игнорируют

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

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

Что такое Telegram Stars

Stars — это внутренняя валюта Telegram, аналог кредитов в других платформах. Пользователь покупает их через App Store или Google Play (или через crypto), а бизнес принимает их как оплату.

Курс (приблизительный): 1 USD ≈ 50 Stars. То есть 100 Stars ≈ 2 USD ≈ 180 ₽.

Откуда берутся Stars у пользователей:

  • Покупка в приложении (App Store / Google Play)
  • Получение как подарок от другого пользователя
  • Заработок через продажу собственного контента

Комиссия Telegram: 30% с каждой транзакции. Много? Да. Но зато нет эквайринга, нет банковских переводов, нет конвертации валют.

Когда Stars выгоднее обычных платежей:

  • Цифровые товары (курсы, подписки, файлы)
  • Международная аудитория — Stars работают везде без привязки к стране
  • Небольшие суммы (до 1000 ₽) — геморрой с настройкой эквайринга не окупается
  • Аудитория, у которой уже есть Stars (активные пользователи Telegram)

Как принять Stars в боте

Для этого нужен обычный Telegram-бот с поддержкой Invoice API.

Шаг 1: Включить Stars в BotFather

Напишите /mybots → выберите бота → Bot Settings → Payments. Для Stars платёжный провайдер не нужен — это встроенный механизм Telegram.

Шаг 2: Отправить инвойс

from telegram import Bot, LabeledPrice
from telegram.ext import Application, CommandHandler, PreCheckoutQueryHandler, MessageHandler, filters

BOT_TOKEN = "ВАШ_ТОКЕН"

async def cmd_buy(update, context):
    """Команда /купить — отправляем инвойс в Stars"""
    await context.bot.send_invoice(
        chat_id=update.effective_chat.id,
        title="Консультация по развитию бизнеса",
        description="60-минутная видеоконсультация с экспертом Feature IT",
        payload="consultation_60min",  # Ваш внутренний идентификатор
        currency="XTR",  # XTR — это Stars
        prices=[
            LabeledPrice("Консультация 60 мин", 500)  # 500 Stars
        ],
        # Stars не требуют provider_token
        provider_token="",
    )

async def pre_checkout(update, context):
    """Подтверждаем платёж до списания Stars"""
    query = update.pre_checkout_query
    
    # Здесь проверяем: товар ещё доступен, пользователь не покупал раньше и т.д.
    # Если всё ок:
    await query.answer(ok=True)
    
    # Если что-то не так:
    # await query.answer(ok=False, error_message="Товар недоступен")

async def successful_payment(update, context):
    """Платёж прошёл — выдаём товар"""
    payment = update.message.successful_payment
    payload = payment.invoice_payload  # "consultation_60min"
    telegram_payment_id = payment.telegram_payment_charge_id
    stars_amount = payment.total_amount  # 500
    
    # Логика выдачи товара
    await update.message.reply_text(
        "✅ Оплата получена! Мы свяжемся с вами в течение часа для назначения времени консультации."
    )
    
    # Сохраняем в БД
    await save_purchase(
        user_id=update.effective_user.id,
        payload=payload,
        payment_id=telegram_payment_id,
        amount=stars_amount
    )

app = Application.builder().token(BOT_TOKEN).build()
app.add_handler(CommandHandler("купить", cmd_buy))
app.add_handler(PreCheckoutQueryHandler(pre_checkout))
app.add_handler(MessageHandler(filters.SUCCESSFUL_PAYMENT, successful_payment))

Важный нюанс: pre_checkout должен ответить в течение 10 секунд. Это критично. Не делайте тяжёлых запросов к БД внутри него.

Хотите принимать оплату в Telegram?

Разработаем бота или Mini App с полноценной системой платежей — Stars, карты, СБП

Заказать бота с оплатой

Как принять Stars в Mini App

В Mini App оплата через Stars делается через openInvoice метод SDK.

// PaymentButton.tsx
import { useInvoice } from '@telegram-apps/sdk-react';

interface StarPaymentProps {
  invoiceSlug: string; // Slug инвойса, созданного через Bot API
  onSuccess: () => void;
  onFail: () => void;
}

function StarPaymentButton({ invoiceSlug, onSuccess, onFail }: StarPaymentProps) {
  const invoice = useInvoice();

  const handlePay = async () => {
    const status = await invoice.open(invoiceSlug, 'slug');
    
    switch (status) {
      case 'paid':
        onSuccess();
        break;
      case 'cancelled':
        console.log('Пользователь отменил оплату');
        break;
      case 'failed':
        onFail();
        break;
    }
  };

  return (
    <button onClick={handlePay} className="pay-btn">
      Купить за ⭐ Stars
    </button>
  );
}

Для этого сначала нужно создать инвойс через Bot API и получить его slug:

import httpx

async def create_invoice_link(
    title: str,
    description: str,
    payload: str,
    stars_amount: int
) -> str:
    """Создаём ссылку-инвойс для использования в Mini App"""
    async with httpx.AsyncClient() as client:
        response = await client.post(
            f"https://api.telegram.org/bot{BOT_TOKEN}/createInvoiceLink",
            json={
                "title": title,
                "description": description,
                "payload": payload,
                "currency": "XTR",
                "prices": [{"label": title, "amount": stars_amount}],
                "provider_token": ""
            }
        )
        data = response.json()
        # Извлекаем slug из ссылки https://t.me/$XXXXXX
        link = data["result"]
        return link.split("$")[1]  # Возвращаем slug

Возврат Stars

Если нужно вернуть деньги — есть метод refundStarPayment:

async def refund_stars(
    user_id: int, 
    telegram_payment_charge_id: str
) -> bool:
    async with httpx.AsyncClient() as client:
        response = await client.post(
            f"https://api.telegram.org/bot{BOT_TOKEN}/refundStarPayment",
            json={
                "user_id": user_id,
                "telegram_payment_charge_id": telegram_payment_charge_id
            }
        )
        return response.json().get("result", False)

Важно: возврат возможен только если Stars ещё не выведены из бота. После вывода — нельзя.

Вывод Stars

Stars можно вывести через Fragment (fragment.com) — крипто-площадку Telegram. Звёзды конвертируются в TON (криптовалюта), оттуда — в рубли через P2P биржи.

Процесс:

  1. Накопить минимум 1000 Stars на балансе бота
  2. В Fragment создать вывод
  3. Получить TON на кошелёк
  4. Продать TON за рубли через биржу

Курс немного плавает, но в среднем: 1 Star ≈ 1,3–1,5 ₽ (после вычета 30% комиссии Telegram).

Обсудим ваш проект?

Оставьте контакты — перезвоним и обсудим задачу

Сравнение: Stars vs обычные платежи

Параметр Stars Карты / СБП
Комиссия 30% 0,4–2,5%
Настройка Минимальная Требует интеграции
Международные платежи ✅ Работают везде ❌ Ограничения в РФ
Малые суммы (< 200 ₽) Удобно Невыгодно
Физические товары Можно, но неудобно Оптимально
Цифровые товары Отлично Хорошо

Когда использовать Stars: практические сценарии

Подходит:

  • Доступ к закрытому каналу или группе
  • Цифровые материалы (PDF, видео, шаблоны)
  • Разовые консультации
  • Подписка на бота (платные функции)
  • Международная аудитория

Не подходит:

  • Физические товары с доставкой (высокая комиссия)
  • Крупные суммы (30% — слишком много)
  • Регулярные платежи с контролем (нет инвойсов с подпиской)

Итог

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

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

Хотите настроить оплату в вашем боте или Mini App? Расскажите о задаче — подберём оптимальное решение.


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

  • Как создать Telegram Mini App: полная инструкция
  • СБП на сайте: принимаем оплату без эквайринга
  • Telegram Mini Apps 2026: будущее мобильной коммерции

Обсудим ваш проект?

Оставьте контакты — перезвоним и обсудим задачу

Содержание
  • Что такое Telegram Stars
  • Как принять Stars в боте
  • Как принять Stars в Mini App
  • Возврат Stars
  • Вывод Stars
  • Сравнение: Stars vs обычные платежи
  • Когда использовать Stars: практические сценарии
  • Итог
  • Читайте также
Поделиться:

Похожие статьи

Telegram лежит — и ваш бизнес вместе с ним. Сколько вы теряете прямо сейчас?
Telegram

Telegram лежит — и ваш бизнес вместе с ним. Сколько вы теряете прямо сейчас?

10 мин
Telegram Bot API 2026: новые возможности для разработчиков
Telegram

Telegram Bot API 2026: новые возможности для разработчиков

12 мин
10 ошибок при разработке Telegram-ботов, которые убивают конверсию
Telegram

10 ошибок при разработке Telegram-ботов, которые убивают конверсию

11 мин
Feature IT

Feature IT — платформа по обучению программированию и разработке цифровых продуктов. Мы создаём современные веб-решения для бизнеса и обучаем этому других!

Политика конфиденциальностиПользовательское соглашение

О компании

  • Блог
  • Карьера

Услуги разработки

  • Разработка сайтов под ключ
  • Веб-приложения на React/Next.js
  • Telegram-боты для бизнеса
  • Mini Apps (Telegram, VK)
  • SEO-оптимизированные сайты
  • Автоматизация бизнес-процессов
  • Поддержка и развитие IT-продуктов

Обучение

  • Курс Python с нуля
  • Алгоритмы и структуры данных
  • Паттерны проектирования
  • Подготовка к собеседованиям в IT
  • Практика на реальных проектах

Инструменты

  • Генератор UTM-меток
  • Счётчик символов