Как настроить оплату в телеграм
Как настроить приём платежей через 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 оплативших пользователей, кликнув на которые можно просмотреть контактную информацию.
Пока просмотр реализован не самом в удобном виде, но в ближайшее время ребята обещают сделать представление информации о покупателе более дружелюбным образом.
Кстати, в разделе «Состояние пользователей» вы можете от имени бота пообщаться с покупателем в ручном режиме. Например, чтобы уточнить еще какую-либо информацию.
На этом, собственно, и все. Конечно, при серьезном подходе стоит сделать сразу несколько экранов, предложить клиентам больше товаров и добавить в бота необходимые пользовательские соглашения и контакты для связи с вами. Думаю, по аналогии, большинство читателей с этим разберется, ведь самое сложное мы рассмотрели.
«T-commerce»: как работают онлайн-продажи через Telegram
Прошлым летом Telegram выпустил новый API с поддержкой платежей. С тех пор мессенджер стал еще и каналом продаж, который позволяет компаниям не только общаться с клиентом, но и принимать оплату за свои товары и услуги прямо в диалоговом окне. Яндекс.Касса первой среди российских платежных сервисов поддержала эту функцию. Принимать платежи в Telegram через Кассу сразу стали индивидуальные предприниматели и небольшие организации: флористы, магазины чая и кофе, тренеры, организаторы обучающих курсов, благотворительные фонды и многие другие (тут можно почитать отзывы и примеры). Но для более крупных компаний с потоком заказов был один стоппер.
Дело в том, что до недавних пор у Telegram-продаж была одна особенность, не учитывающая чисто российскую специфику электронной торговли, — обязательную отправку онлайн-чеков (требование 54-ФЗ, известного как закон об онлайн-кассах). У Яндекс.Кассы сразу появился специальный протокол, который поддерживал работу с новым кассовым оборудованием и автоматизировал передачу чеков. Но в Telegram такая автоматизация технически не поддерживалась, и продавцы должны были настраивать передачу чеков сами (считайте, плясать с бубном). И вот недавно мессенджер пошел навстречу российскому рынку электронной коммерции и реализовал с Яндекс.Кассой совместный проект, дополнив свой протокол важным элементом — появилось специальное поле для дополнительной информации платежному провайдеру. Теперь продавать через Telegram стало удобно с точки зрения не только клиентского сервиса, но и автоматизации передачи онлайн-чеков (то есть соблюдения 54-ФЗ). Под катом расскажу, что нужно сделать, чтобы запустить продажи в Telegram, принимая платежи через Яндекс.Кассу.
Как выглядит процесс оплаты в Telegram
Если вам еще не приходилось ничего покупать через мессенджер, сценарий продаж может быть неочевиден. В одних случаях продажа начинается на сайте, а завершается в Telegram. В других же все обслуживание клиента идет через Telegram-бота. Вот как это будет выглядеть пошагово:
Стоит ли говорить, что скорость выполнения пп. 1-2 зависит от клиента (выбор товара, ввод платежной информации), а процессы из пп. 3-6 происходят почти мгновенно?
Пример использования платежного бота в сервисе русского языка «Ты справишься!» (@UchenyjBot)
Средний чек при оплате в мессенджере через Яндекс.Кассу составляет 700 рублей — сопоставимый со средним чеком при платеже на сайте. Абсолютный показатель у каждого бизнеса свой. К примеру, средний чек в музыкальной школе, которая принимает оплату через Кассу в Telegram, — 4000 рублей. Подписка на сервис консультаций по русскому языку, процесс оплаты которого показан выше, стоит 149 рублей.
Как настроить продажи через Telegram
Когда Telegram только выпустил API c поддержкой платежей, казалось, что этот канал продаж будет востребован среди средних и крупных мерчантов, которым под силу написать своего бота, учитывающего все сценарии общения магазина с пользователем. Но на самом деле продавать в Telegram большой ритейл не пошел, зато пришли небольшие сервисные компании и маленькие магазины.
Чтобы настроить продажи в Telegram через Яндекс.Кассу, нужно сделать три главных вещи:
В ответ на запрос ваш бот будет отправлять клиенту счет на оплату. В счете должны быть стоимость, название, описание товара, параметр payload и параметр provider_token — это тот самый токен, который выдал @BotFather.
Если нужно получить от покупателя адрес доставки, реализуйте метод Shipping Query. Когда пользователь укажет адрес, на этот запрос нужно ответить методом answerShippingQuery и передать через него способы доставки, а также их цены.
Итак, готово почти все, кроме отправки чека.
Продажи через Telegram по 54-ФЗ
В июле 2017 года вступил в силу закон 54-ФЗ, суть которого в необходимости онлайн-отчета перед налоговой за каждую продажу через интернет. То есть любой работающий с физическими лицами интернет-магазин обязан использовать кассовую технику нового поколения, которая сможет отправлять электронные чеки в налоговую инспекцию после каждого платежа (такую кассовую технику (ККТ) можно купить или арендовать). Чеки передаются в налоговую и покупателю по интернету через оператора фискальных данных — ОФД (поэтому касса должна быть всегда онлайн). В чеке должны быть название товара, цена, количество, ставка НДС, данные о продавце и о самой кассе.
До недавнего времени мерчантам нужно было следить за продажами через бот и проводить фискализацию самостоятельно. Что это означало на практике? Все то же, как если бы продажи шли через офлайн: бот передавал продавцу уведомление о продаже, продавец вручную вбивал в свою кассу все проданные товары и передавал чек по тем контактам, которые покупатель оставил перед оплатой.
За рамками Telegram Яндекс.Касса как сервис уже умела автоматически передавать данные об онлайн-платежах на 70 с лишним моделей ККМ всех популярных поставщиков. Но в платежном боте Кассы такой функции не было из-за ограничений на размер данных, которые наш бот мог получить от бота мерчанта. Все наладилось в феврале, когда Telegram доработал свой протокол для платежных ботов: появилось поле для дополнительной информации к платежному провайдеру — Provider data, и мы реализовали эту возможность у себя. Именно это поле требуется для передачи данных о составе чека. Я.Касса умеет разбирать это поле, поэтому мерчанту остается только правильно настроить своего бота, дополнив его данными о составе чека.
Ниже — код запроса без прикрепленного чека, то есть как было до февраля:
Если добавить информацию о составе чека для дальнейшей обработки и фискализации, то запрос к Telegram на отправку счета с дополнительной информацией для платежного бота Яндекс.Кассы будет выглядеть так (внимание на поле Receipt – это и есть данные состава чека):
Из обязательных данных в запросе:
Чтобы после оплаты в Telegram Я.Касса автоматически «сигналила» вашему кассовому аппарату, что покупателю надо отправить чек (сам чек отправляет ОФД, обслуживающий вашу кассу), нужно сделать следующее:
Если у вас есть опыт создания платежного бота или остались вопросы о том, как настроить оплату — добро пожаловать в комментарии.
Оплата в телеграм боте — Платежи 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
Подписывайтесь на наши новости и социальные сети.
Подключение автоплатежей через 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.
Для лучшего понимания кода в статье, а также, чтоб узнать описание кодов ошибок и параметры запросов, смотрите документацию.
Платежи 2.0, отложенные голосовые чаты и новые версии Telegram для браузеров
В Telegram появилась возможность принимать платежи в любом чате, заранее объявлять о предстоящих голосовых чатах, видеть больше информации об участниках голосового чата и многое другое. Кроме этого, запущены сразу две новые версии Telegram для Вашего браузера.
Платёжные боты существуют в Telegram с 2017 года. С их помощью можно безопасно оплачивать товары и услуги вроде доставки пиццы, не покидая приложения.
С сегодняшнего дня продавцы могут принимать платежи кредитными картами с помощью 9 встроенных платёжных систем в любом чате, включая группы и каналы.
Для оплаты можно использовать любое приложение – в том числе Telegram для компьютеров. Покупатель также может оставить чаевые, чтобы поддержать любимого автора, кафе или магазин.
Платформа для платежей открытая и бесплатная – Telegram не берёт комиссии и не хранит платежную информацию. Реквизиты отправляются напрямую платежной системе, а адрес для доставки — продавцу, чтобы он мог отправить товар.
Испытать новые возможности на бесплатных тестовых товарах и услугах можно в этом канале.
Подключить свой магазин к платформе платежей можно без согласования с Telegram. Все подробности доступны в технической документации для разработчиков.
Голосовые чаты Telegram можно использовать как для бесед в небольшой компании друзей, так и для массовых трансляций с миллионами слушателей.
С сегодняшнего дня администраторы групп и каналов могут запланировать предстоящий голосовой чат на определенное время – чтобы все желающие успели подстроить свои планы и рассказать о событии друзьям.
Участники сообщества увидят цветной таймер с обратным отсчётом и смогут подписаться на уведомление о начале голосового чата.
Создать отложенный голосовой чат можно из профиля группы или канала, где Вы являетесь администратором. На Android нажмите ⋮ > Начать голосовой чат > Выбрать время. На iOS необходимо нажать на кнопку c символом голосового чата, а затем Выбрать время.
Чат начнется только после того, как кто-то из администраторов нажмет на кнопку Начать сейчас.
Из окна голосового чата теперь можно быстро просмотреть фотографию и данные из графы О себе любого участника – чтобы лучше понимать, с кем Вы говорите.
Отредактировать свою фотографию и данные О себе тоже можно прямо из голосового чата – например, загрузить фотографию из паспорта перед ответственным выступлением.
Telegram можно пользоваться прямо из браузера с 2014 года. Сегодня мы представляем сразу две новые веб-версии Telegram. Обе поддерживают анимированные стикеры, ночной режим, папки для чатов и другие возможности – и отлично работают на мобильных устройствах.
Благодаря этим приложениям, Вы можете моментально получить доступ к Вашим чатам на любом компьютере или телефоне — без установки, скачав всего 400 KB, что сопоставимо с размером двух фотографий.
Как и другие наши приложения, все веб-версии работают независимо от Вашего телефона — он может быть выключен или вне сети. Новые приложения доступны по этим адресам:
Поделиться пожеланиями относительно новых версий можно на платформе для предложений и сообщений об ошибках — в настоящий момент только на английском языке.
Те, кто предпочитает приложения, могут загрузить Telegram для Android напрямую с официального сайта telegram.org. Приложения, установленные таким образом, будут обновляться автоматически — и, скорее всего, на несколько дней, а то и недель раньше, так как не нужно будет ждать, пока новую версию одобрят в каталоге.
Telegram поддерживает воспроизводимые сборки, поэтому каждый может убедиться, что его версия приложения собрана в точности из того открытого исходного кода, который мы публикуем на GitHub.
Теперь Вы можете быстро приблизить фотографии и видеозаписи в чате, не открывая их: достаточно потянуть за изображение двумя пальцами.
Пользователи iOS могут перематывать видеозаписи вперед или назад, удерживая пальцем кнопки +/- 15с. На Android видео можно перематывать, удерживая пальцем правую или левую часть экрана. Двойное нажатие перемотает на 10 секунд в ту или иную сторону.
С каждым обновлением приложение для Android работает плавнее и дополняется новыми анимациями. В этот раз — при появлении бокового меню и возвращении в чат из списка чатов.
Чтобы узнать больше о возможностях Telegram, нажмите Возможности Telegram в левом меню или перейдите по адресу @TelegramTips.
На этом пока всё. Мы уже работаем над следующим обновлением — и если Вы только что подумали «Так держать!», а не «Когда же вы отдыхаете?», Вам стоит заглянуть в наш обновлённый список вакансий.
26 апреля 2021
Команда Telegram