-
Зарегистрируйте новое приложение YooMoney по ссылке https://yoomoney.ru/myservices/new (без указания чекбокса OAuth2!).
-
Получите и скопируйте
client_id
после создания приложения -
Создайте запрос на получение api-токена. О правах приложения
import asyncio from os import environ from aiomoney import authorize_app async def main(): await authorize_app( client_id=environ.get("CLIENT_ID"), redirect_uri=environ.get("REDIRECT_URI"), app_permissions=[ "account-info", "operation-history", "operation-details", "incoming-transfers", "payment-p2p", "payment-shop", ] ) if __name__ == "__main__": asyncio.run(main())
-
Во время перенаправления по
redirect_uri
в адресной строке появится параметрcode=
. Скопируйте значение и вставьте его в консоль -
Если авторизация прошла успешно, в консоли отобразится Ваш api-token. Сохраните его в переменную окружения (рекомендация)
import asyncio
from aiomoney.types import AccountInfo, Operation, OperationDetails
from aiomoney.wallet import YooMoneyWallet
async def main():
wallet = YooMoneyWallet(access_token="ACCESS_TOKEN")
account_info: AccountInfo = await wallet.account_info
operation_history: list[Operation] = await wallet.get_operation_history()
operation_details: OperationDetails = await wallet.get_operation_details(operation_id="999")
if __name__ == "__main__":
asyncio.run(main())
import asyncio
from aiomoney.wallet import YooMoneyWallet, PaymentSource
async def main():
wallet = YooMoneyWallet(access_token="ACCESS_TOKEN")
payment_form = await wallet.create_payment_form(
amount_rub=990,
unique_label="myproject_second_unicorn",
payment_source=PaymentSource.YOOMONEY_WALLET,
success_redirect_url="https://t.me/fofmow (nonono =/)"
)
# проверка платежа по 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())