Как добавить оплату в телеграмм бота
Перейти к содержимому

Как добавить оплату в телеграмм бота

  • автор:

Как настроить прием платежей 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 вышел совсем недавно. Главной проблемой стала неспособность платежных систем взаимодействовать с Telegram. Изначально мы выбрали ЮMoney, но он пока умеет работать только с первой версией. Остановились на Stripe, чтобы весь функционал был доступен.

Плюс стоит учитывать, что минимальная сумма пополнения — 100 рублей. И нет возможности настраивать поля в товаре. Например, оставить комментарии.

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

Поиграть с ботом можно в нашем чате (реагирует на “Спасибо”). Если вы тоже настраивали бота с использованием Платежей 2.0 — делитесь опытом в комментариях. Об ошибках тоже сообщайте. Будем дополнять пост по мере появления ценных советов и рекомендаций.
Как вам кажется, для покупки каких услуг Платежи 2.0 подходят лучше всего?

Botobot

Telegram Payments – бесплатная и открытая платформа, которая позволяет принимать платежи от пользователей Telegram прямо в мессенджере. Она подключается к магазину в 2 этапа: в Telegram и в панели управления Botobot.

Как подключить Telegram Payments в мессенджере

1. Напишите боту @BotFather в Telegram.

2. Выберите команду /mybots и бота, к которому хотите подключить платформу.

3. Кликните на команду Payments.

4. В ответ @BotFather выдаст список платежных методов, доступных для подключения.

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

5. Выберите платежный метод. При нажатии на него Telegram перенаправит вас в его бот – вам останется включить прием платежей по его командам.

Вот, как это выглядит на примере тестового бота ЮKassa

6. После этого вернитесь в @BotFather, выберите своего бота и кликните на Payments: он пришлет вам тот же список платежных методов, но с платежными токенами методов, которые вы уже подключили.

Так будет выглядеть сообщение, если вы подключили тестовый платежный метод ЮKassa

Каждый вариант из списка предлагает подключить тестовый и боевой метод. Первый нужен только для того, чтобы протестировать процесс без реальной оплаты с помощью тестовой карты, например, 4242 4242 4242 4242. Пользоваться им есть смысл, если вы подключаете Telegram Payments впервые – чтобы разобраться в процессе. В других случаях можно сразу же подключать боевые платежные методы, не сомневаясь в их безопасности и работоспособности – в Botobot уже все проверили.

Как подключить Telegram Payments на платформе Botobot

Чтобы завершить процесс подключения Telegram Payments, вам нужно добавить реальный платежный токен в Telegram в панель управления Botobot.

1. Откройте панель управления и зайдите в Платежи > Настройки.

2. Нажмите Подключить и выберите из выпадающего списка Telegram.

3. Введите платежный токен, полученный в @BotFather, и нажмите Сохранить.

4. Готово! Telegram Payments появилась в списке подключенных платежных систем.

Все подключенные платежные системы отображаются в разделе Платежи

Платежи через ботов в телеграм

Обновление Telegram v.4.0 включает в себя две другие основные функции в дополнение к платежам. Не пропустите новый сервис видео сообщений — телескоп и Instant View Platform !

Представьте себе мир, где вы можете заказать пиццу, заплатить за пару обуви, такси, или заплатить и тут же войти в метро — все в несколько нажатий кнопок прямо в телеграмм.

Для того, чтобы создать этот мир, сегодня мы запускаем Bot платежи. Теперь боты могут принимать платежи от своих пользователей по всему миру:

Если у вас установлена Телеграмм 4.0 (или более поздняя версия), то вы можете заказать товары или услуги от ботов и тут же оплатить их если бот предоставил кнопку оплаты. При нажатии кнопки оплаты, вам будет предложено заполнить данные вашей кредитной карты и подтвердить платеж. Вуаля! И всё это не выходя из любимого мессенджера!

Если ваша учетная запись защищена 2-двухэтапной авторизацией, то вы можете сохранить вашу карту для будущих покупок.

Оплатить прямо сейчас

Попробуйте наш демо @ShopBot, чтобы получить пример счёта на оплату (этот демо — продает машины времени, которые не существуют) . Если вы хотите, проверить реальный процесс оплаты с реальными деньгами, то попробуйте нашего @TelegramDonate бота.

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

За кулисами кнопки оплаты

В настоящее время большинство платежей обрабатывается системой stripe.com, но Bot Pay — это платформа для оплаты поставщиков услуг по всему миру, поэтому при приеме платежа от пользователя, разработчик бота может предоставить ему выбор между всеми доступными платежными системами (например выбрав один уже используемый покупателем метод оплаты или с наименьшей комиссией)

Stripe — это только начало. В ближайшие дни, бот-платежи будут доступны для разработчиков в Индии через RazorPay, в Нигерии, Кении, Ганы, Южной Африки и Уганды через FlutterWave, и в более чем 190 других странах через Paymentwall.

Наберитесь терпения, так как вскоре Yandex.Money и Qiwi также будут доступны для оплаты из России и Payme из Узбекистана будут подключены чуть позже. Следите за обновлениями нашего канала @Tblog, чтобы первыми узнать о подключении новых способов оплаты.

Если вы являетесь платежной системой или поставщиком оплаты (особенно в развивающихся странах), то нажмите здесь, чтобы узнать, как попасть на борт Telegram Payments.

Как происходит оплата в Телеграм

Телеграмм при приёме платежей выступает в качестве посредника между плательщиком-пользователем, разработчиком бота, и выбранной платежной системой. Пользователь отправляет свои данные кредитной карты непосредственно к платежной системе. После чего ответ платежной системы и необходимые технические данные, введенные пользователем, передаются разработчику бота, так что они могут обработать и завершить заказ.

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

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

Если ты…

  • … один из наших прекрасных пользователей, то вскоре ты увидишь, какие чудо боты появятся на свет благодаря нашим разработчикам, используя эту новую платформу. В то же время, уже сейчас Вы можете попробовать демо @ShopBot, чтобы получить представление о том, что будет происходить при оплате или попробуйте потратить реальные деньги через @TelegramDonate.
  • … разработчик бота, ознакомьтесь с Введением в платежи и PAYMENT API , чтобы увидеть то, что вы можете создать на этой платформе.
  • … провайдер платежей, то узнайте, как попасть на борт Телеграм.

Вас по какой-то странной причине не оказалось в списке указанном выше ? Не расстраивайтесь, присоединяйтесь к Телеграм сейчас!

Как подключить платёжку в Telegram-бот

Отметим сразу, что подключать платёжки можно не к обычному чат-боту, а к Telegram-магазину. Создать его можно двумя способами: с помощью конструктора или JavaScript. В первом случае знания программирования не нужны, потому что бот создаётся через блок-схемы. Во втором – придётся нанять специалиста. Мы разберёмся на примере ЮKassa. Остальные платёжные системы можно подключить по аналогичной схеме.

Подключаем ЮKassa

Алгоритм подключения не сложен. Для этого нужно:

  1. Создать бота с помощью конструктора или вручную.
  2. Подключить его к боту ЮKassa.
  3. Настроить бота для приёма платежей (для этого понадобится параметр shopId, который появится после регистрации на сервисе и подключения к ЮKassa).

Что делать дальше?

  1. Отправьте @BotFather команду «/mybots».
  2. Выберите созданного бота.
  3. В открывшейся панели управления перейдите по кнопкам «BotSettings» – «Payments».


Что делать дальше? Всё зависит от того, как вы создавали бота. Если использовали конструкторы, то нужно обратиться к их FAQ и гайдам. Если настраивать бота через API Telegram, то нужно реализовать метод sendinvoice из платёжного API Telegram. В итоге ваш бот будет автоматически отправлять пользователям счета на оплату. В них необходимо настроить показ стоимости, названия, описания товара или услуги. Также нужно указать provider_token (его выдаёт BotFather после подключения бот-магазина к ЮKassa).

Пример настройки запроса sendinvoice выглядит так:


В итоге после подтверждения платежа Telegram вышлет webhook, содержащий PreCheckoutQuery. На него нужно ответить за 10 секунд с помощью метода answerPreCheckoutQuery. После успешного платежа вам придут уведомления об этом: от Telegram (через webhook с объектом SuccefulPayment) и письмо на e-mail от ЮKassa. Если вы продаёте пользователям доступ к контенту или услуге, то можно запрограммировать своего бота так, чтобы он автоматически отправлял их пользователю после подтверждения оплаты.

Какие платёжные системы можно подключить к боту?

Для этого достаточно открыть FatherBot, выбрать команду «/mybots», перейти в настройки конкретного бота и выбрать кнопку «Payments». Сегодня вы можете подключить:

  • ЮKassa
  • Сбербанк
  • ПСБ
  • Банк 131
  • Tranzoo
  • PayMaster
  • Stripe
  • Paycom.Uz
  • CLICK Uzbekistan
  • LiqPay
  • ECOMMPAY
  • Global Pay Uzbekistan
  • Cascad
  • Paymega
  • Portmone
  • LeoGaming
  • Smart Glocal
  • iPay88


Разумеется, выбирать, какую платёжную систему нужно подключить, в первую очередь, в зависимости от ГЕО, с аудиторией которого вы работаете. Обратим внимание, что в зависимости от выбранного варианта (например, если вы выбрали Банк 131 или что-то ещё) вам может понадобиться выслать заявку финансовой организации, получить подтверждение и код для подключения.

Конструкторы для создания ботов

Конструкторы ботов позволяют создавать их, не обладая навыками в программировании на JavaScript. Какие сервисы могут помочь с этим?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *