Коротко: оплата внутри бота, без ухода в браузер
Продажа в Telegram ломается там, где бот отправляет человека платить на сторону. Он уходит по ссылке, попадает на незнакомую страницу, возвращается — если возвращается. Каждый такой переход стоит части заказов, а поддержке — сообщений «я оплатил, где доступ».
Правильный сценарий: покупатель нажимает кнопку, платит по QR или картой, и бот сам выдаёт доступ, как только придёт подтверждение. Настраивается за час по API или за минуты на конструкторе ботов.
Как это работает
- Покупатель нажимает «Оплатить» — бот создаёт платёж и отдаёт ссылку кнопкой.
- Открывается платёжная форма с готовой суммой: СБП по QR, карта или криптовалюта.
- После оплаты платёжная система присылает боту подписанное уведомление.
- Бот по этому уведомлению выдаёт доступ, файл или продлевает подписку.
Ключевое здесь — четвёртый шаг. Доступ выдаётся по уведомлению, а не по возвращению покупателя в чат: вернуться он может через час или не вернуться совсем, а купленное должно прийти сразу.
Чем платят в Telegram
СБП — основной способ для российской аудитории: два касания, без ввода карты, деньги приходят мгновенно.
Карты — для тех, кто платит привычным способом, и для покупателей из других стран.
Криптовалюта — USDT, TON, BTC и оплата через Telegram-кошельки. Для части аудитории это единственный удобный вариант.
Можно показать выбор, а можно сразу вести на нужный способ — например, отдельными кнопками «Оплатить по СБП» и «Оплатить в USDT».
Что получает проект, кроме приёма денег
- Автовыдачу. Доступ в канал, файл, ключ или продление подписки — без участия человека, в любое время суток.
- Подписки. Регулярные списания с продлением по расписанию, без повторного ввода данных покупателем.
- Форму под своим брендом. Название проекта, логотип и фирменный цвет на странице оплаты.
- Тестовый режим. Весь сценарий проверяется на боевой кассе и боевом ключе, без реальных денег.
- Вознаграждение за оборот в USDT по программе RollyPay Rewards.
Кому это нужно чаще всего
Закрытые каналы и клубы. Оплата и доступ в одном сценарии: бот добавляет участника сам и убирает, когда подписка кончилась.
VPN и сервисы с продлением. Продление раз в месяц без напоминаний от менеджера.
Курсы и консультации. Предоплата ссылкой прямо в переписке.
Магазины цифровых товаров. Ключи, файлы, аккаунты — выдача сразу после оплаты.
Три ошибки, которые ломают продажи
- Ждать возвращения покупателя. Если бот выдаёт доступ по нажатию «Я оплатил», часть людей получит его без оплаты, а часть не получит после оплаты.
- Не проверять подпись уведомления. Неподписанное сообщение об оплате может отправить кто угодно. Подпись сверяется секретом кассы — это обязательный шаг.
- Выдавать товар дважды. Уведомление может прийти повторно. Проверяйте по своему идентификатору заказа, обработан ли платёж, прежде чем выдавать.
Что писать в боте: разбор по шагам
Шаг первый — создание платежа. Когда покупатель нажал кнопку, бот отправляет запрос на создание платежа: сумма, ваш идентификатор заказа и метаданные, по которым вы потом узнаете покупателя — обычно его telegram-идентификатор. В ответ приходит ссылка на платёжную форму.
Шаг второй — кнопка. Ссылка отдаётся сообщением с кнопкой. Не отправляйте её текстом: часть покупателей копирует адрес руками и теряется по дороге.
Шаг третий — уведомление. После оплаты платёжная система отправляет на ваш адрес подписанное сообщение со статусом, суммой и вашим идентификатором заказа. Бот проверяет подпись секретом кассы, находит покупателя и выдаёт купленное.
Шаг четвёртый — ответ. Бот отвечает на уведомление кодом 200, иначе платёжная система будет считать доставку неудачной и повторит её. Повторы — это нормально и полезно, но обрабатывать их нужно правильно.
Ситуации, о которых вспоминают поздно
Повторная доставка уведомления. Одно и то же сообщение может прийти дважды — из-за сетевой ошибки или таймаута. Проверяйте по своему идентификатору заказа, выдан ли уже доступ, прежде чем выдавать снова.
Покупатель оплатил и сразу закрыл чат. Доступ всё равно должен быть выдан: уведомление приходит независимо от того, что делает человек в этот момент. Товар отправляется сообщением, которое он увидит при следующем открытии бота.
Оплата пришла позже, чем истёк платёж. Редко, но случается. Решите заранее, что делаете в этом случае: выдаёте товар или возвращаете деньги. Без правила такой случай каждый раз разбирается вручную.
Два платежа на один заказ. Покупатель нажал кнопку дважды и оплатил оба. Заранее решите, возвращаете ли второй автоматически — это частая ситуация в ботах с быстрыми кнопками.
Подписки: как устроено продление
Подписка отличается от разовой продажи тем, что у доступа есть срок. Правильная модель такая: у каждого участника хранится дата, до которой доступ оплачен. Успешный платёж добавляет к этой дате новый период — не «ставит месяц от сегодня», а именно продлевает.
Разница видна на примере: участник платит за неделю до окончания подписки. Если система поставит месяц от сегодняшнего дня, он потеряет оплаченную неделю и напишет в поддержку. Если добавит период к существующей дате — всё честно, и вопросов нет.
Отдельно стоит продумать напоминания: сообщение за три дня до окончания возвращает заметную часть подписчиков, которые иначе просто забыли бы продлить.
Что влияет на конверсию продаж в боте
Число шагов до оплаты. Идеально — один: нажал кнопку, попал на форму с готовой суммой. Каждый промежуточный экран («выберите тариф», «подтвердите», «введите почту») стоит части покупателей. Всё, что можно собрать после оплаты, собирайте после.
Способ оплаты по умолчанию. Для российской аудитории первым стоит показывать СБП: он короче карточного пути и не требует ввода реквизитов. Остальные способы уводите под кнопку «другой способ».
Понятная сумма. Покупатель должен видеть, за что платит, до перехода на форму. «Подписка на месяц — 490 ₽» работает лучше, чем просто кнопка «Оплатить».
Скорость выдачи. Доступ, пришедший через секунду после оплаты, снимает вопрос доверия. Задержка даже в минуту порождает сообщение «оплатил, ничего не пришло».
Понятная отмена. Если человек передумал, скажите, что делать. Молчание после неуспешной оплаты воспринимается как поломка, и второй попытки обычно не бывает.
Что смотреть после запуска
Три числа отвечают почти на все вопросы о продажах в боте. Сколько платежей создано — то есть сколько раз нажали кнопку оплаты. Сколько из них открыли платёжную форму. Сколько оплачено.
Если между первым и вторым числом большой провал, покупатель не доходит до формы: чаще всего ссылка отдаётся текстом, теряется в потоке сообщений или бот присылает её с задержкой. Если провал между вторым и третьим — вопрос к сумме, способу оплаты или к моменту, когда вы просите деньги.
В кабинете эти цифры видны по каждой кассе, поэтому проверять гипотезы можно быстро: поменяли формулировку кнопки — посмотрели, сдвинулась ли доля дошедших до формы.
Безопасность в двух правилах
Первое: ключи кассы — это доступ к деньгам. Держите их в переменных окружения, а не в коде бота, и не отдавайте подрядчику навсегда — ключи можно перевыпустить.
Второе: доверяйте только подписанным уведомлениям. Сообщение об оплате, пришедшее без корректной подписи, обрабатывать нельзя, каким бы правдоподобным оно ни выглядело.
Сценарии, которые чаще всего собирают
Закрытый канал по подписке. Бот продаёт доступ, добавляет участника после оплаты и убирает, когда срок вышел. Владельцу остаётся только вести сам канал. Здесь важнее всего аккуратное продление: подписчик, потерявший оплаченные дни из-за неверного расчёта даты, уходит и не возвращается.
VPN или хостинг. Продажа тарифа на месяц с автоматической выдачей конфигурации и продлением. Ключевая деталь — напоминание за несколько дней: без него часть клиентов теряется просто по невнимательности.
Магазин цифровых товаров. Ключи, аккаунты, файлы, шаблоны. Товар выдаётся мгновенно, склад ведётся на вашей стороне, а бот проверяет остаток перед созданием платежа — иначе можно продать то, чего уже нет.
Курс или клуб с потоками. Оплата открывает доступ к материалам и добавляет в чат потока. Здесь удобно хранить в метаданных платежа номер потока, чтобы после оплаты человек попал именно в свою группу.
Бронирование и запись. Предоплата закрепляет слот, а бот подтверждает время. Слот стоит держать зарезервированным на время жизни платежа и освобождать, если оплата не пришла.
Донаты и поддержка автора. Свободная сумма, мгновенное подтверждение, публичная благодарность в канале. Простейший сценарий из всех — и хороший способ проверить интеграцию на реальных людях.
Порядок запуска за один день
- Утро. Оставьте заявку и опишите проект: что продаёте, какая аудитория, ожидаемый оборот. Ответ приходит в течение 15–20 минут в рабочее время.
- После получения доступа. Создайте кассу, включите нужные способы оплаты, скопируйте ключи в бота.
- Час на интеграцию. Создание платежа, приём уведомления, выдача товара. В документации есть готовые примеры на Node.js, PHP и Python.
- Проверка. Пройдите сценарий в тестовом режиме: успешная оплата, отклонённая, повторное уведомление.
- Первая продажа. Включите реальные платежи и проведите одну покупку сами — на небольшую сумму, глазами покупателя.
Разбивка на день условная: у проектов на конструкторах ботов всё это занимает пару часов, потому что писать код не нужно вовсе.
Как снизить нагрузку на поддержку
Большая часть обращений в ботах с оплатой сводится к трём вопросам: «я оплатил, где доступ», «списали дважды» и «не могу оплатить». Все три закрываются на этапе сборки сценария.
Первый снимается автоматической выдачей по уведомлению и коротким сообщением после оплаты — покупатель видит подтверждение и понимает, что процесс завершён. Второй закрывается проверкой на повтор перед выдачей и понятным правилом возврата. Третий — вторым способом оплаты и внятным экраном ошибки, где написано, что делать дальше, а не просто «платёж отклонён».
Отдельная мелочь, которая экономит часы: показывайте покупателю номер заказа в сообщении об оплате. Тогда в поддержку приходят не «я вчера что-то покупал», а конкретный идентификатор, по которому платёж находится за секунды.
Что проверить перед запуском
- Доступ выдаётся по уведомлению об оплате, а не по нажатию «я оплатил».
- Подпись уведомления проверяется секретом кассы.
- Повторное уведомление не выдаёт товар второй раз.
- У покупателя есть понятный ответ на каждый исход: оплачено, отменено, истекло.
- Весь путь пройден в тестовом режиме, включая неуспешную оплату.
- Ключи кассы не лежат в открытом репозитории.
Как подключить
- Оставьте заявку — менеджер разбирает её за 15–20 минут в рабочее время.
- Получите ключи кассы и вставьте их в бота или в конструктор.
- Соберите сценарий: кнопка оплаты, обработка уведомления, выдача.
- Пройдите весь путь в тестовом режиме и включайте реальные платежи.
Если бот собран на конструкторе — например, на SoloBot, — программист не нужен вовсе: оплата настраивается в интерфейсе, ключи вставляются один раз.