Skip to main content

Простая асинхронная библиотека для работы с API ЮMoney

Project description

aiomoney — простая асинхронная библиотека для работы с API ЮMoney

Авторизация приложения

  1. Зарегистрируйте новое приложение YooMoney по ссылке https://yoomoney.ru/myservices/new (без указания чекбокса OAuth2!).

  2. Получите и скопируйте client_id после создания приложения

  3. Создайте запрос на получение 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())
    
  4. Во время перенаправления по redirect_uri в адресной строке появится параметр code=. Скопируйте значение и вставьте его в консоль

  5. Если авторизация прошла успешно, в консоли отобразится Ваш 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


Download files

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

Source Distribution

aiomoney-3.0.2.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

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

aiomoney-3.0.2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

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

Hashes for aiomoney-3.0.2.tar.gz
Algorithm Hash digest
SHA256 eb2e23cfd7e1a942aac57f4fe970631c9db806ffedbed55cbd0e87a436193af0
MD5 0e78958b5f77d5e44d0d8db4b10991bf
BLAKE2b-256 6f815a5390ad5eab0b6df121fe54652fde31388c6a431e567b81e5b7143574c1

See more details on using hashes here.

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

Hashes for aiomoney-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8a0a731d4e29f1ffd30fbfcd5a785d96a6633e71a233f3c0d8c89b21ac068d9b
MD5 4bf0e5896f3807c0a5740d5e501824c2
BLAKE2b-256 01ec65d5b7de2e805fd26d3a49f877f5db785bfa9c0e19fc16bc54ee8066d09e

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