Skip to content

paranoik1/aioyoomoney-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Yoomoney API (async) - Неофициальная Python библиотека

Python Version

Асинхронная Python библиотека для работы с API YooMoney.

📖 Введение

Основано на репозитории: AlekseyKorshuk/yoomoney-api

Библиотека разработана на основе официальной документации YooMoney.

🌟 Возможности

Реализованные методы:

📦 Установка

Установка через pip:

pip install aioyoomoney-api

Установка из исходников:

git clone https://github.com/paranoik1/aioyoomoney-api
cd aioyoomoney-api
pip install .

🚀 Быстрый старт

🔑 Получение токена доступа

  1. Войдите в свой YooMoney кошелек. Если у вас его нет - создайте
  2. Перейдите на страницу регистрации приложения
  3. Заполните параметры приложения. Сохраните CLIENT_ID и REDIRECT_URI
  4. Нажмите кнопку "Подтвердить"
  5. Замените YOUR_CLIENT_ID, YOUR_REDIRECT_URI и YOUR_CLIENT_SECRET на реальные значения
from aioyoomoney import authorize

token = authorize(
    client_id=CLIENT_ID,
    redirect_uri=REDIRECT_URI,
    client_secret=CLIENT_SECRET,
    scope=[
        "account-info",
        "operation-history",
        "operation-details",
        "incoming-transfers",
        "payment-p2p",
    ]
)

print(token)

💳 Информация об аккаунте

import asyncio
from aioyoomoney import Client

async def client_info():
    client = Client(YOUR_TOKEN)
    account = await client.account_info()

    print(f"Аккаунт: {account.id}")
    print(f"Баланс: {account.balance}")
    print(f"Валюта: {account.currency}")
    print(f"Статус: {account.account_status}")
    print(f"Тип аккаунта: {account.account_type}")
    print(f"Детали баланса: {account.balance_details}")
    print(f"Привязанные карты: {account.cards_linked}")

asyncio.run(client_info())

📜 История операций

import asyncio
from aioyoomoney import Client
from dataclasses import fields

async def get_operation_history():
    client = Client(YOUR_TOKEN)
    history = await client.operation_history()
    
    print("Следующая запись:", history.next_record)
    for operation in history.operations:
        for field in fields(operation):
            if field.name != "kwargs":
                print(f"{field.name} -> {operation[field.name]}")

        for key, value in operation.kwargs.items():
            print(f"{key} -> {value}")

        print("="*30)

asyncio.run(get_operation_history())

🔍 Детали операции

import asyncio
from aioyoomoney import Client
from dataclasses import fields

async def get_operation_details():
    client = Client(YOUR_TOKEN)
    operation = await client.operation_details(OPERATION_ID)
    
    for field in fields(operation):
        if field.name != "kwargs":
            print(f"{field.name} -> {operation[field.name]}")

    for key, value in operation.kwargs.items():
        print(f"{key} -> {value}")

asyncio.run(get_operation_details())

💸 Формы быстрой оплаты

import asyncio
from aioyoomoney import Quickpay


async def quickpay(receiver: str, sum: int, label: str = None):
    async with Quickpay(
        receiver=receiver,
        sum=sum,
        label=label
    ) as quickpay:
        print(f"URL: {quickpay.redirected_url}")
        print(f"Базовый URL с параметрами: {quickpay.base_url}")
        print(f"Параметры: {quickpay.payload}")


asyncio.run(quickpay("4100111111111111", 5000, "test-label-quickpay"))

About

🕸 Async Yoomoney API

Topics

Resources

Stars

Watchers

Forks

Languages