Как принимать платежи в Telegram | API Yoomoney Python
В данном посте мы научимся принимать платежи в Telegram боте с помощью API Yoomoney.
Введение
Начну с того, что я не так давно хотел создать магазин электронных товаров в Telegram. И столкнулся с проблемой, что на момент работы не было готовых решений. Хотелось принимать платежи без ИП и всякой этой движухи. Поэтому мой выбор был между Qiwi и Yoomoney (раньше Yandex Деньги). Сам я из Беларуси. Поэтому проще получить «Идентифицированный» аккаунт было у Yoomoney.
В итоге создал библиотеку yoomoney для Python.
Если данный пост вам помог, то поставьте звезду на GitHub. Мне будет очень приятно!
Описание
Как выставить счет на оплату
Получаем токен
Видео туториал есть на GitHub проекта.
Для того, чтобы пользоваться API Yoomoney нужно получить специальный токен. Первым делом регистрируем приложение:
1. Зайдите в кошелек ЮMoney. Если кошелька нет, создайте его.
2. Перейдите на страницу Регистрация приложения.
3. Укажите параметры приложения:
4. Нажмите на кнопку Подтвердить.
Откроется страница Данные приложения, где будут указаны название вашего приложения, его идентификатор (client_id) и, если выбрана соответствующая опция, сгенерированное секретное слово (client_secret).
Запоминаем client_id и redirect_uri, они нам еще нужны.
Теперь самое сложное: заменяем на свои данные и запускаем код. Следуйте всем шагам программы.
Не забываем про pip install yoomoney
Ура! Мы получили наш токен!
Проверяем токен
Заменяем YOUR_TOKEN на ваш и запускаем:
Супер! Токен работает и можно переходить к основной части.
Как выставить счет на оплату
Для этого воспользуемся модулем Quickpay.
Получаем две ссылки:
Первая ссылка находится под капотом второй. Обе ведут на одну форму. Но вторая имеет свой жизненный цикл.

Форма оплаты
Оплатить можно либо картой, либо переводом из кошелька.
Теперь вопрос: Как нам определить, что именно этот человек оплатил счет?
Для этого воспользуемся параметорм label — метка, которую сайт или приложение присваивает конкретному переводу. Например, в качестве метки можно указывать код или идентификатор заказа.
И теперь наша программа будет выглядеть так:
Теперь осталось только проверить оплату.
Проверка оплаты
Для этого воспользуемся основным модулем Client.
Зная label транзакции мы можем отфильтровать историю операций кошелька. Просто укажем label в client.operation_history():
В результате получаем список всех операций по нашему фильтру:
Теперь мы знаем прошла ли оплата.
Всё! Больше ничего не нужно для приема платежей.
Заключение
Если данный пост вам помог, то поставьте звезду на GitHub. Мне будет очень приятно!
Путеводитель по созданию интернет магазина в телеграм.
Далее, вы уже получили токен в @botFather. Найдите его токен, он выглядит как-то так:
Заполнение товара
После успешного создания бота, Вас перекинет на его рабочий стол. Слева в меню Вы можете найти пункт «Категории и товары». Далее в нем мы будем их добавлять.
https://bot-t.ru/faq/view?id=57 — Как происходит выдача товара, что такое уникальный товар. Как настроить количество товара
https://bot-t.ru/faq/view?id=73 — Как добавить категорию и подкатегорию
Добавление способов оплаты
Все же бот должен выдавать товары автоматически, для этого необходимо настроить платежные системы. Они доступны в разделе «Способы оплаты» (На рабочем столе)
По умолчанию на бесплатном тарифе вы можете добавить только киви и яндекс. А на платном тарифе, вам откроется больше платежных систем.
Гайд [Node.JS] Работа с API YooMoney.

Привет ✋. Прошлый гайд был про QIWI Wallet, пришло время разбираться с API YooMoney (Яндекс.Деньги в прошлом).
В данном случае у нас уже не будет готовых библиотек для работы с API, делать мы будем все сами, опираясь на документацию.
Что нам нужно?
1) Node.JS (у меня v14.16.1, но самая свежая 14.17.3)
2) Библиотека Needle
Наша задача:
1) Зарегистрировать приложение.
2) Получить временный токен от приложения.
3) Получить вечный токен, он и будет нам нужен для обращения к методам.
Заполняем все поля (логотип и галочку с client_secret можно оставить пустыми).
Если у вас нету своего сайта, в Redirect URI можно к примеру вставить ссылку на свой Telegram. Временный токен мы все равно сможем получить.
Далее подтверждаем действие через телефон и наше приложение создалось!
Получение временного и постоянного токена пользователя.
Чтобы получить постоянный токен для начала нужно получить временный токен, без него мы не сможем получить постоянный.
Для этого в API существует метод (/oauth/authorize). Параметрами которого являются:
client_id — идентификатор нашего приложения.
response_type — который постоянно равен значению "code"
redirect_uri — страница на которую будет совершен редирект и результат авторизации.
scope — запрашиваемые права доступа. (Все права доступа). Мы будем использовать только "account-info".
Теперь нужно обратиться к этому методу:
Это и есть наш токен, который теперь можно использовать всегда.
Получение баланса аккаунта.
Тут все просто, токен указывается в "headers" в поле ‘Authorization’.
ЮMoney прием платежей на сайте
ЮMoney — это электронный кошелек, который можно пополнять разными способами: с банковской карты, с мобильного телефона, через терминалы и кассы.
С помощью этого сервиса можно оплачивать покупки в онлайн-магазинах, билеты на транспорт и развлечения, коммунальные услуги, штрафы и налоги, переводить деньги другим пользователям и многое другое.
Прием платежей через ЮMoney имеет много преимуществ для продавцов и покупателей:
- Широкая аудитория. ЮMoney имеет более 50 миллионов пользователей в России и странах СНГ, что делает его одним из самых распространенных способов оплаты в интернете. Это означает, что вы сможете привлечь больше клиентов, которые предпочитают оплачивать покупки с помощью этого электронного кошелька.
- Безопасность. ЮMoney защищает личные данные и деньги пользователей с помощью современных технологий шифрования и аутентификации. Кроме того, сервис предоставляет возможность включить двухфакторную аутентификацию, которая повышает уровень безопасности при входе в кошелек. Вы сможете гарантировать своим клиентам надежность и конфиденциальность при оплате покупок через ЮMoney.
- Удобство. ЮMoney позволяет оплачивать покупки в один клик, без необходимости вводить данные карты или регистрации на сайте продавца. Достаточно выбрать способ оплаты «ЮMoney» и подтвердить платеж с помощью пароля или отпечатка пальца. Вы сможете упростить процесс оплаты для своих клиентов и увеличить конверсию.
- Выгода. ЮMoney не взимает комиссию за переводы между кошельками и оплату товаров и услуг у партнеров сервиса. Кроме того, ЮMoney дает возможность получать кэшбэк за покупки и участвовать в различных акциях и розыгрышах. Вы сможете экономить на комиссиях и мотивировать своих клиентов к повторным покупкам через эту платежную систему.
- Мультивалютность. Кошелек ЮМани, кроме рубля, поддерживает еще 10 валют. Эта возможность открывается после прохождения идентификации. ЮМани поддерживает белорусские рубли, казахстанские тенге, доллар США (USD), евро (EUR), британские фунты стерлингов (GBP), японские иены, китайские юани, польские злотые, чешские кроны, швейцарские франки.
Прием платежей через ЮMoney также имеет некоторые недостатки:
- Ограниченная география. ЮMoney доступен только для жителей России и некоторых стран СНГ. Для приема платежей из других стран необходимо использовать другие способы оплаты.
- Зависимость от интернета. Для использования ЮMoney необходимо иметь подключение к интернету, что может быть проблемой в некоторых регионах.
- Наличие лимитов. ЮMoney имеет разные лимиты на сумму и количество операций в зависимости от статуса кошелька. Для повышения лимитов необходимо пройти процедуру идентификации.
Прием платежей через ЮMoney подойдет тем продавцам, которые хотят расширить свою аудиторию и предложить своим клиентам удобный и безопасный способ оплаты. Прием платежей через эту платежную систему особенно актуален для тех, кто продает цифровые товары или услуги, такие как онлайн-курсы, игры, музыка, видео и т.д.
Лимиты на прием платежей через ЮMoney зависят от статуса кошелька продавца:
- Для анонимных пользователей — 15 000 рублей.
- Для владельцев именных кошельков — 60 000 рублей.
- Для тех, кто прошел идентификацию, — 500 000 рублей.
Для повышения статуса кошелька необходимо пройти процедуру идентификации на сайте или в приложении ЮMoney.
Прием платежей через ЮMoney осуществляется с помощью специального API (Application Programming Interface), который позволяет интегрировать сервис с сайтом или приложением продавца. Для этого необходимо выполнить следующие шаги:
- Зарегистрироваться на сайте https://yoomoney.ru/ как юридическое лицо или индивидуальный предприниматель.
- Получить специальный токен (ключ доступа) для работы с API.
- Настроить параметры приема платежей (валюта, комиссия, URL для уведомлений и т.д.).
- Интегрировать API с сайтом или приложением с помощью готовых модулей или самостоятельно.
Если вы не хотите заниматься интеграцией API самостоятельно, можете воспользоваться услугами нашего агрегатора платежных систем ENOT.io. Агрегатор позволяет подключить прием платежей через ЮMoney, банковские карты, криптовалюту, QIWI, Perfect Money. Таким способом ваш клиент получит множество способов оплаты на выбор, что повысит вашу конверсию продаж.
Наш сервис по приему платежей имеет собственные модули для популярных CMS. Интеграция не займет много времени. Мы работаем с физическими лицами, самозанятыми. Начать работать с нами очень просто, даже не потребуется заполнение документов.
Для начала сотрудничества с нами нужно выполнить следующие шаги:
-
, как продавец.
- Добавить свой сайт с описанием, дождаться его проверки (не более 24-х часов).
- Настроить параметры приема платежей. Вы можете указать, в какой валюте хотите принимать платежи, на какой адрес хотите получать уведомления о статусе платежей и другие настройки. Выбрать способы приема платежей, в том числе ЮMoney.
- Интегрировать агрегатор с помощью готовых модулей или самостоятельно. Готовые модули представлены для разных платформ, таких как WordPress Woocommerce, Joomla, DLE, Opencart, Xenforo. Вы можете выбрать подходящий для себя модуль. Если вы хотите интегрировать агрегатор самостоятельно, то вам необходимо изучить документацию по API на сайте или применить платежный виджет.
Прием платежей через ЮMoney — это отличный выбор для тех, кто хочет предложить своим клиентам удобный и безопасный способ оплаты. Чтобы подключить прием платежей через ЮMoney к своему сайту или приложению, вам нужно либо интегрировать API самостоятельно, либо использовать готовые модули.