a
    tNg                     @   sX   d dl mZ d dlmZ G dd dZG dd dZG dd deZG d	d
 d
eZdS )    )
BaseObject)Amountc                   @   s   e Zd ZdZdZdZdZdS )InvoiceStatusup  
    Статус счета.
    Возможные значения:
    - `pending` — счет создан и ожидает успешной оплаты;
    - `succeeded` — счет успешно оплачен, есть связанный платеж в статусе ~`succeeded` (финальный и неизменяемый статус для платежей в одну стадию);
    - `canceled` — вы отменили счет, успешный платеж по нему не поступил или был отменен (при оплате в две стадии) либо истек срок действия счета (финальный и неизменяемый статус).

    Подробнее про [жизненный цикл счета](/developers/payment-acceptance/scenario-extensions/invoices/basics#invoice-status)
    pendingZ	succeededZcanceledN)__name__
__module____qualname____doc__ZPENDINGZ	SUCCEEDEDZCANCELED r
   r
   {/var/www/vosh/data/www/fastworkle.ru/webshop-tgbot-v.1.0/venv/lib/python3.9/site-packages/yookassa/domain/models/invoice.pyr      s
   r   c                   @   s   e Zd ZdZdZdZdS )DeliveryMethodTypeu  
    Класс, представляющий модель DeliveryMethodType.

    Код способа доставки счета пользователю.
    Возможные значения:
    - `self` — Самостоятельно.
    Подробнее про [жизненный цикл счета](https://yookassa.ru/developers/payment-acceptance/scenario-extensions/invoices/basics)
    selfunknownN)r   r   r   r	   ZSELFUNKNOWNr
   r
   r
   r   r      s   r   c                   @   s   e Zd ZdZdZdZdZdZedd Z	e	j
dd Z	edd Zej
dd Zed	d
 Zej
dd
 Zedd Zej
dd ZdS )LineItemuC   Данные о товаре или услуге в корзине.Nc                 C   s   | j S )u   Возвращает description модели LineItem.

        :return: description модели LineItem.
        :rtype: str
        )_LineItem__descriptionr   r
   r
   r   description?   s    zLineItem.descriptionc                 C   s   |du rt d|| _dS )u   Устанавливает description модели LineItem.

        :param value: description модели LineItem.
        :type value: str
        Nz3Invalid value for `description`, must not be `None`)
ValueErrorr   r   valuer
   r
   r   r   H   s    c                 C   s   | j S )u   Возвращает price модели LineItem.

        :return: price модели LineItem.
        :rtype: LineItemPrice
        )_LineItem__pricer   r
   r
   r   priceS   s    zLineItem.pricec                 C   sD   |du rt dt|tr&t|| _nt|tr8|| _ntddS )u   Устанавливает price модели LineItem.

        :param value: price модели LineItem.
        :type value: LineItemPrice
        Nz-Invalid value for `price`, must not be `None`z)Invalid price data type in LineItem.price)r   
isinstancedictr   r   	TypeErrorr   r
   r
   r   r   \   s    

c                 C   s   | j S )u   Возвращает discount_price модели LineItem.

        :return: discount_price модели LineItem.
        :rtype: LineItemDiscountPrice
        )_LineItem__discount_pricer   r
   r
   r   discount_pricel   s    zLineItem.discount_pricec                 C   s4   t |trt|| _nt |tr(|| _ntddS )u   Устанавливает discount_price модели LineItem.

        :param value: discount_price модели LineItem.
        :type value: LineItemDiscountPrice
        z;Invalid discount_price data type in LineItem.discount_priceN)r   r   r   r   r   r   r
   r
   r   r   u   s
    

c                 C   s   | j S )u   Возвращает quantity модели LineItem.

        :return: quantity модели LineItem.
        :rtype: float
        )_LineItem__quantityr   r
   r
   r   quantity   s    zLineItem.quantityc                 C   s   |du rt d|| _dS )u   Устанавливает quantity модели LineItem.

        :param value: quantity модели LineItem.
        :type value: float
        Nz0Invalid value for `quantity`, must not be `None`)r   r   r   r
   r
   r   r      s    )r   r   r   r	   r   r   r   r   propertyr   setterr   r   r   r
   r
   r
   r   r   0   s*   







r   c                   @   sL   e Zd ZdZdZdZedd Zejdd Zedd Z	e	jdd Z	dS )	PaymentDetailsu  Данные о платеже по выставленному счету. Присутствуют, только если платеж успешно %[подтвержден пользователем](/developers/payment-acceptance/getting-started/payment-process#user-confirmation). Nc                 C   s   | j S )u   Возвращает id модели PaymentDetails.

        :return: id модели PaymentDetails.
        :rtype: str
        _PaymentDetails__idr   r
   r
   r   id   s    zPaymentDetails.idc                 C   s
   || _ dS )u   Устанавливает id модели PaymentDetails.

        :param value: id модели PaymentDetails.
        :type value: str
        Nr#   r   r
   r
   r   r%      s    c                 C   s   | j S )u   Возвращает status модели PaymentDetails.

        :return: status модели PaymentDetails.
        :rtype: PaymentStatus
        _PaymentDetails__statusr   r
   r
   r   status   s    zPaymentDetails.statusc                 C   s
   || _ dS )u   Устанавливает status модели PaymentDetails.

        :param value: status модели PaymentDetails.
        :type value: PaymentStatus
        Nr&   r   r
   r
   r   r(      s    )
r   r   r   r	   r$   r'   r    r%   r!   r(   r
   r
   r
   r   r"      s   


r"   N)Zyookassa.domain.commonr   Zyookassa.domain.modelsr   r   r   r   r"   r
   r
   r
   r   <module>   s
   h