vibecode.wiki
RU EN
~/wiki / oplaty-i-podpiski / priem-platejei-telegram-bot

Приём платежей в Telegram-боте за 30 минут, YooKassa, Stripe

◷ 6 мин чтения 20.02.2026

Следующий шаг

Открой бота или продолжай маршрут внутри раздела.

$ cd раздел/ $ open @mmorecil_bot

Статья -> план в ИИ

Отправь ссылку на эту статью в любой ИИ и получи план внедрения под свой проект.

Прочитай эту статью: https://vibecode.morecil.ru/ru/oplaty-i-podpiski/priem-platejei-telegram-bot/ Работай в контексте моего текущего проекта. Сделай план внедрения под мой стек: 1) что изменить 2) в каких файлах 3) риски и типичные ошибки 4) как проверить, что всё работает Если есть варианты, дай "быстрый" и "production-ready".
Как использовать
  1. Скопируй этот промпт и отправь в чат с ИИ.
  2. Прикрепи проект или открой папку репозитория в ИИ-инструменте.
  3. Попроси изменения по файлам, риски и короткий чеклист проверки.

У вас уже есть 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 минут)

  1. Бот (уже есть или создайте через @BotFather/newbot).

  2. Аккаунт провайдера:

    • YooKassa: yookassa.ru/joinups — регистрируетесь как ИП/самозанятый/ООО. Магазин активируется за 1–2 дня.
    • Stripe: stripe.com — для Литвы/ЕС/международки. Верификация быстрее, но RU-карты могут быть ограничены.
  3. Подключение провайдера в 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. Архитектура (как всё работает)

code
Пользователь → /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)

code
Напиши полноценный 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

code
Сгенерируй готовый 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)

code
Пользователь хочет ежемесячную подписку. 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):

python
# aiogram пример
await bot.set_webhook("https://your-domain.com/webhook")

YooKassa и Stripe тоже шлют свои вебхуки (для возвратов, recurring). Добавьте эндпоинт /yookassa_webhook и /stripe_webhook.

Пример обработки successful_payment (aiogram):

python
@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.

Что читать дальше