Source code for aioyookassa.core.api.payouts
from typing import Union
from aioyookassa.core.api.base import BaseAPI
from aioyookassa.core.methods.payouts import CreatePayout, GetPayout
from aioyookassa.types.params import CreatePayoutParams
from aioyookassa.types.payout import Payout
[docs]
class PayoutsAPI(BaseAPI[CreatePayoutParams, Payout]):
"""
YooKassa payouts API client.
Provides methods for creating and retrieving payouts.
"""
[docs]
async def create_payout(
self,
params: CreatePayoutParams,
) -> Payout:
"""
Create a new payout in YooKassa.
:param params: Payout creation parameters (CreatePayoutParams).
:type params: CreatePayoutParams
:returns: Payout object.
:rtype: 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)
"""
return await self._create_resource(
params=params,
params_class=CreatePayoutParams,
method_class=CreatePayout,
result_class=Payout,
)
[docs]
async def get_payout(self, payout_id: str) -> Payout:
"""
Retrieve payout information by payout ID.
:param payout_id: Payout identifier.
:type payout_id: str
:returns: Payout object.
:rtype: Payout
:seealso: https://yookassa.ru/developers/api#get_payout
"""
return await self._get_by_id(
resource_id=payout_id,
method_class=GetPayout,
result_class=Payout,
id_param_name="payout_id",
)