Превью сценария
Продажи товаровВыдача доступа после оплаты Stripe
Обзор
Бот показывает товары, собирает email, создаёт ссылку на оплату у выбранного провайдера и отправляет её покупателю. После оплаты — автоматически выдаёт доступ.
Для кого
Подойдёт, если вы хотите продавать через Telegram: курс, цифровой товар, консультацию или любой другой продукт с онлайн-оплатой (Stripe по умолчанию; Telegram Payments, YooKassa или другой провайдер — по выбору при настройке).
Что нужно для запуска
- Какой способ оплаты использовать: Telegram Payments, Stripe, YooKassa или другой провайдер?
- Какие товары продаёте и в какой валюте?
- Как бот должен описывать ваш ассортимент?
- Куда перенаправлять после оплаты и при отмене?
- Что выдаётся после оплаты: файл, ссылка, доступ к чему-то?
- Шаблон собран под Stripe: способ оплаты, выбранный при настройке (Telegram Payments, Stripe, YooKassa или другой провайдер), определяет, как построен шаг оплаты — следуйте подходящей инструкции ниже.
- Stripe: оставьте модуль Stripe установленным, заполните секретную переменную STRIPE_SECRET_KEY в настройках модуля, проверьте сумму, валюту, success URL и cancel URL и проведите одну тестовую оплату перед публикацией. Документация по ключам Stripe: https://docs.stripe.com/keys
- Выдача после оплаты Stripe: добавьте вебхук в Stripe Dashboard. Откройте сценарий «Stripe Payment Fulfillment», выберите стартовый блок вебхука, скопируйте Full Webhook URL и вставьте его в Stripe Developers > Webhooks. Подтверждение и уведомление сотрудников срабатывают только для событий со статусом оплаты «paid».
- Telegram Payments: шаг оплаты — встроенный платёжный блок Telegram, который списывает Telegram Stars (XTR) с одной фиксированной суммой. Откройте блок и укажите реальную цену товара. Для оплаты картой переключите блок на Card, подключите провайдера в @BotFather (раздел Payments) и вставьте provider token в FlowCastle: настройки бота > Card payments. Выдача и уведомление сотрудников происходят прямо в сценарии после ветки «Оплачено».
- YooKassa: установите модуль YooKassa (yokassa@1.0.0), укажите shopId и secretKey в настройках модуля (не в чате) и направьте вебхук YooKassa на стартовый блок сценария выдачи, чтобы оплаченные заказы запускали подтверждение.
- Другой провайдер: шаг оплаты — честное сообщение «оплата ещё настраивается». Замените его действием модуля или HTTP-запросом вашего провайдера, сохраните ссылку на оплату и статус в переменные и добавьте вебхук или ручное подтверждение, прежде чем обещать выдачу.
- Цены и валюта по умолчанию — доллары (USD, $). Чтобы сменить валюту, измените поле «currency» в действии оплаты (например, eur или gbp) и обновите цены на кнопках товаров и в карточке товара.
- Товары в каталоге — примеры, они устанавливаются как есть. Перед запуском замените кнопки товаров, действия «Выбрать…» и цены на ваши.
- Чтобы сообщать команде о каждой продаже, отметьте контакты сотрудников тегом «staff» на странице «Контакты». Тогда действие «Уведомить сотрудников» отправит сообщение всем с этим тегом.
Разбор узлов
- Пользователь видит список товаров и выбирает нужный
- Видит карточку с описанием и изображением
- Вводит email для чека
- Получает кнопку с ссылкой на страницу оплаты
- После оплаты провайдер уведомляет бота — и тот подтверждает только реально оплаченные заказы
Подробности
Полезно знать
- Способ оплаты выбирается при настройке: Stripe (по умолчанию), Telegram Payments, YooKassa или другой провайдер.
- Для варианта Stripe нужен установленный модуль Stripe. Если его ещё нет — сначала установите из маркетплейса.
- Stripe secret key хранится в настройках модуля, а не в переменных сценария.
- Автоматическая выдача доступа после оплаты настраивается через вебхук — адрес есть внутри сценария. Сообщение об оплате отправляется только для действительно оплаченных событий.
Что важно помнить
- Не храните Stripe secret key в переменных сценария.
- Не показывайте страницу оплаты, пока не указаны товар, сумма и URL для перенаправления.
- Не говорите, что доступ выдан автоматически, без настроенного вебхука.
- Не отправляйте сообщение об успешной оплате для событий, которые на самом деле не оплачены.
