o
    Bi*B                     @   s   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZmZmZmZmZ d d
lmZmZmZmZmZ erTd dlmZ G dd ded ed ed ZdS )    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)UpdateableAPIResource)sanitize_id)ClassVarDictListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)TaxCodec                   @   s  e Zd ZU dZdZeed  ed< G dd deZ	G dd deZ
G dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZeed < 	 eed!< 	 ee	 ed"< 	 ee ed#< 	 ee
 ed$< eed%< 	 eed&< 	 eeef ed'< 	 ed ed(< 	 eed)  ed*< 	 eed+  ed,< 	 ed$ ed-< 	 ed.e d/ d0d fd1d2Z!ed.e d/ d0d fd3d4Z"ed.e d5 d0e#d  fd6d7Z$ed.e d5 d0e#d  fd8d9Z%ed%ed.e d: d0d fd;d<Z&ed%ed.e d: d0d fd=d>Z'ed%ed.e d? d0d fd@dAZ(ed%ed.e d? d0d fdBdCZ)e	e
dDZ*dES )FShippingRatez
    Shipping rates describe the price of shipping presented to your customers and
    applied to a purchase. For more information, see [Charge for shipping](https://stripe.com/docs/payments/during-payment/charge-shipping).
    shipping_rateOBJECT_NAMEc                   @   sT   e Zd ZU G dd deZG dd deZee ed< 	 ee ed< 	 eedZdS )	zShippingRate.DeliveryEstimatec                   @   $   e Zd ZU ed ed< 	 eed< dS )z%ShippingRate.DeliveryEstimate.Maximumbusiness_daydayhourmonthweekunitvalueN__name__
__module____qualname__r   __annotations__int r'   r'   U/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/_shipping_rate.pyMaximum%   
   
 r)   c                   @   r   )z%ShippingRate.DeliveryEstimate.Minimumr   r   r    Nr!   r'   r'   r'   r(   Minimum/   r*   r+   maximumminimum)r,   r-   N)	r"   r#   r$   r   r)   r+   r   r%   _inner_class_typesr'   r'   r'   r(   DeliveryEstimate$   s   
 

r/   c                   @   sV   e Zd ZU G dd deZeed< 	 eed< 	 ee	eef  ed< 	 deiZ
dgZdS )zShippingRate.FixedAmountc                   @   s$   e Zd ZU eed< 	 ed ed< dS )z(ShippingRate.FixedAmount.CurrencyOptionsamount	exclusive	inclusiveunspecifiedtax_behaviorN)r"   r#   r$   r&   r%   r   r'   r'   r'   r(   CurrencyOptionsD   s
   
 r6   r0   currencycurrency_optionsN)r"   r#   r$   r   r6   r&   r%   strr   r   r.   _inner_class_dictsr'   r'   r'   r(   FixedAmountC   s   
 

r;   c                   @   s   e Zd ZU ed ed< 	 eed< 	 eee  ed< 	 ed ed< 	 eeeef  ed< 	 eed  ed	< 	 ee ed
< 	 eed  ed< dS )ShippingRate.CreateParams)ShippingRate.CreateParamsDeliveryEstimatedelivery_estimatedisplay_nameexpand$ShippingRate.CreateParamsFixedAmountfixed_amountmetadatar1   r5   tax_codetypeN)	r"   r#   r$   r   r%   r9   r   r   r   r'   r'   r'   r(   CreateParams]   s*   
 rF   c                   @   s(   e Zd ZU ed ed< 	 ed ed< dS )r=   0ShippingRate.CreateParamsDeliveryEstimateMaximumr,   0ShippingRate.CreateParamsDeliveryEstimateMinimumr-   N)r"   r#   r$   r   r%   r'   r'   r'   r(   CreateParamsDeliveryEstimate   s   
 rI   c                   @   r   )rG   r   r   r    Nr!   r'   r'   r'   r(   #CreateParamsDeliveryEstimateMaximum   r*   rJ   c                   @   r   )rH   r   r   r    Nr!   r'   r'   r'   r(   #CreateParamsDeliveryEstimateMinimum   r*   rK   c                   @   s6   e Zd ZU eed< 	 eed< 	 eeedf  ed< dS )rA   r0   r7   3ShippingRate.CreateParamsFixedAmountCurrencyOptionsr8   N)r"   r#   r$   r&   r%   r9   r   r   r'   r'   r'   r(   CreateParamsFixedAmount   s   
 
rM   c                   @   s(   e Zd ZU eed< 	 eed  ed< dS )rL   r0   r1   r5   N)r"   r#   r$   r&   r%   r   r   r'   r'   r'   r(   &CreateParamsFixedAmountCurrencyOptions   s   
 rN   c                   @   sr   e Zd ZU ee ed< 	 ed ed< 	 ee ed< 	 ee ed< 	 eee  ed< 	 ee ed< 	 ee ed< d	S )
ShippingRate.ListParamsactivez"ShippingRate.ListParamsCreated|intcreatedr7   ending_beforer@   limitstarting_afterN)	r"   r#   r$   r   boolr%   r9   r   r&   r'   r'   r'   r(   
ListParams   s   
 rV   c                   @   sD   e Zd ZU ee ed< 	 ee ed< 	 ee ed< 	 ee ed< dS )zShippingRate.ListParamsCreatedgtgteltlteN)r"   r#   r$   r   r&   r%   r'   r'   r'   r(   ListParamsCreated   s   
 r[   c                   @   sZ   e Zd ZU ee ed< 	 eee  ed< 	 ed ed< 	 ed ed< 	 eed  ed< d	S )
ShippingRate.ModifyParamsrP   r@   $ShippingRate.ModifyParamsFixedAmountrB   zLiteral['']|Dict[str, str]rC   r1   r5   N)	r"   r#   r$   r   rU   r%   r   r9   r   r'   r'   r'   r(   ModifyParams   s   
 r^   c                   @   s"   e Zd ZU eeedf  ed< dS )r]   3ShippingRate.ModifyParamsFixedAmountCurrencyOptionsr8   N)r"   r#   r$   r   r   r9   r%   r'   r'   r'   r(   ModifyParamsFixedAmount	  s
   
 
r`   c                   @   s,   e Zd ZU ee ed< 	 eed  ed< dS )r_   r0   r1   r5   N)r"   r#   r$   r   r&   r%   r   r'   r'   r'   r(   &ModifyParamsFixedAmountCurrencyOptions  s   
 ra   c                   @   s   e Zd ZU eee  ed< dS )ShippingRate.RetrieveParamsr@   N)r"   r#   r$   r   r   r9   r%   r'   r'   r'   r(   RetrieveParams  s   
 rc   rP   rQ   r>   r?   rB   idlivemoderC   objectr1   r5   r   rD   rE   paramsr<   returnc                 K   s   t d| jd|  |dS )5
        Creates a new shipping rate object.
        r   postrg   )r   _static_request	class_urlclsrg   r'   r'   r(   createQ  s   zShippingRate.createc                    s"   t d| jd|  |dI dH S )ri   r   rj   rk   N)r   _static_request_asyncrm   rn   r'   r'   r(   create_asynca  s   
zShippingRate.create_asyncrO   c                 K   s4   | j d|  |d}t|tstdt|j |S )8
        Returns a list of your shipping rates.
        getrk   %Expected list object from API, got %s)rl   rm   
isinstancer   	TypeErrorrE   r"   ro   rg   resultr'   r'   r(   listq  s   
zShippingRate.listc                    s<   | j d|  |dI dH }t|tstdt|j |S )rs   rt   rk   Nru   )rq   rm   rv   r   rw   rE   r"   rx   r'   r'   r(   
list_async  s   
zShippingRate.list_asyncr\   c                 K   s*   d|   t|f }td| jd||dS );
        Updates an existing shipping rate object.
        %s/%sr   rj   rk   )rm   r	   r   rl   ro   rd   rg   urlr'   r'   r(   modify  s   zShippingRate.modifyc                    s2   d|   t|f }td| jd||dI dH S )r|   r}   r   rj   rk   N)rm   r	   r   rq   r~   r'   r'   r(   modify_async  s   
zShippingRate.modify_asyncrb   c                 K   s   | |fi |}|   |S )E
        Returns the shipping rate object with the given ID.
        )refreshro   rd   rg   instancer'   r'   r(   retrieve  s   zShippingRate.retrievec                    s$   | |fi |}|  I dH  |S )r   N)refresh_asyncr   r'   r'   r(   retrieve_async  s   zShippingRate.retrieve_async)r>   rB   N)+r"   r#   r$   __doc__r   r
   r   r%   r   r/   r;   r   rF   r   rI   rJ   rK   rM   rN   rV   r[   r^   r`   ra   rc   rU   r&   r   r9   r   r   classmethodr   rp   rr   r   rz   r{   r   r   r   r   r.   r'   r'   r'   r(   r      s   
 &



r   N)stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr	   typingr
   r   r   r   r   typing_extensionsr   r   r   r   r   stripe._tax_coder   r   r'   r'   r'   r(   <module>   s"   
