Как подключить оплату в телеграмм бота
Платежи через ботов в телеграм
Представьте себе мир, где вы можете заказать пиццу, заплатить за пару обуви, такси, или заплатить и тут же войти в метро — все в несколько нажатий кнопок прямо в телеграмм.
Для того, чтобы создать этот мир, сегодня мы запускаем Bot платежи. Теперь боты могут принимать платежи от своих пользователей по всему миру:
Если у вас установлена Телеграмм 4.0 (или более поздняя версия), то вы можете заказать товары или услуги от ботов и тут же оплатить их если бот предоставил кнопку оплаты. При нажатии кнопки оплаты, вам будет предложено заполнить данные вашей кредитной карты и подтвердить платеж. Вуаля! И всё это не выходя из любимого мессенджера!
Если ваша учетная запись защищена 2-двухэтапной авторизацией, то вы можете сохранить вашу карту для будущих покупок.
Оплатить прямо сейчас
Телеграмм является открытой платформой, так что разработчики ботов могут смело внедрять необходимые интерфейсы и принимать платежи от пользователей прямо сейчас, без длительных процедур утверждения платежных систем. Если вы разработчик бота, посмотрите документацию и приступайте!
В настоящее время большинство платежей обрабатывается системой stripe.com, но Bot Pay — это платформа для оплаты поставщиков услуг по всему миру, поэтому при приеме платежа от пользователя, разработчик бота может предоставить ему выбор между всеми доступными платежными системами (например выбрав один уже используемый покупателем метод оплаты или с наименьшей комиссией)
Stripe — это только начало. В ближайшие дни, бот-платежи будут доступны для разработчиков в Индии через RazorPay, в Нигерии, Кении, Ганы, Южной Африки и Уганды через FlutterWave, и в более чем 190 других странах через Paymentwall.
Наберитесь терпения, так как вскоре Yandex.Money и Qiwi также будут доступны для оплаты из России и Payme из Узбекистана будут подключены чуть позже. Следите за обновлениями нашего канала @Tblog, чтобы первыми узнать о подключении новых способов оплаты.
Если вы являетесь платежной системой или поставщиком оплаты (особенно в развивающихся странах), то нажмите здесь, чтобы узнать, как попасть на борт Telegram Payments.
Как происходит оплата в Телеграм
Телеграмм при приёме платежей выступает в качестве посредника между плательщиком-пользователем, разработчиком бота, и выбранной платежной системой. Пользователь отправляет свои данные кредитной карты непосредственно к платежной системе. После чего ответ платежной системы и необходимые технические данные, введенные пользователем, передаются разработчику бота, так что они могут обработать и завершить заказ.
Поскольку Телеграмм не обрабатывает платежи, мы не храним и не можем получить доступ к любым конфиденциальным данным. Мы также не берем комиссию с платежей и не получаем прибыль от этих сделок.
Удачных покупок всем, и до скорых обновлений!
Май 18, 2017
Телеграмм команда
Оплата в телеграм боте — Платежи 2.0 — Сбербанк + Telegraf + Node.js
Платежи 2.0 — В мессенджере Telegram появилась возможность принимать платежи в любом чате, включая группы и каналы. Подключить свой магазин к платформе можно самостоятельно, без согласования с Telegram.
И в этом туториале мы создадим простого бота с Node.js на фреймворке Telegraf.js, который сможет принимать деньги с клиента и отправлять их на ваш счет через Сбербанк.
Платежи 2.0
Платёжные боты существуют в Telegram с 2017 года. С их помощью можно безопасно оплачивать товары и услуги вроде доставки пиццы, не покидая приложения.
С сегодняшнего дня продавцы могут принимать платежи кредитными картами с помощью 8-ми встроенных платёжных систем в любом чате, включая группы и каналы.
На данный момент поддерживаются платежи из более чем 200 стран через следующие платежные системы:
Telegram не обрабатывает платежи от пользователей и вместо этого полагается на разных поставщиков платежей по всему миру. Именно провайдеры платежей обрабатывают и хранят всю конфиденциальную информацию, например данные кредитной карты. Ни Telegram, ни разработчики ботов не имеют к нему доступа.
Для оплаты можно использовать любое приложение – в том числе Telegram для компьютеров. Покупатель также может оставить чаевые, чтобы поддержать любимого автора, кафе или магазин.
Создаём бота в Telegram
Если адрес не занят, а имя введено правильно, BotFather пришлет в ответ сообщение с токеном — «ключом» для доступа к созданному боту.
ВНИМАНИЕ! Его нужно сохранить и никому не показывать.
Создаем проект Node.js
Далее создадим новый проект. Создаем папку.
и добавим файл index.js в котором будет разрабатываться наш бот.
Telegraf.js
Cтавим telegraf.js — это один из популярных фреймворков для создания телеграм бота.
Добавляем скрипт запуска в package.json
Из документации telegraf.js, копируем в наш проект первоначальную настройку бота.
Запускаем бот командой
Проверяем работу бота
Получаем PROVIDER_TOKEN от @SberbankPaymentBot
Для получения PROVIDER_TOKEN вам необходимо получить merchantLogin в Сбербанк. Для этого необходимо подключить услугу интерент-эквайринг.
Где выбираем Сбербанк
Выбираем Connect Сбербанк Live
Подключаем оплату в приложении
Пишем в index.js следующий код:
Используйте этот метод для отправки счетов. В случае успеха отправленное сообщение возвращается.
Запускаем бот командой yarn start и проверяем проходит ли оплата.
Отправляем боту текст pay и получаем в ответ счет на оплату.
Проверить как работает оплата можно в наших телеграм ботах JavaScript Bot — это бот с тестовыми вопросами по нашим курсам JavaScript, React Native, TypeScript.
Также проверить платежи можно в боте по изучению английских слов по эмодзи Englishmoji
Проблемы или вопросы?
Задавайте их в телеграм сообществе Боты на Telegraf
Подписывайтесь на наши новости и социальные сети.
Как настроить платежи через бота в Telegram
Чтобы принимать платежи в Telegram, нужно сделать три вещи:
Подключить его к боту PayMaster.
Настроить своего бота для работы с платежами.
Как создать бота в Telegram
В Telegram необходимо найти в поиске @BotFather.
Далее отправьте ему команду /start :
Далее отправьте ему команду /newbot :
Придумайте боту имя (name) и юзернейм (username). Имя бота будет в списке контактов и наверху чата, оно может быть неуникальным.
Далее, необходимо будет вести имя пользователя (адрес по которому вашего бота можно будет найти через поиск telegram). Юзернейм должен быть уникальным и обязательно заканчиваться на bot.
В ответ BotFather пришлет в ответ сообщение с токеном — «ключом» для доступа к созданному боту.
Теперь у нас есть бот, которым мы можем управлять. Но пока наш бот без какой либо начинки – функционала и его необходимо дальше настроить.
Отправьте @BotFather команду /mybots. Нажмите на имя своего бота.
Откроется панель управления ботом, в ней, выберите настройку платежных систем Payments.
Выберите платежного бота PayMaster.
Если хотите протестировать процесс оплаты — выберите Connect PayMaster TEST. Создание привязки возможно, если вы рассматриваете вариант подключения нового процесса оплаты, не имеете подписанного договора и доступа в ЛК PayMaster.
Отправьте команду /start
Бот подтвердит успешную привязку и создаст тестовый платежный токен, который вам необходимо будет сохранить и использовать в дальней настройке любого бот магазина.
Если хотите настроить настоящие платежи, в открывшемся меню выберите Connect PayMaster LIVE.
Создание привязки возможно, если у вас есть доступ ЛК PayMaster и подписан договор.
Для подключения реальной оплаты, отправьте боту PayMaster LIVE команду /start
Далее отправьте боту идентификатор сайта из вашего ЛК PayMaster.
Создать магазин в Telegram можно с помощью конструкторов PuzzleBot, bot4shop
Рассмотрим создание магазина в Telegram на примере PuzzleBot с условно бесплатным тарифом
В Telegram необходимо найти в поиске @PuzzleBot
Далее отправьте ему команду /start
После этого, ваш аккаунт в сервисе PuzzleBot будет успешно создан и вы можете приступать к настройке магазина. Для этого перейдите в личный кабинет PuzzleBot и подтвердите согласие с пользовательским соглашением.
Введите почту которая будет использоваться для авторизации и получения уведомление от сервиса о совершенных продажах.
Подтвердите введенный почтой адрес, пройдя по ссылке из письма автоматически отправленного сервисом PuzzleBot.
Далее в @BotFather оправьте команду /mybots. Нажмите на имя своего бота.
Откроется панель управления ботом, в ней, выберите API Token.
Сохраните данный токен (API Token), вы будете его использовать для связки вашего бота с сервисом PuzzleBot.
Для продолжения настройки перейдите и авторизуйтесь в сервисе PuzzleBot https://cp.puzzlebot.top/
Добавьте свой бот, указав данные токена (API Token) которые вы получили ранее.
После этого ваш бот будет привязан в сервисе PuzzleBot и вы сможете активировать функционал магазина.
После активации в сервисе PuzzleBot функционала магазина вам необходимо настроить валюту выбрав и сохранив настройку Russian Ruble (₽)
Для запуска магазина, остается только добавить продаваемые товары и услуги.
А также, в разделе конструктор сервиса PuzzleBot, возможные сценарии продажи и оплаты.
Для проверки работы вашего магазина необходимо в Telegram найти поиском свой бот магазин и отправить ему команду /start. После этого, будет отображен каталог товаров с возможностью их покупки и оплаты через платежную систему PayMaster.
Как настроить приём платежей через Telegram без программирования и что для этого нужно
Совместно с нашими друзьями из Botmother мы решили сделать небольшую инструкцию: как настроить прием платежей в Telegram тем, кто хочет продавать что-либо внутри мессенджера, но не умеет программировать. Поехали!
Технические и юридические ограничения
Прежде чем начать создание собственного платежного бота, стоит понимать, какие для этого существуют технические и юридические ограничения.
Первое, что вам необходимо иметь, это юридическое лицо, например, ИП или ООО. Без него, увы, не получится получить доступ к онлайн-эквайрингу поддерживаемых Telegram платежных систем и, соответственно, принимать платежи в мессенджере. Физическим лицам и самозанятым гражданам такая опция недоступна.
Если ИП или ООО у вас уже есть, то необходимо заключить договор с одной из платежных систем, которая поддерживается Telegram. Подробности о том, как это сделать, вы можете найти на сайтах соответствующих сервисов, из которых в список доступных для россиян сейчас входят:
В будущем этот список может измениться, поэтому актуальную информацию лучше проверять здесь.
После получения доступа к платежной системе россиянам самое время вспомнить о 54-ФЗ, а именно о необходимости иметь кассу, которая формирует чеки и автоматически отправляет их в ФНС. Как правило, платежные сервисы могут предоставить вам облачную кассу (за дополнительную плату), однако ее еще необходимо зарегистрировать в налоговой лично или онлайн (только при наличии усиленной цифровой подписи). Технически, вы сможете принимать платежи через Telegram и без кассы, но юридически, у налоговой и вашего банка довольно быстро возникнут вопросы к законности осуществления вашей деятельности. С этим лучше не шутить и кассу все же приобрести и зарегистрировать.
Кроме того, не лишним будет учесть пункты из чек-листа, который Telegram приводит по ссылке. Так вы оградите себя от большинства других потенциальных проблем.
И еще пару моментов. Важно также внимательно изучить правила выбранной вами платежной системы и учитывать их в работе. У каждого сервиса свои условия касательно товаров, услуг и видов деятельности, поэтому стоит уточнить, не попадает ли ваша деятельность под какие-либо ограничения. Кроме того, из-за ограничений со стороны Apple разработчикам ботов в настоящее время нельзя принимать платежи за цифровые товары и виртуальные услуги от пользователей iOS. Это важный момент, из-за которого сам Telegram может ограничить работу вашего бота.
Так, все формальности соблюли, ограничения учли, самое время приступить к созданию собственного платежного бота. И в этом нам поможет конструктор ботов Botmother.
Создание платежного бота
Для создания и первичного тестирования платежного бота подойдет бесплатный тариф Botmother, для его выбора достаточно лишь зарегистрироваться на платформе.
Но для начала необходимо зарегистрировать бота через официального бота Telegram @BotFather. Это делается при помощи команды /newbot и дальнейшего присвоением боту имени и юзернейма.
Мой диалог с ботом можно просмотреть на скриншоте ниже. Самое главное, что нам необходимо получить от @BotFather — это уникальный токен, выделенный красным. Копируем его.
Затем возвращаемся к Botmother и жмем «Создать бота», а затем «Пустой бот».
Тут же переходим в настройки и вставляем скопированный ранее токен. Не забываем нажать на «Сохранить».
Теперь нам нужно создать логику, для этого переходим в конструктор, находим компонент «Оплата» и добавляем его в наше рабочее поле:
Затем возвращаемся в @BotFather и подключаем модуль оплаты для созданного нами бота. Для этого вводим команду /mybots, выбираем бота, далее жмем Payments и выбираем платежную систему. Так как у нас сейчас нет доступа к платежной системе, я выбрал тестовый доступ. Когда будете создавать «боевого» бота, то выберете второй вариант.
Снова возвращаемся в @BotFather и копируем полученный платежный токен. Далее вставляем его в соответствующее поле в Botmother и заполняем все остальные поля: заголовок товара, описание товара, назначение платежа, валюту и цену.
В самой правой колонке можно добавить изображение и, самое главное, поставить галочку напротив пункта «Пересылаемый счет». Именно он дает возможность пересылать карточку товара в любые чаты, включая Telegram-каналы и группы. Здесь же и другие полезные галочки, которые добавят в бота возможность запрашивать телефон, email и адрес для доставки товара. Ставим те, которые нужны.
Не лишним будет добавить еще один экран, который будет сообщать пользователю об успешной оплате. Для этого жмем синюю кнопку «Добавить экран», находим в палитре «Текст» и переносим его мышью на созданный экран, пишем «Оплата прошла. Всё хорошо» и в поле «Ссылка на экран при удачной оплате» выбираем нужный. Сохраняемся.
Теперь можно проверить работу бота. Заходим в него, вводим /start и получаем предложение купить наш «Отличный товар». Остается заполнить все поля и оплатить товар тестовой картой (4242 4242 4242 4242; дата: любая в будущем; CVC: любые три цифры).
Карточку товара, присланную ботом, можно переслать в любой чат (так как мы ранее поставили галочку «Пересылаемый счет»), и процесс оплаты будет аналогичен.
Чтобы просмотреть контактные данные покупателя, например, адрес и телефон, необходимо вернуться в Botmother и перейти на вкладку «Платежи в Telegram». В столбике «Оплатившие» будут ID оплативших пользователей, кликнув на которые можно просмотреть контактную информацию.
Пока просмотр реализован не самом в удобном виде, но в ближайшее время ребята обещают сделать представление информации о покупателе более дружелюбным образом.
Кстати, в разделе «Состояние пользователей» вы можете от имени бота пообщаться с покупателем в ручном режиме. Например, чтобы уточнить еще какую-либо информацию.
На этом, собственно, и все. Конечно, при серьезном подходе стоит сделать сразу несколько экранов, предложить клиентам больше товаров и добавить в бота необходимые пользовательские соглашения и контакты для связи с вами. Думаю, по аналогии, большинство читателей с этим разберется, ведь самое сложное мы рассмотрели.
Подключение автоплатежей через TeleWalletAbot к своему Telegram-боту
Доброго времени суток.
Сегодня хочу рассказать о том, как работать с платежным API не так давно появившегося на просторах Telegram кошелька TeleWallet Статья будет интересна в первую очередь владельцам и разработчикам ботов Telegram, поскольку эта платежная система позволяет принимать платежи в Телеграме, не покидая Telegram
Хочу сразу отметить, что я не выступаю «за» или «против» какой-либо платежной системы, а хочу лишь описать, как работать с API.
Преимущества и недостатки
Основные преимущества (на мой взгляд) приема платежей через TeleWallet:
Подключение автоплатежей
Итак приступим. Для начала набросаем небольшого тестового бота на PHP c 3-мя кнопками:
И конечно для работы с TeleWallet API будем использовать их официальный SDK. Там же у них есть подробная инструкция, как работать с платежами и есть примеры кода. Так что ниже я просто покажу как совместить приведенные там примеры кода с реальным ботом.
Создаем платежный счёт
Шаги, начиная с 3-го, показаны на картинке. Только что добавленный счет вы увидите последним в списке ваших платежных счетов (7 на картинке). Нажмите на команду-ссылку напротив него, чтоб перейти к его настройкам (8 на картинке). Сообщение, которое мы получаем в ответ, выглядит вот так:
Настройка счёта ap110741100
Баланс: 0 RUB
Название магазина: Не задано
API ключ: eHW2IQZQYjlJjgQ
URL для уведомлений: Не задан
URL перехода после успешного платежа: Не задан
URL перехода после неудачи(отказа): Не задан
Плательщик комиссии при выплате: Магазин
Удалить счёт (/delapsch_100Re6)
С помощью кнопок под этим сообщением отредактируйте необходимые параметры
Создаем файл настроек
Создадим файл config.php и вставим туда следующий код
В нашей базе данных создадим 2 таблицы:
Здесь мы определяем, какое сообщение получено от пользователя. Отдаем его, а также идентификатор пользователя в функцию getAnsw(). Она возвращает массив сообщений, которые мы пересылаем пользователю.
Теперь создадим файл commands.php и вставим в него реализацию функции getAnsw()
Когда пользователь нажимает Пополнить и выбирает сумму с помощью инлайн-кнопок под сообщением, создается платежная ссылка в строке:
Функция getСheque вернет ассоциативный массив с параметрами error и url. error должно быть «0», и это желательно тоже проверять, но я для краткости опустил эту проверку. Параметр url мы используем, чтоб сформировать сообщение с инлайн-кнопкой, при нажатии на которую пользователь нашего бота попадет в @TeleWalletAbot и совершит оплату (или не совершит). Проверка факта оплаты описана ниже.
Когда пользователь заказывает вывод, у него должен быть задан номер счета для вывода. Если это не так, мы сообщаем ему об этом. Если счет задан, мы пытаемся выполнить вывод, используя функцию sendOutpay, и если возвращенный ею код ошибки «0» — значит вывод прошел успешно, и мы списываем средства с баланса пользователя в нашем боте.
Проверка факта оплаты
Для проверки факта оплаты и зачисления средств на баланс пользователя создадим еще один скрипт: notice.php. Вот его код:
На этот файл будет прилетать вебхук от кошелька, когда пользователь успешно завершит оплату.
Давайте вернемся теперь к нашему платежному счёту в кошельке. Нажмем кнопку URL для уведомлений и отправим боту ссылку на наш файл notice.php
Также укажите название магазина (точнее вашего проекта). В качестве URL успешно и URL fail просто укажите ссылку на ваш проект (бот)
Ну вот пожалуй и всё. Мы создали с вами тестового бота, который позволяет понять, как работать с платежным API TeleWallet.
Посмотреть, как работает этот тестовый пример (там правда еще добавлен ручной ввод суммы и счёта при выводе) можно по ссылке: http://t.me/TlwSdkBot.
Для лучшего понимания кода в статье, а также, чтоб узнать описание кодов ошибок и параметры запросов, смотрите документацию.