Простая асинхронная библиотека для работы с API ЮMoney
Project description
aiomoney — простая асинхронная библиотека для работы с API ЮMoney
Авторизация приложения
-
Зарегистрируйте новое приложение YooMoney по ссылке https://yoomoney.ru/myservices/new (без указания чекбокса OAuth2!).
-
Получите и скопируйте
client_idпосле создания приложения -
Создайте запрос на получение api-токена. О правах приложения
import asyncio from aiomoney import authorize_app async def main(): await authorize_app( client_id="YOUR_CLIENT_ID", redirect_uri="YOUR_REDIRECT_URI", app_permissions=[ "account-info", "operation-history", "operation-details", "incoming-transfers", "payment-p2p", "payment-shop", ] ) if __name__ == "__main__": asyncio.run(main())
-
Во время перенаправления по
redirect_uriв адресной строке появится параметрcode=. Скопируйте значение и вставьте его в консоль -
Если авторизация прошла успешно, в консоли отобразится Ваш api-token. Сохраните его в переменную окружения
Получение основной информации об аккаунте
import asyncio
from collections import deque
from aiomoney import YooMoney
from aiomoney.schemas import AccountInfo, Operation, OperationDetails
async def main():
account = YooMoney(access_token="ACCESS_TOKEN")
account_info: AccountInfo = await account.account_info
operation_history: deque[Operation] = await account.get_operation_history()
operation_details: OperationDetails = await account.get_operation_details(operation_id="999")
print(account_info, operation_history, operation_details, sep="\n\n")
if __name__ == "__main__":
asyncio.run(main())
Создание платёжной формы и проверка оплаты
import asyncio
from aiomoney import YooMoney
from aiomoney.schemas import InvoiceSource
async def main():
wallet = YooMoney(access_token="ACCESS_TOKEN")
payment_form = await wallet.create_invoice(
amount_rub=990,
label="abcdefg",
payment_source=InvoiceSource.YOOMONEY_WALLET,
success_redirect_url="https://t.me/fofmow (nonono =/)"
)
# проверка платежа по label
is_paid: bool = await wallet.is_payment_successful(payment_form.label)
print(f"Ссылка на оплату:\n{payment_form.url}\n\n"
f"Форма оплачена: {'Да' if is_paid else 'Нет'}")
if __name__ == "__main__":
asyncio.run(main())
Если библиотека полезна для вас - Donates ❤️
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiomoney-3.0.2.tar.gz.
File metadata
- Download URL: aiomoney-3.0.2.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.11.6-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb2e23cfd7e1a942aac57f4fe970631c9db806ffedbed55cbd0e87a436193af0
|
|
| MD5 |
0e78958b5f77d5e44d0d8db4b10991bf
|
|
| BLAKE2b-256 |
6f815a5390ad5eab0b6df121fe54652fde31388c6a431e567b81e5b7143574c1
|
File details
Details for the file aiomoney-3.0.2-py3-none-any.whl.
File metadata
- Download URL: aiomoney-3.0.2-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.11.6-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a0a731d4e29f1ffd30fbfcd5a785d96a6633e71a233f3c0d8c89b21ac068d9b
|
|
| MD5 |
4bf0e5896f3807c0a5740d5e501824c2
|
|
| BLAKE2b-256 |
01ec65d5b7de2e805fd26d3a49f877f5db785bfa9c0e19fc16bc54ee8066d09e
|