Простая синхронная/асинхронная библиотека для работы с API ЮMoney
Project description
ayoomoney — простая синхронная/асинхронная библиотека для работы с API ЮMoney
Установка
pip install ayoomoney
Авторизация приложения
-
Зарегистрируйте новое приложение YooMoney по ссылке https://yoomoney.ru/myservices/new
- В полях "Адрес сайта" и "Redirect URI" укажите адрес: http://my.localhost
- Чекбокс "Проверять подлинность приложения (OAuth2 client_secret)" должен быть отключен
-
Получите и скопируйте
client_id
после создания приложения -
- Автоматическое получение
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
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a71197c5ac8b4d9d90b9bcaef0408e34bfef87f1bfb9e6206ee3e42e8264a1b |
|
MD5 | bae567b95dd2f66f57fc2af4645a4c39 |
|
BLAKE2b-256 | 216d49e0507dbfc812b83633d67cdec01dc6d2ff563a424c0f3b62bf0e991a57 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a99eac7bb051403490bf98bb595dffebe610ca011d56d8998bb5b607e5e8e6f |
|
MD5 | 25a6100e7d0f271519d01cbc9198453d |
|
BLAKE2b-256 | 66efdf48da7895b0d7b969c4ff8d286658ccda66ed36026633674c82f6b415da |