Receipts API

API для работы с фискальными чеками.

class aioyookassa.core.api.receipts.ReceiptsAPI(client: BaseAPIClient)[source]

Bases: BaseAPI[CreateReceiptParams, FiscalReceipt]

YooKassa receipts API client.

Provides methods for creating, retrieving, and listing receipt registrations.

Initialize base API client.

Parameters:

client – Base API client instance.

async create_receipt(params: CreateReceiptParams) FiscalReceipt[source]

Create a new receipt registration.

Parameters:

params (CreateReceiptParams) – Receipt creation parameters (CreateReceiptParams).

Returns:

FiscalReceipt object.

Return type:

FiscalReceipt

Seealso:

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

Example:
>>> from aioyookassa.types.params import CreateReceiptParams
>>> from aioyookassa.types.enum import ReceiptType
>>> params = CreateReceiptParams(
...     type=ReceiptType.PAYMENT,
...     customer=Customer(...),
...     items=[...],
...     settlements=[...]
... )
>>> receipt = await client.receipts.create_receipt(params)
async get_receipts(params: GetReceiptsParams | None = None, **kwargs: Any) FiscalReceiptsList[source]

Retrieve a list of receipt registrations with optional filtering.

Parameters:
  • params (Optional[GetReceiptsParams]) – Filter parameters (GetReceiptsParams).

  • kwargs – Additional parameters (merged with params).

Returns:

FiscalReceiptsList object.

Return type:

FiscalReceiptsList

Seealso:

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

Example:
>>> from aioyookassa.types.params import GetReceiptsParams
>>> from aioyookassa.types.enum import ReceiptStatus
>>> params = GetReceiptsParams(status=ReceiptStatus.SUCCEEDED, limit=10)
>>> receipts = await client.receipts.get_receipts(params)
async get_receipt(receipt_id: str) FiscalReceipt[source]

Retrieve receipt registration information by receipt ID.

Parameters:

receipt_id – Receipt identifier.

Returns:

FiscalReceipt object.

Seealso:

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

Методы

create_receipt

Создание нового чека.

from aioyookassa.types.params import CreateReceiptParams
from aioyookassa.types.enum import ReceiptType, Currency
from aioyookassa.types.payment import PaymentItem, PaymentAmount, PaymentSubject, PaymentMode
from aioyookassa.types.payment import Settlement

params = CreateReceiptParams(
    type=ReceiptType.PAYMENT,
    payment_id="payment_id",
    items=[
        PaymentItem(
            description="Товар",
            quantity=1,
            amount=PaymentAmount(value=100.00, currency=Currency.RUB),
            vat_code=1,
            payment_subject=PaymentSubject.COMMODITY,
            payment_mode=PaymentMode.FULL_PAYMENT
        )
    ],
    settlements=[
        Settlement(
            type="prepayment",
            amount=PaymentAmount(value=100.00, currency=Currency.RUB)
        )
    ],
    tax_system_code=1
)
receipt = await client.receipts.create_receipt(params)

get_receipts

Получение списка чеков с возможностью фильтрации.

from aioyookassa.types.params import GetReceiptsParams
from aioyookassa.types.enum import ReceiptStatus

params = GetReceiptsParams(
    payment_id="payment_id",
    status=ReceiptStatus.SUCCEEDED,
    limit=10
)
receipts = await client.receipts.get_receipts(params)

get_receipt

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

receipt = await client.receipts.get_receipt("receipt_id")