Как принимать платежи в Telegram
Telegram предоставляет встроенную платёжную систему, которая позволяет владельцам каналов, разработчикам ботов и бизнес-аккаунтам принимать оплату прямо внутри мессенджера. Вы можете обрабатывать транзакции через Telegram Payments API с помощью интегрированных платёжных провайдеров (Stripe, ЮKassa, Сбербанк и другие), а также использовать Telegram Stars — внутреннюю валюту платформы — для продажи цифровых товаров и услуг.
Как устроены платежи в Telegram
Платёжная инфраструктура Telegram работает через два основных механизма: Bot Payments API и Telegram Stars. Каждый из них подходит для разных сценариев и имеет свои преимущества.
Bot Payments API
Bot Payments API позволяет создавать счета и принимать оплату банковскими картами через сторонних платёжных провайдеров. Когда пользователь нажимает кнопку «Оплатить», Telegram открывает нативную платёжную форму — транзакция проходит безопасно, и пользователю не нужно покидать приложение.
Поддерживаемые платёжные провайдеры:
- ЮKassa — самый популярный в России и СНГ
- Сбербанк — для российского рынка
- Stripe — доступен в 40+ странах
- Tranzzo, LiqPay — для Украины
- Razorpay — для Индии
- Payme, Click — для Узбекистана
Комиссия каждого провайдера различается и обычно составляет от 1,5% до 3,5% за транзакцию.
Telegram Stars
Stars — внутренняя валюта Telegram, позволяющая пользователям покупать цифровые товары, премиум-контент и подписки. Ключевые преимущества:
- Не нужно подключать внешних платёжных провайдеров
- Работает глобально без региональных ограничений
- Пользователи покупают Stars через Apple Pay, Google Pay или банковские карты
- Telegram удерживает комиссию при покупке Stars (в соответствии с политикой магазинов приложений)
- Владельцы ботов могут выводить Stars в криптовалюте TON
Важно: Telegram Stars предназначены только для цифровых товаров и услуг. Для продажи физических товаров необходимо использовать Bot Payments API с традиционными платёжными провайдерами.
Настройка платежей: пошаговая инструкция
Шаг 1: Создайте бота через @BotFather
Если у вас ещё нет бота, откройте @BotFather в Telegram и отправьте команду /newbot. Следуйте инструкциям: придумайте имя и username для бота, после чего получите токен бота — он понадобится для настройки платежей.
Шаг 2: Подключите платёжного провайдера
Отправьте /mybots в @BotFather, выберите вашего бота, затем нажмите Payments. Выберите подходящего провайдера из списка. Каждый провайдер проведёт вас через собственную процедуру верификации:
- Для ЮKassa: зарегистрируйтесь на yookassa.ru, создайте магазин и подключите
shopIdи секретный ключ - Для Сбербанка: потребуется договор эквайринга с банком
- Для Stripe: нужно указать данные компании, банковский счёт и пройти верификацию личности
- Для Telegram Stars: дополнительная настройка не требуется — Stars доступны по умолчанию
Шаг 3: Создайте платёжный счёт (Invoice)
Используйте метод sendInvoice или createInvoiceLink в Bot API для формирования платёжных запросов. Базовый счёт включает:
-
title— название товара или услуги (например, «Доступ к премиум-каналу — 1 месяц») -
description— описание того, за что платит пользователь -
payload— внутренний идентификатор для ваших записей -
currency— код валюты по ISO 4217 (RUB,USD,EUR,XTRдля Stars) -
prices— массив ценовых компонентов
{
"title": "Месячная подписка",
"description": "Доступ к эксклюзивным торговым сигналам на 30 дней",
"payload": "sub_monthly_user123",
"provider_token": "YOUR_PROVIDER_TOKEN",
"currency": "RUB",
"prices": [{"label": "Месячный доступ", "amount": 99900}]
}
Обратите внимание: amount указывается в минимальных единицах валюты — 99900 означает 999,00 ₽.
Шаг 4: Обработайте подтверждение платежа
Ваш бот получает pre_checkout_query перед финализацией платежа. Вы обязаны ответить на него в течение 10 секунд с помощью метода answerPreCheckoutQuery. После успешной оплаты бот получает сообщение successful_payment с деталями транзакции.
Шаг 5: Доставьте товар или услугу
После подтверждения оплаты ваш бот должен автоматически:
- Предоставить доступ к платному каналу или контенту
- Отправить подтверждение с деталями покупки
- Сохранить информацию о транзакции в базе данных
Модели монетизации для Telegram-каналов
Разовая оплата за доступ
Вы берёте единоразовую плату за постоянный доступ к приватному каналу. Например, канал с обучающими материалами по программированию может предлагать доступ к архиву курсов за 499 ₽. Модель хорошо работает для статичных библиотек контента.
Подписочная модель
Ежемесячные или годовые подписки обеспечивают предсказуемый доход. Например, канал с аналитикой по криптовалютам может брать 1 990 ₽/месяц за ежедневные торговые сигналы. Бот должен:
- Обработать первичный платёж
- Отслеживать дату окончания подписки
- Отправлять напоминание о продлении за 3 дня до истечения
- Автоматически отзывать доступ у пользователей с истёкшей подпиской
Оплата за отдельный контент
Продажа отдельных постов, отчётов или медиафайлов. Канал с инвестиционными обзорами может продавать аналитические разборы отдельных акций за 299 ₽ каждый. Эта модель подходит, когда материалы сильно различаются по ценности.
Многоуровневый доступ
Создайте несколько уровней подписки:
- Бесплатный — базовые посты, обзор рынка
- Стандарт (990 ₽/мес) — детальная аналитика, еженедельные отчёты
- Премиум (2 990 ₽/мес) — уведомления в реальном времени, личные консультации, закрытое сообщество
Использование Telegram Stars для приёма платежей
Telegram Stars упрощают монетизацию цифровых товаров. Вот как их подключить:
- Установите
provider_tokenв пустую строку в вызовеsendInvoice - Используйте
XTRкак код валюты - Укажите цену в Stars (1 Star ≈ 1,5–2 ₽, курс плавающий)
{
"title": "Пакет эксклюзивных постов",
"description": "10 премиум-аналитических постов",
"payload": "pack_10_posts",
"provider_token": "",
"currency": "XTR",
"prices": [{"label": "Пакет постов", "amount": 250}]
}
Пользователь оплачивает 250 Stars (примерно 400–500 ₽), а вы получаете Stars, которые можно вывести или использовать внутри экосистемы Telegram.
Вывод заработанных Stars
Владельцы ботов могут конвертировать заработанные Stars в TON (криптовалюту, связанную с Telegram) через @Fragment. Действует минимальный порог вывода, и Telegram удерживает комиссию платформы при выводе средств.
Автоматизация платежей с помощью фреймворков
Если вы создаёте платёжного бота с нуля, популярные фреймворки значительно упрощают разработку:
-
Python:
aiogram,python-telegram-bot -
Node.js:
telegraf,grammY -
Ruby:
telegram-bot-ruby -
PHP:
nutgram,BotMan
Большинство фреймворков содержат встроенные обработчики платёжных событий, что делает реализацию максимально простой.
Как сделать платный контент доступнее для аудитории
Приём платежей — это только половина дела. Потенциальные подписчики должны узнать о вашем канале. Публикация контента канала в веб-формате через сервисы вроде tgchannel.space создаёт SEO-оптимизированное зеркало, которое помогает новой аудитории находить ваш контент через поисковые системы. Бесплатные превью-посты на сайте работают как воронка, направляя читателей в ваш платный Telegram-канал.
Советы и лайфхаки
- Начните с Telegram Stars для простоты. Если вы впервые настраиваете монетизацию, Stars не требуют подключения платёжного провайдера и работают по всему миру без дополнительных настроек.
- Всегда отправляйте чек. После успешной оплаты отправьте пользователю подробное сообщение с подтверждением: что куплено, сколько списано, как получить доступ к контенту.
- Предложите пробный период. Дайте пользователям доступ к премиум-каналу бесплатно на 3–7 дней. Конверсия в платную подписку обычно вырастает на 30–50%, когда пользователь может оценить контент перед покупкой.
- Используйте inline-клавиатуры для допродаж. После публикации бесплатного поста добавьте кнопку «Открыть полный разбор — 299 ₽» прямо под текстом.
-
Тестируйте в тестовом режиме. Перед запуском используйте тестовые данные провайдера для имитации транзакций без реальных денег. Для Stripe тестовая карта —
4242 4242 4242 4242с любой будущей датой. -
Настройте механизм возвратов. Реализуйте команду
/refundили форму обратной связи. Для Stars-транзакций Telegram API поддерживает методrefundStarPayment. - Отслеживайте метрики. Следите за конверсией, средним доходом на пользователя (ARPU) и оттоком. Здоровый подписочный канал должен стремиться к оттоку менее 10% в месяц.
Частые ошибки
Ошибка 1: Не отвечать на pre_checkout_query вовремя
Почему это неправильно: Telegram даёт только 10 секунд на ответ. Если ваш сервер медленный или обработчик не реализован, платёж молча отклоняется, а пользователь остаётся в недоумении.
Как избежать: Реализуйте лёгкий и быстрый обработчик для pre_checkout_query. Тяжёлую валидацию выполняйте асинхронно уже после подтверждения.
Ошибка 2: Продажа физических товаров через Stars
Почему это неправильно: Условия использования Telegram ограничивают Stars цифровыми товарами и услугами. Продажа физических товаров через Stars может привести к блокировке бота.
Как избежать: Используйте Bot Payments API с традиционным провайдером (ЮKassa, Stripe, Сбербанк) для физических товаров и услуг.
Ошибка 3: Отсутствие управления сроком подписки
Почему это неправильно: Ручное отслеживание того, кто и когда оплатил, становится невозможным при росте аудитории. Неоплатившие пользователи сохраняют доступ, а оплатившие могут его потерять из-за ошибок.
Как избежать: Создайте систему с базой данных, которая автоматически отслеживает даты платежей, отправляет напоминания о продлении и отзывает доступ по истечении подписки.
Ошибка 4: Слишком низкая цена на старте
Почему это неправильно: Психологически гораздо проще снизить цену, чем поднять. Если вы начнёте с 199 ₽/месяц, а затем повысите до 990 ₽, это вызовет негативную реакцию ранних подписчиков.
Как избежать: Изучите конкурентов, установите устойчивую цену с самого начала, а скидки для ранних подписчиков предлагайте как отдельную промоакцию, а не как базовую стоимость.
Ошибка 5: Игнорирование региональных платёжных предпочтений
Почему это неправильно: Канал, ориентированный на русскоязычную аудиторию, но принимающий оплату только через Stripe, потеряет клиентов, которые привыкли к ЮKassa или оплате картами Сбербанка.
Как избежать: Подключите несколько платёжных провайдеров, соответствующих географии вашей аудитории. В @BotFather можно настроить несколько провайдеров одновременно.
Часто задаваемые вопросы
Какая минимальная сумма платежа в Telegram?
Минимум зависит от платёжного провайдера. Для ЮKassa минимальная сумма — 1 ₽, для Stripe — обычно $0,50. Для Telegram Stars минимальный счёт составляет 1 Star. Большинство провайдеров устанавливают собственный порог для покрытия расходов на обработку транзакций.
Берёт ли Telegram комиссию за платежи?
Сам Telegram не взимает комиссию за транзакции через Bot Payments API — комиссию удерживает ваш платёжный провайдер (обычно 1,5%–3,5%). Для Telegram Stars платформа берёт свою долю, соответствующую комиссии магазинов приложений (до 30% на покупку Stars через iOS).
Можно ли принимать платежи без бота?
Напрямую через нативную платёжную систему Telegram — нет. Для использования Payments API или Stars необходим бот. Однако вы можете воспользоваться сторонними сервисами — Boosty, Patreon, прямыми переводами на карту — но в этом случае пользователю придётся покидать Telegram для завершения транзакции.
Как оформить возврат средств?
Для транзакций через Bot Payments API возврат осуществляется через панель управления платёжного провайдера (например, личный кабинет ЮKassa или Stripe Dashboard). Для платежей Stars используйте метод refundStarPayment в Bot API, передав telegram_payment_charge_id из исходной транзакции.
Можно ли принимать криптовалюту в Telegram?
Telegram нативно не поддерживает крипто-платежи через Bot Payments API, однако вы можете интегрировать сторонние крипто-платёжные шлюзы (например, CryptoPay-бот или решения на базе TON) в логику вашего бота. TON (Toncoin) особенно глубоко интегрирован в экосистему Telegram через бот @wallet.