telegramPayment и telegramPaymentPrecheckout
Типы ответов telegramPayment
и telegramPaymentPrecheckout
используются для настройки оплаты
за предоставляемые товары или услуги в канале Telegram.
TelegramPayment
в сценарии.
Этот тег не требует дополнительной обработки событий:
вам нужно будет только указать аналогичные параметры, а также переходы в стейты в зависимости от выполняемого условия.telegramPayment
Используется для вывода формы оплаты в сообщении бота.
Свойства
Свойство | Тип | Описание | Примечание | Обязательный |
---|---|---|---|---|
providerToken | Строка | Токен платежной системы. | Для каждой платежной системы необходимо получить уникальный токен на стороне Telegram. | Да |
startParameter | Логический | Разрешение клиенту пересылать ссылку на оплату другим клиентам. | true — другие клиенты смогут оплатить товар или услугу по ссылке.false — другие клиенты не смогут оплатить товар или услугу по ссылке. Они будут перенаправлены на диалог с ботом. | Да |
paymentTitle | Строка | Название товара или услуги. | Допустимо не бол ее 32 символов. | Да |
description | Строка | Описание товара или услуги. | Допустимо не более 255 символов. | Да |
imageUrl | Строка | Ссылка на изображение. | Изображение товара или услуги, которое будет отображаться в форме оплаты. | Нет |
amount | Строка | Цена товара или услуги. | Telegram устанавливает ограничения на минимальную и максимальную цену товара или услуги. Допустимо не более 12 цифр. Чтобы отделять десятичную часть от целой, используйте точку. | Да |
currency | Строка | Валюта. | Трехбуквенный код валюты, соответствующий ISO 4217. Вы можете использовать только те валюты, которые поддерживают Telegram и ваша платежная система. | Да |
invoicePayload | Строка | Произвольные данные для счета-фактуры. | Данные не будут отображаться в диалоге с клиентом. Они будут отображаться только владельцу кассы для анализа платежей. | Да |
Получение токена плат ежной системы
Чтобы принимать платежи от клиентов,
необходимо получить уникальный токен платежной системы и указать его в свойстве providerToken
.
Прежде чем получить токен платежной системы, нужно создать бота на стороне Telegram.
Выполните шаги, описанные в статье Telegram как входящий канал, и вернитесь к этой статье.
Если у вас уже есть бот в Telegram, то продолжайте читать эту статью.
- Откройте Telegram и в поиске контактов введите
BotFather
. - Отправьте команду
/mybots
в чат с BotFather. - Выберите бота и нажмите Payments.
- Выберите платежную систему из списка.
- Выберите один из вариантов подключения:
- Test для тестирования платежей.
- Live для настройки реальной интеграции с платежной системой.
- Откроется диалог с ботом для выбранной вами платежной системы. Запустите бота.
- Выполните все шаги, о которых вас попросит бот платежной системы.
- Вернитесь в чат с BotFather.
- В последнем сообщении от BotFather вы увидите список подключенных платежных систем к боту и токены для них. Скопируйте нужный токен.
- Вставьте скопированный токен в свойство
providerToken
.
Ограничения на цену
Telegram устанавливает ограничения для каждой валюты на минимальную и максимальную цену товара или услуги. Она должна примерно соответствовать лимиту 1–10 000 USD. Для каждой валюты, кроме USD, эти лимиты зависят от актуальных обменных курсов и могут меняться со временем.
В документации Telegram вы можете найти примерные значения максимальной и минимальной цены для каждой валюты, которую поддерживает Telegram.
Синтаксис
{
"type": "telegramPayment",
"providerToken": $secrets.get("providerToken"),
"startParameter": true,
"paymentTitle": "Она",
"description": "Кинотеатр «Аврора», 25 декабря, 12:00",
"imageUrl": "https://upload.wikimedia.org/wikipedia/en/4/44/Her2013Poster.jpg",
"amount": 400,
"currency": "RUB",
"invoicePayload": "197110, Санкт-Петербург, ул. Большая Зеленина, 24, стр. 1"
}
telegramPaymentPrecheckout
Используется для обработки события telegramPrecheckoutEvent
, когда Telegram отправляет данные для проверки статуса товара.
Свойства
Свойство | Тип | Описание | Обязательный |
---|---|---|---|
precheckoutId | Строка | Идентификатор, который отправляет Telegram. | Да |
success | Логический | Можно ли проводить оплату. | Да |
Синтаксис
{
"type": "telegramPaymentPrecheckout",
"precheckoutId": $request.query,
"success": true
}