Telegram-боты

Криптоплатежи в Telegram-боте: как добавить крипто-оплату в бота

Криптоплатежи в Telegram-боте: как добавить крипто-оплату в бота, что планируется в виде нативного чекаута Qvard и рабочий путь через API сегодня.

Telegram-бот с криптоплатежами принимает заказ в чате и отправляет клиенту кнопку оплаты. Нативный Telegram-чекаут Qvard запланирован и ещё не выпущен. Статья показывает, как добавить крипто-оплату в бота уже сегодня, через живой API, платёжную страницу и webhook.

Что должен делать бот

Бот собирает заказ, создаёт платёж на вашем бэкенде, отправляет клиенту кнопку и ждёт webhook. Чат служит витриной, а сама оплата происходит на платёжной странице.

Статус: нативный чекаут для бота в дорожной карте

Нативный чекаут Qvard для Telegram-ботов ещё не выпущен, и статья не описывает его как доступный. Интеграция ниже работает сегодня через существующий API.

POST/api/v1/payment
x-api-key: sk_live_…

{
  "id": "order_1024",
  "price": 149.99,
  "paymentSystemId": 12
}

// 201 Created
{
  "data": {
    "id": "8f3k2a1c",
    "redirectUrl": "https://my.qvard.com/pay/8f3k2a1c"
  },
  "code": 201,
  "message": "success",
  "status": true
}

Вызов платежа из бэкенда бота

Бэкенд бота отправляет POST /api/v1/payment с заголовком x-api-key, номером заказа в id и суммой в USD в price. Ответ содержит redirectUrl, который становится кнопкой.

Кнопка и сообщение о заказе

Отправьте одно сообщение с заказом, суммой и кнопкой на redirectUrl. Сообщение пусть будет коротким, и не обещайте доставку или доступ до подтверждения платежа webhook.

Получение статуса на бэкенде

Endpoint webhook получает id и status, проверяет заголовок x-api-key и обновляет заказ. Открывать товар или услугу должен только статус paid.

POSTyour-webhook-url
x-api-key: sk_live_…

{ "id": "order_1024", "status": "paid" }

Повторы и сбои

Если клиент закрыл страницу, заказ остаётся в ожидании, и бот может снова предложить ту же ссылку на оплату. Делайте обработчик webhook безопасным при повторе, потому что одно и то же сообщение может прийти дважды.

FAQ

Может ли Telegram-бот принимать крипту сегодня?

Да. Бот создаёт платёж через API, отправляет кнопку на redirectUrl и подтверждает заказ по webhook. Нативный Telegram-чекаут — в дорожной карте.

Нужен ли особый фреймворк для бота?

Нет. Любой код бота, который умеет вызывать HTTPS-endpoint и принимать webhook, может создавать платежи через API.

Где хранить ключ API?

Только на бэкенде бота. Никогда не помещайте ключ в сообщения чата или в код, который может увидеть клиент.

Как протестировать оплату в боте?

Создайте тестовый платёж из тестового заказа, оплатите его на платёжной странице и проверьте, что бот получает webhook.

Похожие статьи

Похожие статьи