Telegraft

Тип бота

Принимать оплату без мерчант-аккаунта — за то, что Stars разрешают

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

Боты оплаты через Telegram Stars: цена, сроки и ограничения

Фиксированная цена
$6,700 USD
Срок
28 календарных дней с момента старта
Запрос перед оплатой
Ответ примерно за 10 секунд, иначе платёж не проходит
Что разрешено продавать
Только цифровые товары и услуги
Платёжные апдейты
Как минимум один раз — могут прийти повторно
Возвраты
Доступны через Bot API ограниченное время после списания

As of 2025-10-01, Telegram Bot API 13.4

Какую задачу это решает

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

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

По-настоящему сильны Stars там, где речь о трении. У человека, нажимающего «купить», нет формы для заполнения, нет карты, которую надо искать, нет прерывания на 3-D Secure. На малых суммах конверсия оплаты через Stars заметно выше карточной, а для покупки за два доллара эта разница решает, существует продукт вообще или нет. Разработку стоит затевать, когда товар цифровой, ценник низкий, а аудитория и так сидит в Telegram.

Как идёт разработка

  1. Продукт описывается как право доступа, а не как платёж

    Что покупатель получает, на какой срок и что происходит, когда срок кончается. Моделирование покупки вместо права — причина, по которой у стольких ботов платного доступа есть пользователи, которые заплатили и потеряли доступ, и пользователи, которые не платили и доступ сохранили.

    commands
  2. Счёт приходит прямо в чат

    Telegram сам рисует цену в Stars и берёт на себя интерфейс оплаты. Ни формы, ни перехода на другой сайт — в этом и состоит всё преимущество по конверсии.

    payments-api
  3. Запрос перед оплатой обрабатывается до того, как двинутся деньги

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

    payments-api
  4. Успешный платёж выдаёт права идемпотентно

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

    webhook
  5. Доступ каждый раз сверяется с текущими правами

    Членство в канале, доступ к функции или выдача контента проверяются по актуальному праву, а не по флагу, выставленному в момент покупки. Именно это заставляет корректно работать и истечение, и возврат.

    chat-member-updates
  6. Возврат отзывает доступ, а не только возвращает Stars

    Bot API позволяет вернуть платёж в Stars в пределах окна. Возврат, который отдаёт деньги и оставляет доступ, — это дыра, и она возникает сама собой, если права смоделированы небрежно.

    payments-api

Что Telegram разрешает, а что нет

Telegram Stars разрешены только для цифровых товаров и услуг, но не для физических.

Это ограничение правил, а не техники: API с удовольствием выставит счёт за футболку. Такая продажа ставит бота под удар, поэтому физическая отгрузка уходит к обычному провайдеру.

Бот обязан ответить на `pre_checkout_query` примерно за 10 секунд, иначе платёж не пройдёт.

У каждой проверки на этом пути жёсткий бюджет задержки. Синхронный вызов медленного стороннего API перед оплатой будет терять продажи — нерегулярно и непонятно почему.

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

Выдача прав идемпотентна по идентификатору списания. Без этого повторная доставка продлит подписку дважды, и расхождение всплывёт при сверке, а не в момент события.

Возврат Stars доступен через Bot API лишь ограниченное время после списания.

Ваша политика возвратов не может обещать больше, чем позволяет это окно. За его пределами возврат — ручной жест доброй воли, и в условиях надо так и написать.

Telegram удерживает долю выручки в Stars, а выплата подчиняется собственным порогам и графику.

Эффективная ставка и сроки поступления денег отличаются от карточного процессинга. На дешёвых цифровых товарах Stars обычно всё равно выигрывают на конверсии, но сравнение стоит посчитать, а не предположить.

Когда это не нужно строить

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

На чём это работает

КомпонентВерсияЗачем
grammY1.45Фреймворк бота с обработчиками платежей и запроса перед оплатой.
Cloudflare WorkerscurrentСреда исполнения, подобранная под бюджет задержки перед оплатой.
Cloudflare D1currentПрава доступа, идентификаторы списаний, возвраты и записи сверки.
Zod4.4Валидация платёжных данных, которые приходят извне вашего контроля.
TypeScript5.9Строгий режим. Состояние прав доступа граничит с деньгами и типизируется соответственно.

О чём спрашивают перед стартом

Можно ли продавать за Stars физические товары?

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

Как удерживаемая Telegram доля соотносится с карточным процессингом?

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

Нужен ли нам мерчант-аккаунт или лицензия?

Нет, и в этом основная привлекательность. Для Stars продавцом записи выступает Telegram, поэтому у вас нет ни обработки карт, ни зоны соответствия PCI, ни отношений с эквайером, которые пришлось бы выстраивать.

Что будет, если мы вернули деньги, а доступ у пользователя остался?

Именно вокруг этого сценария и строится разработка. Доступ сверяется с актуальным правом, а не с флагом, выставленным при покупке, поэтому отзыв права закрывает доступ немедленно. Дыра появляется тогда, когда моделируют покупку вместо права.

Можно ли на этом сделать регулярные подписки?

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

Что произойдёт, если один и тот же платёжный вебхук придёт дважды?

Ничего, и так задумано. Выдача идемпотентна по идентификатору списания, поэтому повторная доставка ничего не меняет. Платёжные апдейты гарантируются как минимум однократно, дубли реально случаются, так что это требование к корректности, а не перестраховка.