Source code for aiogram.types.pre_checkout_query

from __future__ import annotations

from typing import TYPE_CHECKING, Optional

from pydantic import Field

from .base import TelegramObject

if TYPE_CHECKING:
    from ..methods import AnswerPreCheckoutQuery
    from .order_info import OrderInfo
    from .user import User


[docs]class PreCheckoutQuery(TelegramObject): """ This object contains information about an incoming pre-checkout query. Source: https://core.telegram.org/bots/api#precheckoutquery """ id: str """Unique query identifier""" from_user: User = Field(..., alias="from") """User who sent the query""" currency: str """Three-letter ISO 4217 `currency <https://core.telegram.org/bots/payments#supported-currencies>`_ code""" total_amount: int """Total price in the *smallest units* of the currency (integer, **not** float/double). For example, for a price of :code:`US$ 1.45` pass :code:`amount = 145`. See the *exp* parameter in `currencies.json <https://core.telegram.org/bots/payments/currencies.json>`_, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).""" invoice_payload: str """Bot specified invoice payload""" shipping_option_id: Optional[str] = None """*Optional*. Identifier of the shipping option chosen by the user""" order_info: Optional[OrderInfo] = None """*Optional*. Order information provided by the user"""
[docs] def answer(self, ok: bool, error_message: Optional[str] = None) -> AnswerPreCheckoutQuery: """ :param ok: :param error_message: :return: """ from ..methods import AnswerPreCheckoutQuery return AnswerPreCheckoutQuery( pre_checkout_query_id=self.id, ok=ok, error_message=error_message, )