Приём платежей для Telegram-бота: заказы, статусы и поддержка
Бот должен понимать, какой заказ оплачен и что выдать пользователю. Способ приёма выбирают с учётом товара и правил Telegram, а работу со статусами продумывают независимо от платёжной кнопки.
Определите роль бота
Бот может быть магазином, личным кабинетом или помощником после покупки на сайте. Это разные роли. Опишите одну основную задачу: продаёт ли он продукт сам или помогает человеку пользоваться уже приобретённой услугой.
Для цифровых продаж внутри Telegram действуют правила Stars. Для физических товаров Telegram описывает отдельный Payments API. Не стоит выбирать платёжный канал только по тому, какая кнопка проще в разработке: сначала проверьте модель продажи.
Сохраняйте заказ до отправки сообщения
У каждого заказа должны быть собственный номер, пользователь, состав и стоимость. Сообщение бота — способ показать эту информацию, а не единственное место, где она хранится.
Если клиент удалил чат или вернулся с другого устройства, команда всё равно должна найти его заказ. При этом не передавайте в публичной ссылке телефон, почту или секретный токен доступа. Для связи систем достаточно внутреннего идентификатора.
Сделайте повторный вход спокойным
Пользователь может закрыть платёжную страницу, отвлечься и снова нажать «Купить». Бот в такой ситуации сначала проверяет существующий заказ. Если он уже оплачен, лучше показать доступ или статус исполнения, чем предложить второй платёж.
Для самостоятельного веб-сценария с Paycryp проверка выполняется вашим сервером по API. Возврат из браузера в Telegram не заменяет эту проверку.
Три сообщения, которые стоит написать заранее
- До оплаты: что входит в покупку, цена и срок.
- После оплаты: что уже подтверждено и где получить результат.
- При задержке: номер заказа, текущий статус и контакт поддержки.
Пишите коротко и по делу. «Мы видим оплату, готовим доступ» лучше, чем «Произошла обработка транзакционного события». Если оплата не подтверждена, скажите именно это и предложите проверить статус, а не повторять покупку вслепую.
Что проверять разработчику
Пройдите сценарии повторного сообщения, двух нажатий подряд, старого уведомления и временной недоступности выдачи. Одна подтверждённая покупка должна давать один результат, даже если обработчик был запущен несколько раз.
Также предусмотрите отзыв доступа после подтверждённого возврата, если это соответствует условиям вашего продукта. Команда поддержки должна видеть не только сумму, но и состояние исполнения.
Как начать обсуждение подключения
Отправьте в Paycryp описание сайта и бота вместе. Укажите, где именно проходит продажа и что получает клиент. Так можно быстрее определить подходящий вариант и не переделывать архитектуру в середине запуска.