Payouts API

API для работы с выплатами.

class aioyookassa.core.api.payouts.PayoutsAPI(client: BaseAPIClient)[source]

Bases: BaseAPI[CreatePayoutParams, Payout]

YooKassa payouts API client.

Provides methods for creating and retrieving payouts.

Initialize base API client.

Parameters:

client – Base API client instance.

async create_payout(params: CreatePayoutParams) Payout[source]

Create a new payout in YooKassa.

Parameters:

params (CreatePayoutParams) – Payout creation parameters (CreatePayoutParams).

Returns:

Payout object.

Return type:

Payout

Seealso:

https://yookassa.ru/developers/api#create_payout

Example:
>>> from aioyookassa.types.params import CreatePayoutParams
>>> from aioyookassa.types.payment import PaymentAmount
>>> from aioyookassa.types.enum import Currency
>>> params = CreatePayoutParams(
...     amount=PaymentAmount(value=100.00, currency=Currency.RUB),
...     payout_destination_data=BankCardPayoutDestinationData(
...         card={"number": "5555555555554477"}
...     )
... )
>>> payout = await client.payouts.create_payout(params)
async get_payout(payout_id: str) Payout[source]

Retrieve payout information by payout ID.

Parameters:

payout_id (str) – Payout identifier.

Returns:

Payout object.

Return type:

Payout

Seealso:

https://yookassa.ru/developers/api#get_payout

Методы

create_payout

Создание новой выплаты.

from aioyookassa.types.params import (
    CreatePayoutParams,
    BankCardPayoutDestinationData,
    BankCardPayoutCardData
)
from aioyookassa.types.payment import Money
from aioyookassa.types.enum import Currency

# Выплата на банковскую карту
params = CreatePayoutParams(
    amount=Money(value=1000.00, currency=Currency.RUB),
    payout_destination_data=BankCardPayoutDestinationData(
        card=BankCardPayoutCardData(number="5555555555554477")
    ),
    description="Выплата по договору 37"
)
payout = await client.payouts.create_payout(params)

# Выплата через СБП
from aioyookassa.types.params import SbpPayoutDestinationData

params = CreatePayoutParams(
    amount=Money(value=1000.00, currency=Currency.RUB),
    payout_destination_data=SbpPayoutDestinationData(
        bank_id="100000000111",
        phone="79000000000"
    )
)
payout = await client.payouts.create_payout(params)

# Выплата на кошелек ЮMoney
from aioyookassa.types.params import YooMoneyPayoutDestinationData

params = CreatePayoutParams(
    amount=Money(value=1000.00, currency=Currency.RUB),
    payout_destination_data=YooMoneyPayoutDestinationData(
        account_number="41001614575714"
    )
)
payout = await client.payouts.create_payout(params)

get_payout

Получение информации о конкретной выплате.

payout = await client.payouts.get_payout("payout_id")
print(f"Status: {payout.status}")
print(f"Amount: {payout.amount.value} {payout.amount.currency}")