Приём платежей в Telegram-боте за 30 минут, YooKassa, Stripe
Следующий шаг
Открой бота или продолжай маршрут внутри раздела.
Статья -> план в ИИ
Отправь ссылку на эту статью в любой ИИ и получи план внедрения под свой проект.
Прочитай эту статью: https://vibecode.morecil.ru/ru/oplaty-i-podpiski/priem-platejei-telegram-bot/
Работай в контексте моего текущего проекта.
Сделай план внедрения под мой стек:
1) что изменить
2) в каких файлах
3) риски и типичные ошибки
4) как проверить, что всё работает
Если есть варианты, дай "быстрый" и "production-ready". Как использовать
- Скопируй этот промпт и отправь в чат с ИИ.
- Прикрепи проект или открой папку репозитория в ИИ-инструменте.
- Попроси изменения по файлам, риски и короткий чеклист проверки.
У вас уже есть Telegram-бот (или вы только что его запустили). Теперь самое важное — монетизация.
С помощью нативных платежей Telegram (метод sendInvoice) вы добавляете кнопку «Оплатить» прямо в чат. Пользователь платит картой, не выходя из Telegram. Никаких внешних ссылок, никаких редиректов.
Сегодня разберём два реальных провайдера (на февраль 2026):
| Провайдер | Лучше для кого | Комиссия (примерно) | Поддерживаемые методы в Telegram | Подписки (recurring) |
|---|---|---|---|---|
| YooKassa (ЮKassa) | RU / СНГ / Литва | от 2,8 % + НДС (карты РФ) | Карты РФ, YooMoney, SberPay | Через полный API |
| Stripe | Международная аудитория | 2,9 % + 0,30 $ (US/EU) + доп. за иностранные карты | Visa, MC, Apple Pay, Google Pay | Через Stripe Billing (отлично) |
Telegram Payments — это бесплатная обёртка от Telegram. Ни Telegram, ни вы не храните данные карт. Всё обрабатывает провайдер.
1. Что нужно для старта (10 минут)
Бот (уже есть или создайте через
@BotFather→/newbot).Аккаунт провайдера:
- YooKassa: yookassa.ru/joinups — регистрируетесь как ИП/самозанятый/ООО. Магазин активируется за 1–2 дня.
- Stripe: stripe.com — для Литвы/ЕС/международки. Верификация быстрее, но RU-карты могут быть ограничены.
Подключение провайдера в BotFather (самый важный шаг!):
Откройте
@BotFather→/mybots→ выберите вашего бота → Payments- YooKassa: выберите «YooMoney: payments» (или «YooMoney: test» для теста) → авторизуйтесь в чате с ботом YooMoney → вернитесь в BotFather → скопируйте provider_token.
- Stripe: выберите «Stripe LIVE MODE» (или TEST) → подключите аккаунт Stripe.
Токен выглядит примерно так:
381764678:TEST:1234567890abcdef(тестовый)381764678:LIVE:XXXXXXXXXXXXXXXX(боевой)
Готово! У вас есть provider_token.
2. Архитектура (как всё работает)
Пользователь → /buy
Бот → sendInvoice (с provider_token)
Пользователь → нажимает «Оплатить» → вводит данные карты в безопасном окне Telegram
Telegram → pre_checkout_query (бот должен ответить за 10 сек)
Telegram → successful_payment
Бот → выдаёт доступ / отправляет файл / активирует подписку
Ключевые обновления, которые обязательно обрабатывает бот:
pre_checkout_query— подтверждение заказаsuccessful_payment— успешная оплатаshipping_query(если нужен адрес доставки)
3. Готовые промпты для Claude / Cursor / Grok (копируйте-вставляйте)
Промпт №1: Полный бот на Python + aiogram 3.x (YooKassa + Stripe)
Напиши полноценный Telegram-бот на aiogram 3.13+ (async), который принимает платежи через YooKassa или Stripe.
Требования:
- Команда /buy — отправляет invoice на 990 RUB (YooKassa) и 15 USD (Stripe) в зависимости от выбора пользователя
- provider_token хранить в .env (два токена: YOOKASSA_TOKEN и STRIPE_TOKEN)
- Обработчики: pre_checkout_query (всегда ok=True), successful_payment (записать в базу пользователя, выдать доступ)
- База — SQLite (таблица users: id, paid_until, payment_id)
- После успешной оплаты отправлять сообщение "Доступ открыт!" + кнопки
- Полная обработка ошибок, логирование
- Код должен быть готов к запуску на Railway / Render / VPS
Промпт №2: Node.js + Telegraf
Сгенерируй готовый Telegram-бот на Node.js + Telegraf 4.x + dotenv.
Функционал: команда /pay, inline-кнопки "Оплатить 990₽ (YooKassa)" и "Pay $15 (Stripe)".
Использовать sendInvoice с правильными provider_token.
Обработать pre_checkout_query и successful_payment.
После оплаты сохранить в JSON-файл или Supabase.
Код должен запускаться одной командой npm start.
Промпт №3: Для подписок (recurring)
Пользователь хочет ежемесячную подписку. Telegram Payments не поддерживает recurring нативно. Сгенерируй архитектуру:
1. Первый платеж — через sendInvoice (YooKassa)
2. После успешного платежа создать recurring payment в YooKassa API / Stripe Billing
3. Вебхук от YooKassa / Stripe на /webhook для автоматического продления
4. При неудачном списании — отключить доступ
Напиши готовый код + промпты для создания вебхука.
4. Пошаговая реализация за 30 минут
Шаг 1 (5 мин)
Зарегистрируйтесь в YooKassa/Stripe, подключите в BotFather.
Шаг 2 (10 мин)
Скопируйте промпт №1 или №2 в Claude/Cursor → получите готовый бот.
Шаг 3 (5 мин)
Создайте .env и вставьте токены.
Шаг 4 (5 мин)
Запустите бота (python main.py или node index.js).
Шаг 5 (5 мин)
Протестируйте:
- YooKassa test: карты 4111 1111 1111 1111, CVC любой, срок любой будущий
- Stripe test: 4242 4242 4242 4242
5. Webhooks и продакшен
Для продакшена обязательно настройте webhook (не long polling):
# aiogram пример
await bot.set_webhook("https://your-domain.com/webhook")
YooKassa и Stripe тоже шлют свои вебхуки (для возвратов, recurring). Добавьте эндпоинт /yookassa_webhook и /stripe_webhook.
Пример обработки successful_payment (aiogram):
@dp.message(F.successful_payment)
async def got_payment(message: Message):
payment = message.successful_payment
# payment.provider_payment_charge_id — ID транзакции в YooKassa/Stripe
await message.answer(f"Спасибо! Оплата прошла. ID: {payment.provider_payment_charge_id}")
# здесь активируйте подписку / выдайте файл
6. Как поддерживать и масштабировать
- Возвраты: в личном кабинете YooKassa/Stripe (или через API
refund). - Чарджбеки: Stripe автоматически, YooKassa — через поддержку.
- Аналитика: добавьте в успешный платеж отправку в Google Sheets / Supabase.
- Несколько товаров: используйте
payload— JSON с ID товара. - Подписки: после первого платежа переходите на полный YooKassa API или Stripe Subscriptions (промпт №3).
- Налоги 54-ФЗ: YooKassa автоматически формирует чеки, если добавите
provider_dataс receipt.
7. Частые вопросы (FAQ)
Можно ли принимать платежи из России без VPN?
Да — YooKassa работает идеально.
Работает ли на iOS для цифровых товаров?
Для цифровых товаров используйте Telegram Stars (provider_token = "") — с 2025 года Apple разрешила.
Сколько занимает одобрение магазина?
YooKassa — 1–3 дня, Stripe (Литва) — до 7 дней.
Нужен ли SSL для вебхука?
Да. Используйте Railway, Render или Cloudflare Tunnel.