Source code for aioyookassa.core.client

import logging
from typing import Optional, Union

from aiohttp import ClientTimeout, TCPConnector

from aioyookassa.core.abc.client import BaseAPIClient
from aioyookassa.core.api import (
    DealsAPI,
    InvoicesAPI,
    PaymentMethodsAPI,
    PaymentsAPI,
    PayoutsAPI,
    PersonalDataAPI,
    ReceiptsAPI,
    RefundsAPI,
    SbpBanksAPI,
    SelfEmployedAPI,
    WebhooksAPI,
)
from aioyookassa.core.methods.me import GetMe
from aioyookassa.types.settings import Settings


[docs] class YooKassa(BaseAPIClient): """ YooKassa API Client. Main client for interacting with YooKassa payment system. Provides access to all available API modules: - payments: Payment operations - payment_methods: Payment method management - invoices: Invoice operations - refunds: Refund operations - receipts: Fiscal receipt operations - payouts: Payout operations - self_employed: Self-employed operations - sbp_banks: SBP participant banks operations - personal_data: Personal data operations - deals: Safe Deal operations - webhooks: Webhook operations (requires OAuth token) """
[docs] def __init__( self, api_key: str, shop_id: Union[int, str], timeout: Optional[ClientTimeout] = None, connector: Optional[TCPConnector] = None, proxy: Optional[str] = None, enable_logging: bool = False, logger: Optional[logging.Logger] = None, ): super().__init__( api_key=api_key, shop_id=shop_id, timeout=timeout, connector=connector, proxy=proxy, enable_logging=enable_logging, logger=logger, ) self.payments = PaymentsAPI(self) self.payment_methods = PaymentMethodsAPI(self) self.invoices = InvoicesAPI(self) self.refunds = RefundsAPI(self) self.receipts = ReceiptsAPI(self) self.payouts = PayoutsAPI(self) self.self_employed = SelfEmployedAPI(self) self.sbp_banks = SbpBanksAPI(self) self.personal_data = PersonalDataAPI(self) self.deals = DealsAPI(self) self.webhooks = WebhooksAPI(self)
[docs] async def get_me(self, on_behalf_of: Optional[str] = None) -> Settings: """ Get shop or gateway settings information. :param on_behalf_of: Shop ID for Split payments. Only for those who use Split payments. :type on_behalf_of: Optional[str] :returns: Settings object with shop or gateway information. :rtype: Settings :seealso: https://yookassa.ru/developers/api#me """ params = GetMe.build_params(on_behalf_of=on_behalf_of) result = await self._send_request(GetMe, params=params) return Settings(**result)