group-telegram.com/zaritovskii/95
Last Update:
⭐️Как добавить оплату Telegram Stars в бота на n8n ⭐️
Привет! Я обещал, что расскажу, как добавить оплату звездами (Telegram Stars) в вашего бота на n8n, и кажется, первый понедельник лета – отличное для этого время, погнали!
Весь процесс нужно разбить на несколько шагов:
⭐️Шаг 1 - Пользователь должен начать оплату звездами: для этого делаем где-то в нашем флоу inline-кнопку с нужным текстом ("Оплатить звездами") и callback data: "pay_xtr" - это запустит процесс после того, как пользователь нажмет на нее.
⭐️Шаг 2 - Ловим это сообщение от пользователя и отправляем инвойс в Telegram:
- на входе после принятия сообщения от Telegram ставим Switch и добавляем правило - если $('Telegram Trigger').item.json.callback_query.data === 'pay_xtr' - идем на следующий шаг - отправки инвойса
- отправляем инвойс - добавляем HTTP запрос:
Method: POST
URL: https://api.telegram.org/bot[ВСТАВЛЯЕМ_НАШ_API_КЛЮЧ]/sendInvoice
Send Body - Using JSON
JSON:
{
"chat_id": "{{ $('Telegram Trigger').item.json.callback_query.from.id }}",
"title": "Подписка или любой ваш текст",
"description": "Тут пишем описание - за что",
"payload": "pay_xtr",
"provider_token": "",
"start_parameter": "start",
"currency": "XTR",
"prices": [
{
"label": "Подписка на 1 месяц", - например
"amount": 350
}
]
}
⭐️Шаг 3 - Нужно ответить на пре-чекаут сообщение от Телеграм - если нам приходит, для этого добавляем еще одно правило в шаг Switch - если $('Telegram Trigger').item.json.pre_checkout_query }} exists - идем на следующий шаг - отвечаем ок на него - добавляем HTTP запрос:
Method: GET
URL: https://api.telegram.org/bot[ВСТАВЛЯЕМ_НАШ_API_КЛЮЧ]/answerPreCheckoutQuery
Send Body - Using JSON
JSON:
{
"pre_checkout_query_id": "{{ $json["pre_checkout_query"]["id"] }}",
"ok": true
}
После этого запрос улетит в банк звездочек и обработается, а нам придет отбивка об успешной оплате - ловим ее следующим шагом.
⭐️Шаг 4 - Добавляем еще одно правило в Switch - если $('Telegram Trigger').item.json.message.successful_payment }} exists - значит оплата прошла. Дальше можно ответить, что оплата прошла и предоставить услугу (если разовая) или добавить пользователя по chat_id в базу с датой, когда он получил подписку чтобы ее отслеживать, но это уже другая история)
BY Zaritovskii AI & Data
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/zaritovskii/95