Подключение платежного бота в Telegram
Введение
Вы можете создать платежный бот Telegram, который позволит вашим клиентам безопасно оплачивать товары и услуги прямо в приложении. Ваш бот подключается к боту-провайдеру платежей, который взаимодействует с Платежным шлюзом и позволяет выполнять необходимые платежные операции.
Типовой сценарий использования бота такой:
- Вы передаете клиенту ссылку на чат вашего бота в Telegram.
- Клиент заходит в чат бота и выбирает товары, а затем нажимает кнопку оплаты.
- Открывается страница оплаты.
- Клиент оплачивает товар.
Создание и подключение бота
Чтобы начать получать платежи в Telegram, выполните следующие шаги:
- Создайте приложение для реализации бота с помощью Bot Payments API (см. обзорную документацию и подробное описание API).
- Перейдите в Telegram и зарегистрируйте бота с помощью бота @BotFather, используя команду
/newbot
.- Вам будет выдано сообщение:
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
Введите имя бота, которое будет отображаться в Telegram, напримерBank Acquiring Test Bot
. - Вам будет выдано сообщение:
Good. Now let's choose a username for your bot. It must end in bot. Like this, for example: TetrisBot or tetris_bot.
Введите внутреннее имя бота, оканчивающееся наbot
, например,bank_acquiring_test_bot
. - В ответ вы получите токен бота в Telegram (
BOT_TOKEN
), который нужно будет передать в URL запроса на выставление счетаsendInvoice
(См. Запрос на выставление счета).
- Вам будет выдано сообщение:
- Подключите свой бот к боту-провайдеру. Для этого в @BotFather введите команду
/mybots
, выберите своего бота, а затем в меню Payments выберите из списка платежный метод "Alfa Bank Belarus". - Нажмите соответствующую кнопку для подключения к боевому или тестовому серверу. См. также Адреса ботов-провайдеров.
- Вы будете перенаправлены в чат бота-провайдера, где нужно будет ввести значение
merchantLogin
- логин вашей учетной записи в Платежном шлюзе. - Перейдите в @BotFather – в разделе Payments созданного ранее бота будет отображаться токен платежей (
PROVIDER_TOKEN
), который нужно будет передать в запросе на выставление счетаsendInvoice
(См. Запрос на выставление счета). - Ваш бот может использоваться для тестирования, либо приема платежей в соответствии с реализованным в боте сценарием.
Адреса ботов-провайдеров
Адрес бота-провайдера на тестовом сервере: @AlfaBankBYPaymentUATBot.
Адрес бота-провайдера на боевом сервере: @AlfaBankBYPaymentBot.
Запрос на выставление счета
При отправке запроса на выставление счета sendInvoice из приложения для вашего бота в Telegram API необходимо передать:
- Значение
BOT_TOKEN
, полученное на шаге 2 - в URL запроса, - Значение
PROVIDER_TOKEN
, полученное на шаге 6 - в параметреprovider_token
запроса.
Пример:
POST https://api.telegram.org/bot<BOT_TOKEN>/sendInvoice
Content-Type: application/json
{
"chat_id": 123456789,
"title": "Название товара",
"description": "Описание товара",
"payload": "Уникальный_идентификатор",
"provider_token": "PROVIDER_TOKEN",
....
}