Async YooMoney API Client
Project description
# aioyoomoney
**aioyoomoney** — это асинхронная Python-библиотека для работы с [YooMoney API](https://yoomoney.ru/docs/wallet).
Позволяет получать информацию о счёте, просматривать историю операций, получать детали операций, создавать счета для оплаты и проверять их статус.
---
## 🔑 Получение Access Token
1. Войдите в свой кошелек YooMoney. Если кошелька ещё нет — [создайте](https://yoomoney.ru/).
2. Перейдите на [страницу регистрации приложения](https://yoomoney.ru/myservices/new).
3. Укажите параметры приложения:
- Скопируйте `CLIENT_ID`, `CLIENT_SECRET` и `REDIRECT_URI` — они понадобятся для авторизации.
4. Подтвердите регистрацию.
5. Выполните следующий код для получения токена:
```python
from aioyoomoney import authorize
token = authorize(
client_id="YOUR_CLIENT_ID",
redirect_uri="YOUR_REDIRECT_URI",
client_secret="YOUR_CLIENT_SECRET",
scope=[
"account-info",
"operation-history",
"operation-details",
"incoming-transfers",
"payment-p2p",
]
)
print(token)
После выполнения кода вы получите токен, который можно использовать для доступа к API. Это самый сложный шаг — дальше всё просто!
🚀 Возможности
- 🔐 Получение информации о счете
- 💳 История операций с фильтрами
- 🧾 Детали конкретной операции
- 🧨 Создание платёжной формы (инвойса)
- ✅ Проверка оплаты по метке (label)
📦 Установка
pip install aioyoomoney
Требования: Python 3.9+, aiohttp, pydantic, yarl
⚡ Быстрый старт
import asyncio
from aioyoomoney import YooMoney
async def main():
client = YooMoney(
token="your_yoomoney_token",
receiver="410011161616877" # ваш кошелек для приёма платежей
)
account = await client.account_info()
print(f"Баланс: {account.balance} ₽")
asyncio.run(main())
📘 Примеры
Получить информацию о счёте
account = await client.account_info()
print(account.balance, account.account)
Получить историю операций
history = await client.operation_history(records=10)
for op in history.operations:
print(op.amount, op.datetime, op.title)
Получить детали операции
details = await client.operation_details(operation_id="1234567890")
print(details.amount, details.message)
Создать форму оплаты (инвойс)
invoice = await client.create_invoice(
amount=500.0,
invoice_id="order_123",
redirect_url="https://example.com/success"
)
print(invoice.url_pay)
Проверка оплаты по invoice_id
is_paid = await client.check_invoice("order_123")
print("Оплачено!" if is_paid else "Ожидает оплату")
🧪 Тестирование
Для запуска тестов (в процессе написания):
pytest
🛠 Используемые технологии
📄 Лицензия
Проект распространяется под лицензией MIT.
👤 Автор
Разработано с ❤️ @belyankiss
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 aioyoomoney-0.1.0.tar.gz.
File metadata
- Download URL: aioyoomoney-0.1.0.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb7d61212acc184200a0425848fa34232563bb5d95918bac560ce6790b039ace
|
|
| MD5 |
1ffe840336b6edc0e67fad1fe7b06901
|
|
| BLAKE2b-256 |
08c4d560e3658de5309ad3faffc0391c68a949a4f29bd065dbff667caca008fd
|
File details
Details for the file aioyoomoney-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aioyoomoney-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45fb5adcd586f6824505d0a3a39f0d80c8c40ce51fb24f2ae4e930748b9fee96
|
|
| MD5 |
edc964aa051aaf26e33be98ee3bafa70
|
|
| BLAKE2b-256 |
6f482e8603e66ef29aca5fd3345779d1bd9b265d995529309a38afe868039576
|