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.1.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ayoomoney-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 f7df4e114286b10a57cd20c94c7998a84376decbf27caa89ba84735a539b2dbe
MD5 4c1930006f90e3dc6db6b773ff3a16bb
BLAKE2b-256 fbf8cee2468e8b598daec1792a81f5cbeaf2fe1942d745bbc6a4565ce289f57e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ayoomoney-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 505a211b328bc59d963704aa755cdc10c5b65006faa32489744176e3bda8022a
MD5 839ad8d532dee9047d56bd6652ed08e8
BLAKE2b-256 2f1259ee95103155736d1c54d82b76b721eccf0b5e216571fe85791adced259c

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