Урок №12. Подключение системы оплаты в telegram боте
В этом уроке мы добавим платежную систему для оформления платежей внутри нашего telegram бота.
1.2K показов
1.9K открытий
Интеграция системы оплаты.
Для подключения системы оплаты мы должны перейти в BotFather и прописать команду /mybots. За счет этой команды мы можем выполнить редактирование наших ботов. Выбираем нашего бота. Тут мы можем узнать токен нашего бота, отредактировать его и так далее. Нас же интересует такая кнопка, как Payments, то есть настройка платежей в боте.
Telegram позволяет настроить сразу несколько различных систем оплаты для вашего бота. Также важно, что для настройки какой-либо систем платежей вы должны быть зарегистрированы в самой этой системе. Я буду регистрировать такую систему как ЮKassa. Если мы хотим подключить основную систему оплаты, то заходите на сайт ЮKassa, в организации и вводите свои данные, и буквально через 1 день вам пришлют договор с подписанием контракта с ЮKassa. Мы же пока подключим с вами тестовый магазин в нашем боте. Для этого в BotFather мы выбираем ЮKassa.
Теперь если у вас уже подключена основная система оплаты, то нажимаем на кнопку Connect ЮKassa Live. В моем случае я подключаю тестовый магазин, поэтому нажимаю на кнопку Connect ЮKassa Test. Далее нас перебрасывает в бота юкассы. Нажимаем кнопку start. Далее бот нас просит отправить ему идентификатор нашего магазина. Бот сформирует вам его и останется только переслать это число ему в ответ. Далее он попросит скинуть ваш shopArticleId, который он также сам сгенерирует. После чего ЮKassa зарегистрирует ваш тестовый магазин в BotFather.
Теперь возвращаемся в BotFather, где уже зарегистрирована наша платежная система. Он выводит нам токен, по которому м теперь сможем проводить оплату.
Импортируем токен в программу
Добавляем наш токен в файл token.csv, где у нас уже храниться token нашего бота. Сохраняем его в переменную, например, PAYMENT_TOKEN.
Теперь мы можем описать код, за счет которого мы будем высылать счет на оплату пользователю и при нажатии на специальную кнопку пользователь сможет перейти на систему оплаты и выполнить платеж через нашего бота.
Создание счета (invoice).
Давайте теперь напишем код, за счет которого мы будем высылать invoice пользователю. По сути это будет счет для оплаты и при нажатии на специальную кнопку, пользователь будет переходить на систему оплаты и выполнить платеж. Давайте будет отправлять пользователю счет для оплаты, когда нам будет приходить такая команда, как /pay. Так как в прошлом уроке мы работали с библиотекой aiogram, чтобы закрепить то, что мы узнали, продолжим работать на ней.
Мы обращаемся к диспетчеру (то есть объекту dis), затем обращаемся к message_handler() и также указываем commands = [‘pay’]. Затем мы должны создать функцию, например, payment. В функции мы указываем параметр message и указываем тип этого параметра. Для этого ставим двоеточие, затем указываем types и тип этого параметра, то есть message. Теперь давайте отправим счет нашему пользователю. Для этого прописываем await bot.send_invoise. Данная функция принимает много параметров, давайте разберемся в них. Первым параметром передаем message.chat.id.
Title, где указываем название нашего товара.
Description — в нем мы пишем описание к нашему товару.(является не обязательным в передаче)
Provider_token, тут же мы обращаемся к нашему csv файлу и берем из него PAYMENT_TOKEN.
Currency необходимо передать трехзначный код валюты в формате ISO 4217. Полный список валют можно найти здесь.
Photo_url мы должны передать ссылку на наше фото(является не обязательным в передаче) Если вы добавили фото, то нужно указать параметры photo_height и photo_width, иначе изображение либо вообще не отобразится, либо отобразится некорректно.
Is_flexible отвечает за то, что финальная цена зависит от способа доставки (когда передаем True). При значении False этот параметр можно не писать.
Prices принимает массив из цен, поэтому передаем туда [price]. Переменную price мы напишем чуть позже.
Start_parameter является обязательным, документация утверждает, что можно использовать уникальный диплинкинг параметр, чтобы создать эту квитанцию.
Payload. Объем 1-128 байт. Рекомендуется использовать его для того чтобы идентифицировать инвойсы — он не показывается пользователю, но мы можем его прочитать при получении успешной оплаты.
Сейчас при запуске у нас будет выдаваться ошибка, так как у нас неизвестная переменная price. Давайте создадим ее. Для этого перед диспетчером мы пишем переменную price, куда должны указать цену товара. Мы обращаемся к types, к LabeledPrice(). Далее в label мы указываем название товара, а в amount передаем стоимость.
ВАЖНО! Нужно передавать целочисленное значение в минимально возможных единицах валюты. То есть если мы говорим о рублях, то передавать нужно копейки (123руб. как 123* 100).
Теперь при запуске бота и отправке команды /pay, нашему пользователю будет отправляться счет на оплату.
#9 – Оплата заказа в боте. Система оплаты
Telegram позволяет встроить систему оплаты прямиком внутрь вашего бота. За урок вы ознакомитесь с созданием Invoice (счета) и добавлением системы оплаты в бота. Для оплаты можно будет использовать разные платежные шлюзы.
Видеоурок
При помощи @BotFather вы можете в Telegram добавить систему оплаты к вашему боту. Можно добавлять только те системы оплаты, что поддерживаются для вашего бота. Про них можно узнать прописав команду /mybots и далее выбрав вашего бота.
Перед интеграцией некой системы оплаты вам нужно зарегистрироваться в самой системе оплаты. После вы сможете интегрировать её для работы с вашим ботом.
Весь код будет доступен после подписки на проект!
Реализация оплаты в телеграмм боте
Необходимо реализовать оплату в телеграмм боте, что для этого необходимо и какая платёжная система или сервис приёма платежей подойдёт без открытия ООО/ИП.
Отслеживать
задан 15 июл 2021 в 14:54
27 1 1 серебряный знак 7 7 бронзовых знаков
Я не осведомлён в этой теме, поэтому, если кто-то может просветить, будьте добры или подкиньте материалы для чтения
15 июл 2021 в 14:58
необходимо почитать статью 171 УК РФ. Осуществление предпринимательской деятельности без регистрации или без лицензии либо без аккредитации в национальной системе аккредитации наказывается штрафом в размере до трехсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до двух лет, либо обязательными работами на срок до четырехсот восьмидесяти часов, либо арестом на срок до шести месяцев.
15 июл 2021 в 15:27
@Интик Вообще-то существует такое понятие как «самозанятый».
15 июл 2021 в 16:56
но регистрироваться в фнс всёравно нужно.и перед изучением платёжных систем лучше почитать законы, ато патом сюрприз будет.
15 июл 2021 в 17:58
Телеграм-бот Donate позволяет принимать оплату во многих валютах, в том числе и в крипте
8 сен 2022 в 20:42
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Платёжные боты существуют в Telegram с 2017 года. С их помощью можно безопасно оплачивать товары и услуги вроде доставки пиццы, не покидая приложения.
Для оплаты можно использовать любое приложение – в том числе Telegram для компьютеров. Покупатель также может оставить чаевые, чтобы поддержать любимого автора, кафе или магазин.
Платформа для платежей открытая и бесплатная – Telegram не берёт комиссии и не хранит платежную информацию. Реквизиты отправляются напрямую платежной системе, а адрес для доставки — продавцу, чтобы он мог отправить товар.
Испытать возможности на бесплатных тестовых товарах и услугах можно в этом канале.
На данный момент Telegram поддерживает платежи из более чем 200 стран через следующие платежные системы:
- Stripe
- YooMoney (ЮSelf — бесплатный сервис для самозанятых)
- Sberbank
- Tranzzo
- Payme
- CLICK
- LiqPay
- ECOMMPAY
- PayMaster
Для подключения оплаты:
- у @BotFather выберите своего бота
- Перейдите в раздел Payments
- Выберите платёжного провайдера
- Для разработки и отладки выберите Connect *** TEST
- Для «боевой» среды выберите Connetct *** LIVE
- Описание пошагового процесса оплаты
- Описание API
- Пример реализации с помощью pyTelegramBotAPI
- Пример реализации с помощью Telethon
Как подключить и настроить оплату через Telegram-бота


Сегодня оплата через Телеграм-бота — это возможность не просто поднять объёмы продаж, а выйти на новую целевую аудиторию, так как в 2023 году число пользователей мессенджера достигло 700 млн. человек. Покупателю удобнее сделать покупку и оплату прямо в чате, поэтому прием платежей в Телеграм-боте позволяет монетизировать подписчиков групп и пабликов, почти не выходя из TG. Это укорачивает путь клиента к покупке, следовательно, повышает конверсию.

Лей без холдов!
Плати за рекламу в Facebook, Google Ads и других рекламных сервисах с Combo Cards. Регистрируйся, пополняй до 5000$ без комиссий и получи 20 карт из США и Европы бесплатно.
Содержание скрыть
Как создать бота в Телеграм для приема оплаты?
Перед тем, как создать бота, необходимо получить токен управления им. Делается это в bofather через команды /start и /newbot.
Получив токен, вы можете приступить к разработке бота на конструкторе или через программирование.
Конструкторы ботов для приема платежей в Телеграм
В Телеграм много конструкторов и сервисов по созданию ботов. Но лишь в немногие из них интегрированы платежные системы. Botmother. Популярный инструмент, через который создают ботов не только в ТГ, но и в других мессенджерах и социальных сетях. Botmother работает с платёжками PayOnline, Robokassa, bePaid, VKPay, ЮKassa и платежи в Telegram. Есть бесплатный тариф для работы с максимум 10 ботами и есть платные тарифы от 2900 до 11000 рублей в месяц. Sambot. Это конструктор широкого назначения, с помощью которого создают боты модерации, опросники, игровые, справочные и магазины в Телеграм. В него интегрированы платёжки QIWI, ЮMoney, Robokassa, ЮKassa, Prodamus, ТинькоффБанк. Тарифы от 500 рублей в месяц до 12600 рублей в год. BotKits. Предназначен для коммерческих ботов — магазины в ТГ, выбор и покупка еды с доставкой, подбор депозита/кредита и другие средства взаимодействия с клиентами. Принимает оплату через ЮMoney, QIWI, терминалы оплаты и с международных банковских карт. Тарифы от 2000 до 7700 рублей в месяц. BotTap. С его помощью создают ботов не только в TG, но и в Viber, Facebook и VK. Интегрирован с платёжками QIWI, ЮMoney, ЮКасса, YClients и Енот. Тарифы от 100 до 1200 рублей в месяц. PuzzleBot. Конструктор для создания ботов автоматических ответов, модерации, магазинов, автопостинга и для других типовых задач. К нему подключают платёжки ЮMoney, QIWI, Енот, а также Cryptobot и Minter для платежей в криптовалюте. Юрлицам доступны также ЮКасса, Robokassa, Cloudpayments, Prodamus и ещё пара десятков платёжек. Есть бесплатный тариф и платные от 550 до 1600 рублей в месяц. B4S — Bot4shop. Это конструктор для создания ботов-магазинов. Заточен под витрины продаж в Телеграм. К нему подключаются платёжки Tranzzo, LiqPay, Portmone, Cascad, Paymega, LeoGaming, Stripe, а также Apple и Google Pay. Тарифы 25$ в месяц или 120$ в год.
Пример кода на Python для приема оплаты в Телеграм-боте
Чтобы написать бота на Питоне, понадобится установить Python на своё устройство и создать два файла: main.py и config.py. Дальше устанавливаем aiogram для разработки ботов на Питоне через менеджер пакетов PIP: python -m pip install aiogram. Далее в файл main.py вписываем базовый код любого бота и вставляем полученный токен. По токену Botfather свяжет ваш программный код с ботом в Teleram. Пример базового кода. from aiogram import Bot, Dispatcher, executor, types API_TOKEN = вставляем сюда токен из Botfather bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) @dp.message_handler(commands=[‘start’]) async def send_welcome(message: types.Message): await message.reply(«Привет!\nЯ Эхо-бот\nОтправь мне любое сообщение, а я тебе обязательно отвечу.») @dp.message_handler() async def echo(message: types.Message): await message.answer(message.text) if __name__ == ‘__main__’: executor.start_polling(dp, skip_updates=True) Для приёма платежей в файл config.py вставляем этот код. import config import logging from aiogram import Bot, Dispatcher, executor, types from aiogram.types.message import ContentType # log logging.basicConfig(level=logging.INFO) # init bot = Bot(token=config.TOKEN) dp = Dispatcher(bot) # echo bot @dp.message_handler() async def echo(message; types.Message): await message.answer (message.text) # run long-polling if __name__ == «main»: executor.start_polling(dp, skip_updates=False) После создания файлов main.py и config.py к боту можно подключать оплату.
Как подключить оплату в Телеграм-бота
Независимо от того, работаете ли вы на конструкторе или в Питоне, вы отправляете в Botfather команду /mybots, чтобы перейти к управлению ботами.
Как подключить оплату в самописном боте?
Этот способ подходит для ботов, которые вы написали самостоятельно или создали на конструкторах без API платёжных систем. После команды /mybots выбираем бот и жмём на кнопку Payments (платежи), а затем выбираем систему оплаты.
В нашем случае выберем платёжку Paymaster и чтобы её подключить, жмём на “Connect Paymaster Live”. В результате нас перебрасывает на PayMaster Bot.
Запускаем бот и указываем идентификатор своего сайта в системе Paymaster.
В результате в BotFather получаем “боевой” платёжный токен, который и будем использовать в своих ботах для привязки платёжной системы PayMaster. Кроме этой платёжки в BotFather есть множество других платежных систем: Robokassa, ECOMMPAY, Click.uz, Stripe, Liqpay и другие. Главное, чтобы у вас был аккаунт в этих системах, привязанный сайт и карта, кошелёк, либо счёт, куда вы будете выводить деньги. Привязка их к своему BotFather происходит аналогичным образом. Статья по теме: Полезные боты для СММ.
Как подключить оплату в конструкторе?
- Создаём аккаунт на платформе и авторизуемся через её бот;
- Получаем токен в BotFather и отправляем его в Puzzlebot.
Теперь бот привязан к конструктору и им можно управлять. В конструкторе переходим в меню “Настройки”, а затем “Платёжные системы”.

Далее нужно создать магазин с товарами и услугами. Например, добавим несколько товаров в Puzzlebot.

Затем настраиваем цены и сценарии оплаты.

Теперь можно запустить бот и попробовать купить один из товаров.

Система после нажатия на кнопку оплаты сгенерирует уникальную ссылку и перебросит пользователя на страницу, где он введёт данные своей карты и произведёт платёж. Платежи также принимаются с Apple Pay и Google Pay. Владелец аккаунта Paymaster выводит их на свою карту либо счёт в банке.
FAQ
Какие платежные системы работают в Телеграме?
В мессенджере Дурова предусмотрены Global Pay, Paycom, Click.Uz, Freedom Pay, Stripe, ЮKassa, Сбербанк, Tranzzo, LiqPay, ECOMMPAY, PayMaster, Cascad, Paymega, Portmone, ПСБ, LeoGaming, Bank 131, Unlimint, iPay88, Robokassa, Paykassma, PayBox.money, bill_line, Redsys, Chapa. В основном они предназначены для оплаты с международных и национальных банковских карт в долларах, евро и местных валютах.
Что такое Telegram Payments?
Это платёжные системы, которые встроены в GodFather и которые можно подключить к боту для приёма платежей онлайн через Телеграм. Они принимают оплату онлайн через Mastercard, Visa, Maestro, Unionpay, МИР, а также местные карты.
Можно ли принимать платежи в Телеграм без ИП?
Все платёжные системы Телеграм — ЮKassa, Robokassa, Click.Uz и другие требуют заключить договор и оформить юридическое лицо для приёма платежей. Даже если подключать платёжные сервисы внутри конструкторов, ИП всё равно требуется, так как платформа у вас потребует подключить ваш собственный аккаунт в платёжной системе. Однако в Интернете нетрудно найти сервисы, которые продают рабочие аккаунты этих систем. Покупая такой акк, вы вяжете к нему свою карту и подключаете к телеграм-боту. Другой вариант приёма платежей без ИП — сервисы донатов, наподобие Donate, Tools, Remiling, Asay, Paidsub и множества других. Правда, они позволяют принимать платежи только за цифровые товары.
Как подключить кнопку доната в Телеграме?
Это делается через донаторские сервисы. Официальный сервис донатов в Telegram — Donate. Но кроме него есть Paywal, Admaker, Toolsy, Nemiling, Cashwave и множество других. Инструкции по настройке есть в каждом сервисе. Все они не только позволяют принимать донаты, но и предоставлять платный доступ к файлам, страницами цифровым товарам.
Можно ли подключить Сбербанк к Телеграм-боту?
Да, потому что он есть в списке официальных платёжных систем Telegram и интегрирован в BotFather. Для его подключения нужно открыть аккаунт в онлайн-банкинге Сбербанк, а также оформить юридическое лицо для приёма платежей.
