Как Telegram-боту принимать деньги

5 стоп-слов для контента
Время на прочтение: 2 мин

Сейчас активно обсуждается недавнее решение Роскомнадзора запретить банкам интеграцию с Telegram. Это горячая тема в первую очередь потому, что после удаления банковских приложений из AppStore и Google Play, банки обратили свой взор на Telegram. К примеру, 19 января ВТБ запустил бота, позволяющего проверять баланс и пересылать средства. Но теперь ко всем мессенджерам, признанным иностранными, будет запрещено подключать службы денежных переводов. Изменения вступают в силу с 1 марта этого года.

Это решение Роскомнадзора заставило поволноваться и команду TenStat, ведь наш сервис аналитики все еще «живет» в Telegram. Но теперь, когда все задачи в этой области решены, я хочу рассказать, как помочь Telegram-ботам не попасть под ограничение Роскомнадзора. И хотя у меня нет решения для упомянутого выше случая с ВТБ, рецепт, о котором я расскажу здесь, будет полезен для большинства коммерческих Telegram-ботов. Погнали!

– Я этого не писал, и никто не докажет, что я это писал: там нет никакой подписи.
– Тем хуже для вас, если подписи нет, – сказал Король. – Не будь у вас на уме злодейства, вы бы подписались, как честный человек!
Льюис Кэрролл, «Алиса в стране чудес»

Когда мы только запускали TenStat, мы решили вопрос с оплатой самым простым из доступных способов – через интеграцию сервиса для приема платежей Робокасса с Telegram. Мне этот подход безумно нравился, т.к. пользователь в момент оплаты никуда не уходил – передача денег и получение услуги происходили в одном месте. Но такой способ передачи денег скоро будет запрещен, поэтому я принял решение перейти на менее удобный, но надежный в текущих реалиях способ оплаты.

Простота и сложность этого решения – две стороны одной медали. Если через Telegram будет запрещено передавать деньги, то этот процесс нужно будет вынести за пределы мессенджера. Что может быть проще? Задача формулируется просто, но решается значительно сложнее. Теперь существенная часть кодовой базы нашего сервиса – это управление счетами. Конечно, платежи все еще проходят через Робокассу, но сейчас «дирижирование» ими происходит на нашей стороне.

Так что получилось в итоге? Немного шероховатый, но надежный (читаем как «*свободный от запретов Роскомнадзора*») механизм передачи денег сервису за услуги.  Неискушенному пользователю может даже показаться, что все выглядит так, как должно.
1. Пользователь видит цену и кнопку «Оплатить». Кнопка маркируется специальным значком, чтобы было очевидно, что она ведет за пределы мессенджера. Более того, после нажатия на нее Telegram предупредит, что пользователь покинет мессенджер. Согласен, некрасиво, но безопасность превыше всего.
2. Пользователь попадает на buy.tenstat.ru, где для него формируется счет. Тут же мы предупреждаем пользователей, что они оформляют подписку. Да, это промежуточный шаг, который кажется лишним, но он необходим, т.к. теперь наш сервис сам занимается счетами.
3. Пользователь перенаправляется на сайт Робокассы, где оплачивает счет.
4. После того как платеж проходит, пользователям в Telegram поступает сообщение, основной задачей которого является вернуть их назад в мессенджер. Кольцо замыкается здесь.

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

На сегодня все. Оставайтесь на связи и удачи! А я подписываюсь, как честный человек.

АвторЕвгений Голышев
Редактор и иллюстраторНаталья Писарева

TenStat Journal
TenStat Journal

Онлайн-журнал сервиса TenStat