Добавить в корзинуПозвонить
Найти в Дзене
Vibecode Wiki

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

У вас уже есть 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, ни вы не храните данные карт. Всё обрабатывает провайдер. Готово! У вас есть provider_token. Пользователь → /buy Бот → sendInvoice (с provider_token) Пользователь → нажимает «Оплатить» → вводит данные карты в безопасном
Оглавление

У вас уже есть 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 → выберите вашего бота → PaymentsYooKassa: выберите «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.