Всем привет! В связи блокировки **** в РФ, как то необходимо принимать платежи в ботах или на сайтах, но как же это сделать? Ответ прост, через ЮMoney и в сегодняшней статье мы рассмотрим один из способов создания оплат на Python используя API Yoomoney. Что нам потребуется? 1. Python 3.9+ 2. Библиотека YooMoney pip install YooMoney Python pip install YooMoney 3. Библиотека Requests pip install requests Python pip install requests Создание приложения 1. Зайдите в кошелек ЮMoney. Если кошелька нет, создайте его. 2. Перейдите на страницу Регистрация приложения. 3. Укажите параметры приложения: 4. Нажмите на кнопку Подтвердить. После у вас откроется страница Данные приложения, где будут указаны название вашего приложения, его идентификатор (client_id) и, если выбрана соответствующая опция, сгенерированное секретное слово (client_secret). Я буду показывать без проверки подлинности! В качестве redirect_uri, я указал Discord, позже поймете зачем. 5. Запоминаем client_id и redirect_uri, они нам еще нужны. Получаем TOKEN Создаем любой файл .py и вписываем в него данных код. Данный код позволит получить TOKEN вашего приложения для дальнейших манипуляций с API from yoomoney import Authorize Authorize( client_id="ВАШ_CLIENT_ID", redirect_uri="ВАШ_REDIRECT_URI", scope=["account-info", "operation-history", "operation-details", "incoming-transfers", "payment-p2p", "payment-shop", ] ) Python from yoomoney import Authorize Authorize( client_id="ВАШ_CLIENT_ID", redirect_uri="ВАШ_REDIRECT_URI", scope=["account-info", "operation-history", "operation-details", "incoming-transfers", "payment-p2p", "payment-shop", ] ) После запуска кода в консоль напишется следующие сообщение: Это означает что вы все сделали правильно, теперь вам требуется отправить код, что бы получить код требуется перейти на сайт который был указан в консоли и жмякнуть на «Продолжить»,переходи тыкаем и подтверждаем все. После подтверждения вас перекинет на сайт который вы указали в redirect_uri, но стоит нам посмотреть на ссылку сайт, то вы увидите тот самый код. Теперь просто копируем ссылку и вставляем в консоль. Если вы все сделали правильно, то вы получите следующие сообщений из консоли. Это и есть наш TOKEN. Теперь нам нужно просто его запомнить и все. Затем нам нужно получить номер аккаунта и проверить токен, это все делается через один простенький код. from yoomoney import Client TOKEN = "ВАШ_TOKEN" client = Client(TOKEN) user = client.account_info() print(user.account) Python from yoomoney import Client TOKEN = "ВАШ_TOKEN" client = Client(TOKEN) user = client.account_info() print(user.account) После запуска кода в консоль выведется ваш номер аккаунт, его мы тоже запоминаем в дальнейшем он нам ещё понадобится для создания счетов на оплату. Создаем счет на оплату Счет на оплату можно создать через данный код from yoomoney import Quickpay quickpay = Quickpay( receiver="4100117476417051", # Номер вашего аккаунта quickpay_form="shop", # Это я хз зачем, но я это не трогаю targets="Sponsor this project", # Цели, я их не изменяю, потому что особой нужды в этом нет. paymentType="SB", # Это лучше не трогать sum=10, # Это сумма label="test123" # Это комментарий для проверки на наличие оплаты ) print(quickpay.base_url) Python from yoomoney import Quickpay quickpay = Quickpay( receiver="4100117476417051", # Номер вашего аккаунта quickpay_form="shop", # Это я хз зачем, но я это не трогаю targets="Sponsor this project", # Цели, я их не изменяю, потому что особой нужды в этом нет. paymentType="SB", # Это лучше не трогать sum=10, # Это сумма label="test123" # Это комментарий для проверки на наличие оплаты ) print(quickpay.base_url) После запуска кода, вы получите ссылку для оплаты, если вы сделали все правильно, то ссылка будет работать. Теперь нам нужно запомнить label который вы указали, в моем случае это «test123». Проверка оплаты Теперь нам нужно проверить, получили ли мы оплату? Для этого требуется просто вставить этот код и заменить TOKEN на свой. from yoomoney import Client TOKEN = "ВАШ_TOKEN" client = Client(TOKEN) history = client.operation_history(label="test123") #Просмотр истории транзакций, label - комментарий который вы указали ранее if history.operations == []: print("Оплата не найдена!") for operation in history.operations: if operation.status == 'success': print("Оплата найдена!") Python from yoomoney import Client TOKEN = "ВАШ_TOKEN" client = Client(TOKEN) history = client.operation_history(label="test123") #Просмотр истории транзакций, label - комментарий который вы указали ранее if history.operations == []: print("Оплата не найдена!") for operation in history.operations: if operation.status == 'success': print("Оплата найдена!") После запуска кода, мы в консоль получим «Оплата найдена!», но стоит нам заменить label на «test123_zxc», то мы получим «Оплата не найдена!». Это связано с тем, что в истории ваших транзакций не нашлось чека и выше указанным label. Заключение В данной статье, я показал как принимать платежи используя API YooMoney. Если вы хотите принимать платежи от сразу нескольких лиц, то создайте базу данных в которой будете хранить Пользователя и универсальный для него label, затем просто обращайтесь к базе данных и вытаскивайте от туда его label и затем просто проверяйте на наличие оплаты. Если вам понравилась данная статья, то позже создам ещё две статья на подобные темы. 1. Как подключить эту платежку к боту Discord и как работать с базой данных. 2. Создание счетов для оплаты используя API Платежной системы Payok У меня в принципе все, спасибо за уделенное время, надеюсь смог чем то вам помочь. Если останутся вопросы, то пишите сюда или мне в TG - @roozzz1m
PowerDevil, Это разные части кода, для удобства я не стал делать все в одном полном коде. А принтовал я для того что бы новички в питоне, понимали что для чего. Если вам эта статья не интересна, то, пожалуйста, перестаньте писать всякий бред в комментарии.
привет, подскажи как в питоне сделать именно запрос на подобную детализацию? Как выделено. Помоги именно с самим запросом остальное я сам напишу