Платежные системы/Telegram

Материал из SaleBot Help
Перейти к навигации Перейти к поиску

Боты в Телеграм могут отправлять пользователям, группам или каналам специально отформатированные сообщения со счетами. Если ваш бот поддерживает режим inline, пользователи также могут отправлять счета в другие чаты через бота, в том числе в чаты один на один с другими пользователями.

Платежные системы, подключаемые в Телеграм:

Подключение платежной системы

Подключение платежной системы в @BotFather

Платежная система встроена в Телеграм.

Для того чтобы совершать платежи внутри мессенджера, нужно подключить платежную систему в боте @BotFather, для этого:

  1. Выбираем нужного бота в BotFather
  2. Нажимаем меню Payments.
  3. Следуя инструкциям бота, подключить доступную платежную систему и скопировать выданный токен:
Токен платежной системы в Телеграм

Выставление счета клиенту (invoice)

Сообщения о счетах содержат фотографию и описание товара, а также заметную кнопку "Оплатить". При нажатии на эту кнопку открывается специальный платежный интерфейс в приложении Telegram. В этом интерфейсе пользователи могут выбрать дополнительные позиции товаров (если это разрешено продавцом) и ввести дополнительные данные, такие как имя, номер телефона или адрес электронной почты.

Для отправки инвойса в Телеграм используется функция tg_send_invoice():

tg_send_invoice (provider_token, platform_id, title, description, currency, prices, photo_url, payload, protect_content, disable_notification, need_name, need_phone_number, need_email, reply_to_message_id, reply_markup)
Обязательные параметры:
  • provider_token - токен полученный в BotFather, после подключения платежной системы
  • platform_id - идентификатор получателя (пользователя, группы или канала)
  • title - заголовок товара (1-32 символа)
  • description - описание товара (1-255 символов)
  • currency - валюта платежа (RUB, USD, UAH, [другие валюты])
  • prices - массив с описанием услуги и ее стоимости (отображается на странице оплаты)
Необязательные параметры:
  • photo_url - ссылка на изображение товара
  • payload - название колбека об оплате, по умолчанию tg_payment
  • protect_content - 1 - защитить от копирования и скриншотов, 0 - без защиты
  • disable_notification - 1 - отправить с уведомлением, 0 - без уведомления
  • need_name - 1 - если вам требуется полное имя пользователя для завершения заказа, 0 - без запроса имени
  • need_phone_number - 1 - если вам требуется телефон пользователя для завершения заказа, 0 - без запроса номера телефона
  • need_email - 1 - если вам требуется email пользователя для завершения заказа, 0 - без запроса email
  • reply_to_message_id - ид сообщения, на которое отвечаем (цитируем), '' - сообщение не является ответным
  • reply_markup - кнопки сообщения (первой кнопкой должна быть кнопка с типом pay) или '' - без пользовательских кнопок
prices:

Сумма указывается целым или дробным числом, например, 120.25 (через точку). Пример: [["товар", 2000], ["НДС", 20.75], ["упаковка", 100]]

Если указан один из параметров need_name, need_phone_number или need_email, то перед оплатой, система запросит эти данные у пользователя и сохранит их в переменные клиента:

tg_payment_name, tg_payment_phone и tg_payment_email.

Колбек об оплате

Новые переменные клиента при успешной оплате в Телеграм (вкладка Клиенты)

После успешной оплаты, придет колбек следующего содержания:

Платежные системы Телеграм (колбек об оплате).png


phone_best 473737685 2120.75 UAH 1955518436

здесь,

phone_best название колбека payload
473737685 ид чата, в который изначально был отправлен инвойс platform_id
2120.75 полная сумма платежа
UAH валюта currency
1955518436 ид платежа в системе мерчанта

Также, если запрашивали ввод имени, телефона и/или email, то у пользователя появятся новые переменные клиента:

tg_payment_name, tg_payment_phone и tg_payment_email

Примеры

prices = [["товар", 2000], ["НДС", 20.75], ["упаковка", 100]]
result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Телефон У-200', 'Лучшая модель на рынке', 'UAH', prices, 'https://images11.popmeh.ru/cropped.jpg', 'phone_best', 0, 0, 1, 0, 1)
Вызов функции tg_send_invoice()

После выполнения функции, пользователю придет приглашение оплатить товар:

Пример приглашения на оплату товара


Пример с минимальным набором параметров

prices = [["курс супер", 20000]]
result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Курс - лучший бот', 'Супер курс, станешь мастером!', 'UAH', prices)
Вызов функции tg_send_invoice()
Пример приглашения на оплату товара


Пример с клавиатурой

prices = [["товар", 2000], ["НДС", 20.75], ["упаковка", 100]]
result = tg_send_invoice('632593626:TEST:sandbox_i38014109763', platform_id, 'Телефон У-200', 'Лучшая модель на рынке', 'UAH', prices, 'https://helpix.ru/news/200405/181746/gf200_2.jpg', 'phone_best', 0, 0, 1, 1, 1, '', '{"inline_keyboard": [[{"text":"Оплатить", "pay":"True"}], [{"text":"Еще кнопка", "callback_data": "Еще кнопка"}]]}')
Вызов функции tg_send_invoice()
Пример приглашения на оплату товара

Полезные ссылки