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

Как продавать платный доступ в закрытый Telegram-канал

Практика4 мин

Коротко

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

Три способа продавать доступ

Рабочих схем три:

  • Подписочная ссылка за Stars. Telegram сам списывает ежемесячную плату в Stars, продлевает её и удаляет тех, кто перестал платить.
  • Собственный платёжный бот с местными провайдерами, например Payme или Click. Бот принимает оплату, впускает пользователя и удаляет его, когда оплаченный период закончился.
  • Сторонний сервис, который предоставляет такого бота как готовый продукт.
Подписка за StarsСвой бот + Payme/ClickСторонний сервис
Способ оплатыStarsМестные карты через провайдераЗависит от сервиса
ПродлениеАвтоматическоеНапоминания и новая оплатаНа стороне сервиса
Удаление просрочившихАвтоматическоеДелает ваш ботНа стороне сервиса
РазработкаНе нужнаНужнаТолько настройка
Тарифы, триалы, промокодыФиксированный месячный периодВсё, что реализуетеЧто предлагает сервис
Данные подписчиковМинимумПолностью вашиХранятся у сервиса

Подписочные ссылки за Stars

Администратор канала создаёт пригласительную ссылку с подпиской и задаёт месячную цену в Stars. Через Bot API то же делается методом createChatSubscriptionInviteLink, период там фиксирован — 30 дней.

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

Платёжный бот с Payme или Click

Полный сценарий выглядит так:

  1. Пользователь открывает бота и выбирает тариф.
  2. Бот создаёт заказ и отправляет счёт через Telegram Payments или ссылку на платёжную страницу провайдера.
  3. Оплата подтверждается апдейтом successful_payment или колбэком провайдера на ваш бэкенд. Никогда не выдавайте доступ по кнопке «Я оплатил».
  4. Бот создаёт личную пригласительную ссылку через createChatInviteLink с creates_join_request=true.
  5. Когда пользователь переходит по ссылке, бот получает апдейт chat_join_request, проверяет, есть ли у этого user ID активная подписка, и вызывает approveChatJoinRequest, иначе — declineChatJoinRequest.
  6. В записи подписки фиксируется дата expires_at.

Ключевая деталь — заявки на вступление. Даже если ссылка утекла, посторонний по ней лишь создаст заявку, и бот её отклонит, потому что этот человек не платил. Учтите: у ссылки с заявками нельзя одновременно задать лимит участников — его заменяет шаг одобрения.

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

Напоминания, продление и удаление

Задача по расписанию (cron или очередь задач) запускается каждый день:

  • Напоминания: за несколько дней до окончания, накануне и в последний день, с кнопкой «Продлить», которая запускает новую оплату. Автоматические повторные списания с карты возможны, только если провайдер поддерживает сохранённые карты для рекуррентных платежей.
  • Льготный период: решите, сохраняется ли доступ на короткое время после окончания.
  • Удаление: вызовите banChatMember, затем unbanChatMember с only_if_banned=true. Первый вызов удаляет пользователя, второй позволяет ему вернуться после оплаты. Без разбана он останется заблокированным.

Задача должна быть идемпотентной: она выбирает всех, у кого expires_at в прошлом и кто всё ещё в канале. Если вчера сервер лежал, сегодняшний запуск всё наверстает.

Боту нужны права администратора в канале: приглашение пользователей по ссылке и блокировка пользователей. Писать он может только тем, кто его запускал, — ещё одна причина проводить все покупки через бота.

Сторонние сервисы

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

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

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

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

Отправить может, но при одобрении заявок она бесполезна для других: бот отклоняет всех без активной подписки.

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

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

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

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

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

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