Как настроить прием платежей 2.0 в Telegram за 5 часов
С выходом обновления Платежи 2.0, были интересно написать и потрогать своего бота. Расскажем о нашем опыте и нюансах, с которыми столкнулись при разработке. В конце статьи есть ссылка на канал, в котором живет бот.
Создание бота
Первым делом мы зашли и создали бота в BotFather. Тут всё просто, опираемся на документацию: https://core.telegram.org/bots#creating-a-new-bot
Если в инструкции по ссылке ничего не понятно, то вот инструкция от нас:
1. Находим в Телеграм бота BotFather и добавляем себе в контакт-лист
2. Смотрим доступные команды бота с помощью команды /help
3. Выбираем /newbot и далее по подсказкам выполняем действия
4. После создания бота вы получите токен, которые нужно будет использовать в коде вашего бота. Сообщение с токеном необходимо сохранить.
Подключаем оплату
- В боте BotFather вводим команду /mybots
- В созданном боте выбираем поле Payments и выбираем, например, Stripe
- Выбираем Connect Stripe Test и следуем инструкции
- После выполнения, вы получите токен оплаты, его нужно сохранить
Связываем бота с приложением
Мы выбрали библиотеку https://github.com/php-telegram-bot/core
В конфиге params.php указали все токены из предыдущего шага. Выглядит так:
И с помощью библиотеки организовали взаимодействие бота с приложением:
Одна из первых тонкостей: для реализации нужен домен и SSL сертификат. Для наших задач мы взяли VDS c панелью Vesta и бесплатный SSL Let’s Encrypt. Бот работает на PHP, поэтому подойдет и обычный хостинг.
Написание кода бота
Теперь самое интересное — программирование. После того, как связали наше приложение и бота, можно начинать писать логику.
Для того что бы работать с ботами, надо реализовать поддержку различных команд. В нашем случае мы добавили только одну — “Спасибо”. Механика до безумия простая: при её написании формируется сообщение и сразу же выписывается счёт.
Осталось в него только добавить нужный для нас товар и отправить пользователю этот счет. Все это уже есть в документации и кратко поля, которые использовались.
В title пишем название товара. В description — его описание. В currency валюту, которую мы использовали. В качестве price указывается цена. Кстати, она делится на 100. Чтобы указать цену товара в 100 рублей, нужно поставить amount 10000. Не сложно, правда?
Окончательный наш код с логикой выглядел таким образом:
Проблемы с Payments 2.0
Payments 2.0 вышел совсем недавно. Главной проблемой стала неспособность платежных систем взаимодействовать с Telegram. Изначально мы выбрали ЮMoney, но он пока умеет работать только с первой версией. Остановились на Stripe, чтобы весь функционал был доступен.
Плюс стоит учитывать, что минимальная сумма пополнения — 100 рублей. И нет возможности настраивать поля в товаре. Например, оставить комментарии.
Настроив бота, добавьте его в ваш чат, выдав функции администратора. Он будет реагировать на ключевую фразу.
Важно: постарайтесь учесть написание такой фразы в разном регистре и даже на латинице. Предусмотрите все варианты, даже самые заковыристые с использованием латинских и кириллических букв. Так вы сделаете бота максимально удобным для пользователей.
Поиграть с ботом можно в нашем чате (реагирует на “Спасибо”). Если вы тоже настраивали бота с использованием Платежей 2.0 — делитесь опытом в комментариях. Об ошибках тоже сообщайте. Будем дополнять пост по мере появления ценных советов и рекомендаций.
Как вам кажется, для покупки каких услуг Платежи 2.0 подходят лучше всего?
Спасибо! Как раз озадачивался)
Привет. Как решите заниматься - делитесь подробностями)
@Timeweb Cloud благодарны, будем тестировать! 🎴🦄
Насколько реально зарегистрировать stripe простому смертному в России? И поддерживает ли 2.0 кто-нибудь кроме страйпа?
Привет. Можно ориентироваться на статью: https://vc.ru/finance/82502-kak-podklyuchit-stripe-esli-vy-nahodites-ne-v-ssha
Иными словами, нужен посредник. Имеет смысл дождаться появления поддержки от российских платёжных сервисов. Пока что Сбер, ЮMoney, Tranzzo, LiqPay не поддерживают, но очень ждём :)
А у Вас реально работает этот сервис?? или разводилово???
ё
Привет. Можно зайти в канал и посмотреть. Было бы разводилово - не стали бы публиковать. На VC думающая аудитория.
Поскорее бы работал с другими платёжными системами. Хочу похоже реализовать, и тем более что б ЮMoney был :)
Да, с ЮMoney было бы отлично)
Так Юкасса там есть
Прошел год, нигде не видел реализации данных методов оплат.
Кстати, да.
Почему гугл пэй не работает? Будет ли доработка?
А что вы там 5 часов то делали? Прокрастиниповали?
Платежи 2.0 будут поддерживаться © ЮMoney и QIWI
А зачем нужны платежи в Телеге? Чем не устраивает просто на сайте принимать платежи?
Тоже не понял чем удобнее вводить карту в телеге вместо браузера (где она уже запомнена). А больше никакой разницы нет.
Друзья, если вы хотите протестировать бота с поддержкой Платежей 2.0, напишите в ЛС https://t.me/tw_tips_Bot и там будет кнопка для теста.
P.S. Заменили активацию "Спасибо" на такой вариант, чтобы в нашем чате было меньше спама однотипными сообщениями.
Спасибо за статью! Можно задать 1$ как сумму?
Комментарий удален модератором
Спасибо, интересно! Покупатель оплатил и указал адрес доставки. И тут появляются логичные вопросы:
Куда прилетает информация об оплате и адресе доставки? Если инфо об оплате — в платёжный сервис, а доставка в сервис доставки, как заметчить данные?
Ребят, помогите пожалуйста, такая ситуация:
Есть свой магазин на python, но в нём платёжка только Qiwi, как добавить оплату картой и другие, может кто-то знает?
Мой телеграм: @Unv_Love
Заранее спасибо 😇🤗