
    > /iK                     b    d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 erddl
mZ  G d de      Zy	)
zLThis module contains an object that represents a Telegram SuccessfulPayment.    )TYPE_CHECKINGOptional)	OrderInfo)TelegramObject)JSONDict)Botc                        e Zd ZdZdZ	 	 ddddedededed	ed
ee   dee   dee	   f fdZ
edee	   ddded    f fd       Z xZS )SuccessfulPaymenta  This object contains basic information about a successful payment.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`telegram_payment_charge_id` and
    :attr:`provider_payment_charge_id` are equal.

    Args:
        currency (:obj:`str`): Three-letter ISO 4217 currency code.
        total_amount (:obj:`int`): Total price in the smallest units of the currency (integer, not
            float/double). For example, for a price of US$ 1.45 pass ``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 (:obj:`str`): Bot specified invoice payload.
        shipping_option_id (:obj:`str`, optional): Identifier of the shipping option chosen by the
            user.
        order_info (:class:`telegram.OrderInfo`, optional): Order info provided by the user.
        telegram_payment_charge_id (:obj:`str`): Telegram payment identifier.
        provider_payment_charge_id (:obj:`str`): Provider payment identifier.

    Attributes:
        currency (:obj:`str`): Three-letter ISO 4217 currency code.
        total_amount (:obj:`int`): Total price in the smallest units of the currency (integer, not
            float/double). For example, for a price of US$ 1.45 ``amount`` is ``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 (:obj:`str`): Bot specified invoice payload.
        shipping_option_id (:obj:`str`): Optional. Identifier of the shipping option chosen by the
            user.
        order_info (:class:`telegram.OrderInfo`): Optional. Order info provided by the user.
        telegram_payment_charge_id (:obj:`str`): Telegram payment identifier.
        provider_payment_charge_id (:obj:`str`): Provider payment identifier.

    )invoice_payloadshipping_option_idcurrency
order_infotelegram_payment_charge_idprovider_payment_charge_idtotal_amountN
api_kwargsr   r   r   r   r   r   r   r   c                    t         	|   |       || _        || _        || _        || _        || _        || _        || _        | j                  | j                  f| _	        | j                          y )Nr   )super__init__r   r   r   r   r   r   r   	_id_attrs_freeze)
selfr   r   r   r   r   r   r   r   	__class__s
            Y/srv/sistema/bot/venv/lib/python3.12/site-packages/telegram/_payment/successfulpayment.pyr   zSuccessfulPayment.__init__P   sl     	J/%!-$31C/9/I'/I'994;Z;Z[    databotr   returnc                     | j                  |      }|syt        j                  |j                  d      |      |d<   t        | 	  ||      S )z,See :meth:`telegram.TelegramObject.de_json`.Nr   )r   r   )_parse_datar   de_jsongetr   )clsr   r   r   s      r   r"   zSuccessfulPayment.de_jsoni   sL     t$&..txx/EsK\wDc22r   )NN)__name__
__module____qualname____doc__	__slots__strintr   r   r   r   classmethodr"   __classcell__)r   s   @r   r
   r
      s    $LI" -1*. *.  	
 %( %( %SM Y' X&2 	38H- 	3E 	3hGZ>[ 	3 	3r   r
   N)r(   typingr   r   telegram._payment.orderinfor   telegram._telegramobjectr   telegram._utils.typesr   telegramr   r
    r   r   <module>r4      s+   & S * 1 3 *T3 T3r   