Skip to main content

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

Project description

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

Установка

pip install ayoomoney

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

  1. Зарегистрируйте новое приложение YooMoney по ссылке https://yoomoney.ru/myservices/new

    • В полях "Адрес сайта" и "Redirect URI" укажите адрес: http://my.localhost
    • Чекбокс "Проверять подлинность приложения (OAuth2 client_secret)" должен быть отключен
  2. Получите и скопируйте client_id после создания приложения

  3. Получение access-токена

    • Автоматическое получение
    python -m ayoomoney.auth auto <client_id> http://my.localhost
    
    • Ручное получение
    python -m ayoomoney.auth simple <client_id> http://my.localhost
    

    Во время перенаправления по redirect_uri в адресной строке появится параметр code=. Скопируйте значение и вставьте его в консоль

    Если авторизация прошла успешно, в консоли отобразится Ваш access-token.

Получение основной информации об аккаунте

from ayoomoney.types import AccountInfo, OperationHistory, OperationDetails
from ayoomoney.wallet import YooMoneyWalletAsync, YooMoneyWallet


async def sync_example():
   wallet = YooMoneyWallet(access_token="ACCESS_TOKEN")

   account_info: AccountInfo = wallet.account_info()
   operation_history: OperationHistory = wallet.get_operation_history()
   operation_details: OperationDetails = wallet.get_operation_details(operation_id="42")


async def async_example():
   wallet = YooMoneyWalletAsync(access_token="ACCESS_TOKEN")

   account_info: AccountInfo = await wallet.account_info()
   operation_history: OperationHistory = await wallet.get_operation_history()
   operation_details: OperationDetails = await wallet.get_operation_details(operation_id="42")


if __name__ == "__main__":
   sync_example()

   # import asyncio
   # asyncio.run(async_example())

Создание платёжной формы и проверка оплаты

import asyncio
from ayoomoney.wallet import YooMoneyWalletAsync, PaymentSource


async def main():
   wallet = YooMoneyWalletAsync(access_token="ACCESS_TOKEN")

   payment_form = await wallet.create_payment_form(
      amount_rub=2,
      unique_label="myproject",
      payment_source=PaymentSource.YOOMONEY_WALLET,
      success_redirect_url="https://www.youtube.com/watch?v=dQw4w9WgXcQ&pp=ygUJcmljayByb2xl"
   )
   # проверка платежа по label
   payment_is_completed: bool = await wallet.check_payment_on_successful(
      payment_form.payment_label
   )

   print(
      f"Ссылка на оплату:\n{payment_form.link_for_customer}\n\n"
      f"Форма оплачена: {'Да' if payment_is_completed else 'Нет'}"
   )


if __name__ == "__main__":
   asyncio.run(main())

Поддержка проекта

Если вы обнаружили ошибку или хотите предложить идею для улучшения проекта, создайте issue.

Если у вас есть возможность и желание внести улучшения в проект, отправляйте pull request.

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

ayoomoney-1.0.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

ayoomoney-1.0.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file ayoomoney-1.0.0.tar.gz.

File metadata

  • Download URL: ayoomoney-1.0.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.6

File hashes

Hashes for ayoomoney-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9a71197c5ac8b4d9d90b9bcaef0408e34bfef87f1bfb9e6206ee3e42e8264a1b
MD5 bae567b95dd2f66f57fc2af4645a4c39
BLAKE2b-256 216d49e0507dbfc812b83633d67cdec01dc6d2ff563a424c0f3b62bf0e991a57

See more details on using hashes here.

File details

Details for the file ayoomoney-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ayoomoney-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.6

File hashes

Hashes for ayoomoney-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a99eac7bb051403490bf98bb595dffebe610ca011d56d8998bb5b607e5e8e6f
MD5 25a6100e7d0f271519d01cbc9198453d
BLAKE2b-256 66efdf48da7895b0d7b969c4ff8d286658ccda66ed36026633674c82f6b415da

See more details on using hashes here.

Supported by

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