Skip to main content

API Yoomoney (async) - unofficial python library

This is an unofficial YooMoney API python library.

This repository was taken as a basis.

Introduction

This repository is based on the official documentation of YooMoney.

Features

Implemented methods:

  • Access token - Getting an access token
  • Account information - Getting information about the status of the user account.
  • Operation history - This method allows viewing the full or partial history of operations in page mode. History records are displayed in reverse chronological order (from most recent to oldest).
  • Operation details - Provides detailed information about a particular operation from the history.
  • Quickpay forms - The YooMoney form is a set of fields with information about a transfer. You can embed payment form into your interface (for instance, a website or blog). When the sender pushes the button, the details from the form are sent to YooMoney and an order for a transfer to your wallet is initiated.

Installation

You can install with:

pip install aioyoomoney-api

You can install from source with:

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

Quick start

Access token

First of all we need to receive an access token.

  1. Log in to your YooMoney wallet with your username. If you do not have a wallet, create it.
  2. Go to the App registration page.
  3. Set the application parameters. Save CLIENT_ID and YOUR_REDIRECT_URI for net steps
  4. Click the Confirm button.
  5. Paste CLIENT_ID, REDIRECT_URI and CLIENT_SECRET insted of YOUR_CLIENT_ID, YOUR_REDIRECT_URI and YOUR_CLIENT_SECRET. Choose scopes and run code.
  6. Follow all steps from the program.
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)

You are done with the most difficult part!

Account information

Paste YOUR_TOKEN and run this code:

import asyncio

from aioyoomoney import Client


async def client_info():
    client = Client(YOUR_TOKEN)

    account = await client.account_info()

    print(f"Account: {account.id}")
    print(f"Balance: {account.balance}")
    print(f"Currency: {account.currency}")
    print(f"Account Status: {account.account_status}")
    print(f"Account Type: {account.account_type}")
    print(f"Balance Details: {account.balance_details}")
    print(f"Cards Linked: {account.cards_linked}")


asyncio.run(client_info())

Operation history

Paste YOUR_TOKEN and run this code:

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("Next record:", history.next_record)
    for operation in history.operations:
        for field in fields(operation):
            if field.name != "kwargs":
                print(field.name, '->', operation[field.name])

        for key, value in operation.kwargs.items():
            print(key, '->', value)

        print("================================")


asyncio.run(get_operation_history())

Operation details

Paste YOUR_TOKEN with an OPERATION_ID (example: 670244335488002312):

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(field.name, '->', operation[field.name])

    for key, value in operation.kwargs.items():
        print(key, '->', value)


asyncio.run(get_operation_details())

Quickpay forms

Run this code:

import asyncio
from aioyoomoney import Quickpay


async def quickpay():
    async with Quickpay(
        receiver="899999999999999",
        quickpay_form="shop",
        targets="Sponsor this project",
        payment_type="SB",
        sum=10,
        form_comment='test',
        label="label"
    ) as quickpay:
        print(quickpay.redirected_url)
        print(quickpay.base_url)
        print(quickpay.payload)


asyncio.run(quickpay())

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aioyoomoney_api-0.0.10.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aioyoomoney_api-0.0.10-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file aioyoomoney_api-0.0.10.tar.gz.

File metadata

  • Download URL: aioyoomoney_api-0.0.10.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for aioyoomoney_api-0.0.10.tar.gz
Algorithm Hash digest
SHA256 8b77f25990575ee5c6527a4add4321acf8eb755dfa84c4c573533100fa9bbf3f
MD5 4e05d1d934ce76ff8b06fac17f64be79
BLAKE2b-256 ac92412108b85f46434609822965087f2f4b73f73418ce1dd47e4d75fdbd5dba

See more details on using hashes here.

File details

Details for the file aioyoomoney_api-0.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for aioyoomoney_api-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 708af6b48db29d782859942217f6b2c0b0787286e75e200ee5cdee678ceb1e5b
MD5 ffe648140eef9d2cede33feb9377155e
BLAKE2b-256 bb517d84d415e8ede4559b8e35e8c8a6b59a608ff434ab2f86391298c1a64292

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.10 This release

2 files

0.0.9

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page