Подключить оплату к Telegram-боту в 2026 можно тремя способами: ЮKassa для рублей через провайдер-токен, Telegram Stars для цифровых товаров через валюту XTR, Telegram Payments 2.0 как общий каркас под оба варианта. Технически это 30-50 строк кода на…
10+ лет в маркетинге, 300+ клиентских проектов: сайты, реклама, боты. Создатель GoBanana (228K+ пользователей, 11.6 млн ₽ выручки) и VibeCoderz. Делаю AI-продукты сам через Claude Code, Cursor, Windsurf и консультирую тех, кто хочет так же.
Об авторе →Claude Code: новый CLI-агент от Anthropic
Anthropic выпустила Claude Code — терминальный AI-агент для разработчиков. Инструмент работает прямо в командной строке и умеет писать, редактировать и запускать код.
Zcode AI: Полный гид по визуальному интерфейсу для Claude Code и AI-агентов
Узнайте, как использовать Zcode для управления Claude Code, Gemini и Codex в едином GUI. Настройка провайдеров, MCP-серверов и визуальный вайбкодинг.
YouTube-канал с монетизацией из любой точки мира: Пошаговый гайд 2026
Инструкция по созданию YouTube-канала: обход блокировок SMS, настройка расширенных функций через виртуальные номера и правила безопасности для монетизации.
Windsurf Code Maps: Как глубоко понимать архитектуру проекта перед написанием кода
Полный гайд по Windsurf Code Maps, модели Sway 1.5 и Sway Grep. Узнайте, как визуализировать архитектуру кода и ускорить разработку в 13 раз.
Vk Fast Cash Strategy
Аудитория ВКонтакте — это те же люди, что и в Instagram, но 'социальный контракт' площадки другой. Если Instagram — это 'дорогой ресторан' с демонстрацией успеха, то VK — это 'душевная шашлычная'. Здесь не работает глянцевый 'успешный успех
Обновлено: июнь 2026.
Подключить оплату к Telegram-боту в 2026 можно тремя способами: ЮKassa для рублей через провайдер-токен, Telegram Stars для цифровых товаров через валюту XTR, Telegram Payments 2.0 как общий каркас под оба варианта. Технически это 30-50 строк кода на aiogram 3 и десять минут настройки в BotFather. Ниже разбираем когда что брать, какие промпты давать Windsurf и на каких ошибках чаще всего спотыкается интеграция.
TL;DR. Хотите создать бота для продажи физического товара или услуги за рубли, берите ЮKassa. Продаете доступ к контенту, подписку, цифровой продукт внутри Telegram, обязаны использовать Stars (правила платформы). Telegram Payments 2.0 это API-слой, через который оба способа подключаются одинаковым кодом: send_invoice, pre_checkout_query, successful_payment.
Три варианта закрывают 95% задач: ЮKassa для рублей и физических товаров, Telegram Stars для цифрового контента внутри Telegram, Payments 2.0 как унифицированное API над обоими.
Bot Payments API от Telegram это посредник между ботом, пользователем и платежной системой. Сам Telegram деньги не держит и комиссию с разработчика не берет: всю работу с картами выполняет провайдер вроде ЮKassa, а Stars обрабатываются внутри экосистемы Telegram через Fragment с выводом в TON. Источник: core.telegram.org/bots/payments.
Базовая логика одна для всех трех способов. Бот вызывает метод send_invoice с описанием товара и ценой, Telegram показывает пользователю нативное окно оплаты, после транзакции бот получает событие successful_payment и выдает продукт. Различия в одном поле: currency и provider_token.
Для ЮKassa: currency="RUB", provider_token берется в боте провайдера. Для Stars: currency="XTR", провайдер-токен пустой. Telegram Payments 2.0 это апдейт API 7.4+, который добавил подписки через Stars, повтор инвойсов и расширенную работу с возвратами. Под капотом тот же send_invoice.
| Способ | Валюта | Provider token | Под что подходит | Комиссия |
|---|---|---|---|---|
| ЮKassa | RUB | Нужен | Физтовары, услуги, рубли | 3-3.5% с оборота |
| Telegram Stars | XTR | Не нужен | Цифровой контент внутри Telegram | Почти 0% при выводе в TON |
| CryptoBot | USDT/TON/BTC | Нужен сторонний | Криптовалюта, зарубежные клиенты | 0-3% |
| Robokassa | RUB | Нужен | Альтернатива ЮKassa | от 2.5% |

ЮKassa подключается через токен из BotFather. Сумма передается в копейках, тестовый режим работает без ИП. Обработка платежа закрывается двумя хэндлерами: pre_checkout_query и successful_payment.
Тестовый provider_token у ЮKassa получается за пять минут через диалог с ботом ЮKassa в самом Telegram. Боевой токен требует подтвержденного статуса ИП, ООО или самозанятого. Лимит тестового режима 1000 рублей за платеж, для отладки воронки этого хватает с запасом.
Алгоритм подключения на aiogram 3.13+ выглядит так. Откройте @BotFather, зайдите в /mybots, выберите своего бота, Payments, в списке найдите ЮKassa Test. Бот сам перенаправит в чат с @YooKassaBot, который выдаст токен формата 381764678:TEST:104387. Эту строку положите в .env как YOOKASSA_TOKEN.

В коде бота send_invoice вызывается с одним обязательным условием: цена в копейках. 500 рублей это 50000. Это типовой баг новичков. Ставят 500 в коде, получают платеж на 5 рублей и думают, что ЮKassa глючит. Платежные системы работают в минимальных единицах валюты, чтобы избежать ошибок округления.
from aiogram import Bot
from aiogram.types import LabeledPrice
await bot.send_invoice(
chat_id=user_id,
title="Курс по вайбкодингу",
description="7 модулей, доступ навсегда",
payload="course_vibecoderz_2026",
provider_token=YOOKASSA_TOKEN,
currency="RUB",
prices=[LabeledPrice(label="Курс", amount=890000)], # 8900 рублей
)Дальше два обязательных хэндлера. pre_checkout_query приходит за 10 секунд до списания, бот отвечает True или False. successful_payment срабатывает после реального списания, тут уже выдается доступ к продукту и пишется запись в базу.
Stars это внутренняя валюта Telegram (XTR), Payments 2.0 это сам API над платежами. Все цифровые товары в боте теперь обязательно идут через Stars, иначе бан по правилам платформы.
С 2024 года Telegram обновил правила для ботов: цифровые товары и услуги внутри Telegram можно продавать только за Stars. ЮKassa и другие провайдеры остаются для физических товаров и услуг вне платформы (доставка, билеты, физические курсы). За продажу цифрового контента за рубли через ЮKassa бот блокируется без предупреждения.

Stars устроены просто. Пользователь покупает их через Apple IAP, Google Play или @PremiumBot. Курс в среднем 1.5-2 рубля за одну звезду в зависимости от стора. Бот принимает Stars через стандартный send_invoice с одной заменой: currency="XTR", provider_token="". Никаких сторонних провайдеров.
await bot.send_invoice(
chat_id=user_id,
title="Premium доступ",
description="30 дней безлимита",
payload="premium_30d",
provider_token="", # для Stars пусто
currency="XTR",
prices=[LabeledPrice(label="Подписка", amount=500)], # 500 звезд
)Бот для продажи звезд в чистом виде, как продукт, делать не нужно: Stars нельзя перепродавать, это нарушение правил. Зато бот, который принимает Stars за свои товары, это норма. Подписки через subscription_periodпоявились в Payments 2.0 в 2025 и закрывают модель SaaS: пользователь оплатил месяц, через 30 дней Telegram сам пытается списать снова, бот получает уведомление.
Telegram Payments 2.0 принципиально упростил три вещи: подписки через Stars (без CRM сбоку), повторные инвойсы по invoice_link, единый возврат через refundStarPayment. Если делаете подписочный продукт на цифровом контенте внутри Telegram, в 2026 это де-факто единственный нормальный путь.
Промпт-PRD из шести блоков: стек, FSM-состояния, объект Invoice, хэндлеры pre_checkout и successful_payment, переменные окружения, тесты. Без указания версии aiogram 3.13+ агент часто пишет код от aiogram 2.
Windsurf и Cursor берут модель Claude Sonnet 4.6 или Opus 4.8 как мозг агента (каталог IDE на VibeCoderz). Модель обучена на смеси aiogram 2 и aiogram 3. Без явного указания версии в промпте получаете архитектуру 2018 года, с lambda-фильтрами и ручным bot=Bot(token). Полчаса теряете на переписывание.
Рабочий промпт под оплату через ЮKassa в Windsurf выглядит так. Открываете Cascade, переключаете на Claude Sonnet 4.6, вставляете:
Создай Telegram-бот для продажи [название продукта] на aiogram 3.13+.
Стек: Python 3.11, aiogram 3.13, aiosqlite, python-dotenv.
FSM-состояния:
- start (главное меню, две кнопки "Купить" и "Что внутри")
- show_details (описание продукта, кнопка "Оплатить")
- payment (отправка invoice через ЮKassa)
- access_granted (выдача доступа после successful_payment)
Платежи через ЮKassa, токен в .env как YOOKASSA_TOKEN.
Сумма в копейках, currency RUB.
Хэндлер pre_checkout_query отвечает True.
Хэндлер successful_payment пишет запись в SQLite (user_id, payload, amount, created_at).
После оплаты бот отправляет инструкцию доступа к продукту.
База данных: aiosqlite с таблицей payments (id, user_id, payload, amount, status, created_at).
.env с BOT_TOKEN, YOOKASSA_TOKEN, ADMIN_ID.
README с инструкцией запуска.Этого хватает Windsurf чтобы собрать рабочий MVP за один прогон. На выходе получаете 200-300 строк кода с разбивкой по handlers/, states/, keyboards/, db.py. Дальше остается прогнать тестовую оплату и поменять текст под себя.
Если делаете под Telegram Stars, в промпте меняете: вместо ЮKassa указываете currency XTR, provider_token пустой строкой. И добавляете subscription_period=2592000 если нужна подписка на 30 дней. Остальное идентично.
Топ-5 ошибок: сумма в рублях вместо копеек, забытый ответ на pre_checkout_query, тестовый токен в продакшене, отсутствие protect_content, отсутствие идемпотентности на successful_payment.
Эти пять багов закрывают 80% жалоб разработчиков в чате aiogram. Они не зависят от стека, провайдера или модели: всплывают одинаково на ЮKassa, Stars и Robokassa. Проверять при первой интеграции по списку, экономит часы дебага.

Разбор по порядку.
prices=[LabeledPrice(label=..., amount=...)] передается целое число в минимальных единицах валюты. 100 рублей это 10000, не 100. Bug-репорт «ЮKassa списала 1 рубль вместо 100» в 9 случаях из 10 это оно.:TEST:. Клиент платит реальной картой, получает ошибку «Tеst payments are not available». Перед деплоем проверка одной строкой: assert ":TEST:" not in YOOKASSA_TOKEN.protect_content=True всегда.successful_payment дважды. Без проверки payload в базе бот выдаст доступ два раза, либо создаст две записи. Решается unique-индексом на telegram_payment_charge_id.Шестая ошибка отдельно для Stars: попытка продавать звезды как товар. По правилам это запрещено и бот блокируется через 24-48 часов. Если делаете бот для продажи звезд, держите в голове: это не отдельный продукт, это валюта внутри Telegram-экосистемы.
ЮKassa берется когда продаете физтовар, услугу офлайн, доступ к сайту вне Telegram. Stars берутся когда продаете цифровой контент или подписку внутри Telegram. Третьего варианта правила не дают.
Логика выбора простая. Если товар физически уходит клиенту (мерч, оборудование, продукт) или услуга оказывается вне Telegram (доставка, консультация, курс на отдельной платформе), ЮKassa единственный нормальный вариант. Цифровой контент в самом Telegram, доступ к боту, премиум-фичи, подписки на каналы, тут только Stars.

Что не очевидно из доков. Курс на YouTube или Notion это не «внутри Telegram», даже если ссылка приходит через бота. Доступ к закрытому Telegram-каналу формально цифровая услуга, но Telegram пока не штрафует за продажу такого доступа через ЮKassa. Серая зона, держите ее в уме.
| Сценарий | Способ | Почему |
|---|---|---|
| Доставка пиццы через бота | ЮKassa | Физтовар, рубли удобнее клиенту |
| Доступ к курсу на сайте | ЮKassa | Услуга оказывается вне Telegram |
| Подписка на премиум-функции бота | Stars | Цифровая услуга внутри Telegram |
| Покупка стикеров или гифок | Stars | Контент внутри платформы |
| Бронирование консультации | ЮKassa | Услуга в Zoom, не в Telegram |
| Чаевые автору контента | Stars | Транзакция внутри платформы |
| Продажа товара на маркетплейсе | ЮKassa | Физтовар с доставкой |
| Доступ к закрытому чату | Stars или ЮKassa | Серая зона, на свой риск |
Максим: «На NanaBanana мы изначально подключили ЮKassa, потому что продавали "генерацию фото в Telegram" как цифровую услугу. В 2024 правила Telegram поменялись, и я за два дня переписал биллинг на Stars. Это около 50 строк кода. Бот в Telegram даже не заметил, что я что-то поменял: 80 000+ подписчиков продолжали платить, выручка 12 миллионов рублей за 7 месяцев, ноль рублей в рекламу. Сделал и получил цифру.»
Технически запуск стоит 0 рублей: тестовая ЮKassa бесплатна, Stars не требуют провайдера, Railway дает $5 кредитов в месяц, Supabase бесплатно до 500 МБ. Окупаемость от первой оплаты, дальше вопрос трафика.
По данным Telegram, к 2026 году платежи через Bot API проходят у 1.4 млрд активных пользователей в месяц. Это не значит, что вам автоматически достается доля. Но порог входа реально нулевой: BotFather, токен ЮKassa, Railway-деплой, и оплата уже работает на тестовом стенде.
Бюджет первого месяца разложен в таблице ниже. Это реальные цифры с продакшена нашего ученика, который делал бот для продажи фото-пресетов в марте 2026.
| Статья | Стоимость | Комментарий |
|---|---|---|
| BotFather + ЮKassa тест | 0 ₽ | Бесплатно, без ИП |
| Railway hosting | $5/мес | Кредит на старте, дальше $5-10 |
| Supabase | 0 ₽ | Free tier 500 МБ |
| Claude Sonnet 4.6 для Windsurf | $20/мес | Подписка, не pay-per-use |
| Регистрация ИП | 800 ₽ | Только когда переходите на боевой ЮKassa |
| Итого первый месяц | ~2000 ₽ | С учетом курса доллара |
Окупаемость считается от первого заказа. У ученика Юркевича бот окупился за 12 дней: 7 оплат по 3000 рублей, итого 21 000 рублей при затратах 2000. На втором месяце выручка 47 000, к третьему 110 000. Без рубля рекламы, через канал автора в Telegram.

Принцип трех единичек работает и тут. Один сегмент (например, фотографы на iPhone), одна задача (пресеты для съемки еды), одна функция (бот выдает пресеты после оплаты). Бот «продает все подряд» это размытое позиционирование, которое плохо продается. Создать бота для продажи имеет смысл когда у вас есть конкретный продукт и понятная аудитория.
Можно ли подключить оплату к Telegram-боту без ИП и юрлица?
В тестовом режиме ЮKassa и в Telegram Stars это работает без юридического оформления. Боевой provider_token ЮKassa требует ИП, ООО или статус самозанятого. Stars подключаются через личный аккаунт разработчика, без бумаг. Вывод заработанных Stars идет через Fragment в TON, оттуда через крипто-обменник в рубли. Для официальной выручки и налогов после первых 100 000 в месяц лучше открыть самозанятость, это 1 час в приложении «Мой налог».
Что лучше для бота с цифровыми товарами Stars или ЮKassa?
По правилам Telegram цифровой контент внутри платформы продается только за Stars. ЮKassa в этом сценарии нарушение TOS, бот блокируется без предупреждения. Stars не имеют комиссии с разработчика при выводе в TON. Минус Stars: пользователь сначала покупает их через Apple IAP или PremiumBot, а это лишний шаг. Если ваша аудитория уже сидит в Telegram и привыкла к Stars, проблемы нет. Если люди приходят с улицы, ЮKassa проще.
Какая комиссия у Telegram Stars при выводе средств в 2026?
Сам Telegram комиссию с разработчика при выводе Stars в TON через Fragment почти не берет. Реальная цена для покупателя выше из-за наценки Apple и Google в их IAP, но это маржа сторов, а не комиссия с вашей выручки. На круг разработчик получает примерно $0.013 за каждую Star (около 1 рубля по курсу июня 2026). Для подписочной модели это работает в плюс: нет 3.5% эквайринга как у ЮKassa.
Сколько стоит запустить бота для продаж с оплатой?
Технически ноль рублей. BotFather бесплатен, тестовая ЮKassa бесплатна, Railway дает $5 кредитов в месяц новым аккаунтам, Supabase бесплатен до 500 МБ. Боевой запуск держится в 0-500 рублей в месяц первые полгода. С масштабом до 10 000 пользователей в месяц расходы вырастают до 3-5 тысяч рублей: Railway уже $20-30, плюс Redis для FSM, плюс мониторинг. Reklamу при этом тратить не надо, если идете через SEO и каталоги (каталог Telegram-ботов на VibeCoderz).
Можно ли принимать оплату криптой в Telegram-боте?
Да, через сторонние шлюзы: CryptoBot, CryptoCloud, NOWPayments. Они принимают USDT, TON, BTC, ETH. Подключаются как сторонний провайдер, не через нативный Bot Payments API. Комиссия 0-3%, нет требований к юрлицу. Подходит для зарубежной аудитории и клиентов без российских карт. Минус: не все пользователи понимают как платить криптой, конверсия ниже чем у ЮKassa в России. Лучше держать оба варианта параллельно.
Что делать если successful_payment не приходит а деньги списались?
Сначала проверьте логи на хэндлере pre_checkout_query. Если ответ True не ушел за 10 секунд, Telegram сам отменит платеж и деньги вернутся клиенту в течение 24 часов. Если ответ ушел, но successful_payment не пришел, проверьте вебхук на стороне бота (если работаете в webhook-режиме) или сетевое соединение. ЮKassa возвращает платеж клиенту автоматически через 24 часа, если бот не подтвердил доставку. Telegram Stars в такой ситуации остаются у Telegram до ручного решения через refundStarPayment.
Где смотреть аналитику по платежам в Telegram-боте?
Для ЮKassa: личный кабинет на yookassa.ru. Там видны все транзакции, чарджбэки, выручка по дням. Для Stars: @PremiumBot показывает баланс ваших звезд и историю поступлений. Для агрегации обоих ставят свою таблицу в Supabase или Google Sheets через webhook, в которую пишутся события successful_payment. Дальше уже строится дашборд в Metabase или Looker Studio, чтобы видеть выручку, средний чек, ARPU, LTV. Без этого слоя продукт растет вслепую.
Bot Payments API. Унифицированный API Telegram для приема платежей в ботах через send_invoice, pre_checkout_query, successful_payment. Работает с любым провайдером, включая Stars.
ЮKassa. Российский платежный провайдер Сбера. Принимает Visa, Mastercard, МИР, СБП, Apple Pay, Google Pay. Подключается к Telegram через provider_token, комиссия 3-3.5% с оборота для боевого режима.
Telegram Stars (XTR). Внутренняя валюта Telegram для цифровых товаров и услуг внутри платформы. Покупаются пользователями через Apple IAP, Google Play или @PremiumBot. Выводятся разработчиком через Fragment в TON.
Telegram Payments 2.0. Обновление Bot Payments API 2024-2025 годов с поддержкой подписок через Stars, расширенными возвратами, повторными инвойсами. Не отдельный API, а слой над основным.
provider_token. Строка-идентификатор провайдера платежей в send_invoice. Для ЮKassa получается у @YooKassaBot, для Robokassa у @Robokassa_payment_bot. Для Stars провайдера нет, токен передается пустой строкой.
pre_checkout_query. Событие, которое Telegram присылает боту за 10 секунд до списания денег с карты пользователя. Бот должен подтвердить или отклонить платеж. Молчание = отмена платежа на стороне Telegram.
successful_payment. Событие, которое приходит в бот после успешного списания. В этом хэндлере выдается доступ к продукту, пишется запись в базу, отправляется уведомление в админ-чат.
Fragment. Платформа Telegram для аукционов имен пользователей и вывода Stars. Конвертирует Stars в TON со ставкой около $0.013 за одну звезду. Дальше TON выводится в любую крипту через биржу.

Если разобрались с теорией, дальше путь короткий. Откройте каталог IDE для вайбкодинга на VibeCoderz, выберите Windsurf или Cursor (оба работают одинаково хорошо для Telegram-ботов), поставьте Claude Sonnet 4.6 как основную модель. Скопируйте промпт-PRD из этой статьи, замените описание продукта на свое, прогоните через агент. Через 30-60 минут у вас рабочий MVP бота с оплатой через ЮKassa или Stars.
Если хотите ускорить путь и получить разбор именно вашей идеи, запишитесь на консультацию к Максиму. Он прошел этот путь от первого бота до NanaBanana с 200 000+ пользователей и 12 миллионами выручки без рубля в рекламу. На звонке разбираем нишу, продукт, монетизацию, технический стек и план запуска.
Обновлено: июнь 2026. VibeCoderz, крупнейший русскоязычный каталог AI-инструментов, IDE и материалов для вайбкодинга. Авторы: Максим и Елисавета Наговицыны.