Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aioyoomoney-0.1.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aioyoomoney-0.1.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

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

Hashes for aioyoomoney-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fb7d61212acc184200a0425848fa34232563bb5d95918bac560ce6790b039ace
MD5 1ffe840336b6edc0e67fad1fe7b06901
BLAKE2b-256 08c4d560e3658de5309ad3faffc0391c68a949a4f29bd065dbff667caca008fd

See more details on using hashes here.

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

Hashes for aioyoomoney-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45fb5adcd586f6824505d0a3a39f0d80c8c40ce51fb24f2ae4e930748b9fee96
MD5 edc964aa051aaf26e33be98ee3bafa70
BLAKE2b-256 6f482e8603e66ef29aca5fd3345779d1bd9b265d995529309a38afe868039576

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page