Разработаем бота для телеграма, который будет продавать товар, бот будет уметь принимать оплату, а также отслеживать оплатил клиент заказ, или нет. В этом нам поможет сервис moneysite, подробнее об этом сервисе можно почитать тут.

Переходим по ссылке сервиса moneysite, попадаем на главную страницу, нужно нажать кнопку войти через яндекс, после того как вы прошли авторизацию, попадаем на страницу с созданием товара, нужно нажать на кнопку создать новую страницу, попадем в окно такого вида:



Нужно заполнить все поля, после чего нажать кнопку сохранить.
Далее появится окно с информацией о том что страница успешно создана, нажимаем на кнопку открыть страницу, в итоге у нас должно получиться следующее:



Чтобы знать оплатил пользователь товар, или нет, нам нужно авторизовать его, поэтому воспользуемся api данного сервиса. Чтобы пользоваться api, вам нужно обязательно указать адрес для HTTP уведомлений в настройках вашего аккаунта в Яндекс.Деньгах . Этот адрес вы можете узнать в настройках moneysite. Скопируйте этот адрес и вставьте его в аккаунте в Яндекс.Деньгах.
На странице с созданным товаром, у нас есть url такого вида https://getmoneysite.ru/s/slon-Urts. Так как мы используем api, изменим его следующим образом: https://getmoneysite.ru/api/slon-Urts?token=${userId}.
В качестве идентификатора пользователя, мы воспользуемся системной переменной $userId.
В сервисе moneysite нам больше ничего настраивать не нужно, переходим к разработке сценария бота.

Первое что мы сделаем, проверим покупал клиент наш товар, или нет, поэтому на первом экране сценария мы размещаем экран с блоком http-запрос.
Делаем GET запрос на сервис moneysite, вставляем наш url вида: https://getmoneysite.ru/api/slon-Urts?token=${userId}. Выглядит это так:



Если запрос завершается успешно, создаем новый экран, на котором будет текстовый блок, который информирует пользователя о том что у него уже есть слон и url-кнопку с предложением купить еще одного слона. Внутри url кнопки у нас ссылка на товар, такого вида: https://getmoneysite.ru/s/slon-Urts?token=$userId. В итоге, должен получиться такой экран.



Если запрос завершается неуспешно, создадим новый экран с текстовым блоком, фразами и кнопками, выглядит он следующим образом.



В кнопке купить слона у нас снова ссылка на наш товар. https://getmoneysite.ru/s/slon-Urts?token=$userId

Далее, если пользователь отвечает что он уже купил слона, делаем экран с блоком http-запрос в котором проверяем, действительно ли этот пользователь покупал этот товар. Блок идентичен первому нашему блоку http-запрос.



Если запрос завершается успешно, пишем пользователю о том что у него есть слон, также добавим кнопку с предложением купить еще одного. Выглядит это так.



Если запрос завершается неуспешно, создаем экран с текстовым блоком, в котором говорим пользователю о том что наш товар он не покупал, и снова делаем кнопку с предложением купить товар.

От любой другой фразы создаем экран в котором спросим купил ли пользователь товар и добавим кнопки да, нет, если пользователь отвечает да, то проверяем действительно ли это так, соединяем с блоком http-запрос, если отвечает нет, то отправляем на экран с предложением купить слона.



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



Также вы можете использовать данный сценарий в любом канале, включая голосовые.
Была ли эта статья полезна?
отменить
Спасибо!