
    Ai"                         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 d d	lmZmZmZ er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   G d ded   ed   ed         Z!y)    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)StripeObject)UpdateableAPIResource)sanitize_id)ClassVarDictOptionalcast)LiteralUnpackTYPE_CHECKING)TaxCode)ShippingRateCreateParams)ShippingRateListParams)ShippingRateModifyParams)ShippingRateRetrieveParamsc                   L   e Zd ZU dZdZeed      ed<    G d de      Z	 G 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   dd fd       Zeded   dd fd       Zeded   ded    fd       Zeded   ded    fd       Zededed   dd fd       Zededed   dd fd        Zededed!   dd fd"       Zededed!   dd fd#       Ze	e
d$Zy%)&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                   h    e Zd ZU  G d de      Z G d de      Zee   ed<   	 ee   ed<   	 eedZy)	ShippingRate.DeliveryEstimatec                   *    e Zd ZU ed   ed<   	 eed<   y)%ShippingRate.DeliveryEstimate.Maximumbusiness_daydayhourmonthweekunitvalueN__name__
__module____qualname__r   __annotations__int     H/var/www/html/immo/lib/python3.12/site-packages/stripe/_shipping_rate.pyMaximumr   (       HII Jr-   r/   c                   *    e Zd ZU ed   ed<   	 eed<   y)%ShippingRate.DeliveryEstimate.Minimumr   r$   r%   Nr&   r,   r-   r.   Minimumr2   2   r0   r-   r3   maximumminimum)r4   r5   N)	r'   r(   r)   r   r/   r3   r   r*   _inner_class_typesr,   r-   r.   DeliveryEstimater   '   sK    	l 		l 	 '""	 '""	 *1WEr-   r7   c                   f    e Zd ZU  G d de      Zeed<   	 eed<   	 ee	eef      ed<   	 deiZ
dgZy)ShippingRate.FixedAmountc                   *    e Zd ZU eed<   	 ed   ed<   y)(ShippingRate.FixedAmount.CurrencyOptionsamount	exclusive	inclusiveunspecifiedtax_behaviorN)r'   r(   r)   r+   r*   r   r,   r-   r.   CurrencyOptionsr;   G   s    K ""IJJr-   rB   r<   currencycurrency_optionsN)r'   r(   r)   r   rB   r+   r*   strr   r   r6   _inner_class_dictsr,   r-   r.   FixedAmountr9   F   sX    	l 	 	 	 #4_(<#=>>	 1/B01r-   rG   activecreateddelivery_estimatedisplay_namefixed_amountidlivemodemetadataobjectr=   rA   r   tax_codetypeparamsr   returnc                 Z    t        d| j                  d| j                         |            S )5
        Creates a new shipping rate object.
        r   postrS   )r   _static_request	class_urlclsrS   s     r.   createzShippingRate.create   s6        
 	
r-   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rV   r   rW   rX   N)r   _static_request_asyncrZ   r[   s     r.   create_asynczShippingRate.create_async   sD      ++ ,  
 	
s   ,97
	9r   c                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )8
        Returns a list of your shipping rates.
        getrX   %Expected list object from API, got %s)rY   rZ   
isinstancer   	TypeErrorrR   r'   r\   rS   results      r.   listzShippingRate.list   s]     $$MMO % 

 &*-7<((* 
 r-   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rb   rc   rX   Nrd   )r_   rZ   re   r   rf   rR   r'   rg   s      r.   
list_asynczShippingRate.list_async   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r   c                 z    | j                         dt        |      }t        d| j                  d||            S );
        Updates an existing shipping rate object.
        /r   rW   rX   )rZ   r	   r   rY   r\   rM   rS   urls       r.   modifyzShippingRate.modify   sD     +b/:   
 	
r-   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)rm   rn   r   rW   rX   N)rZ   r	   r   r_   ro   s       r.   modify_asynczShippingRate.modify_async   sR      +b/:++ ,  
 	
s   <A	A
	A	r   c                 8     | |fi |}|j                          |S )E
        Returns the shipping rate object with the given ID.
        )refreshr\   rM   rS   instances       r.   retrievezShippingRate.retrieve   s$     r$V$r-   c                 T   K    | |fi |}|j                          d{    |S 7 w)ru   N)refresh_asyncrw   s       r.   retrieve_asynczShippingRate.retrieve_async  s3      r$V$$$&&& 	's   (&()rJ   rL   N)r'   r(   r)   __doc__r   r
   r   r*   r   r7   rG   boolr+   r   rE   r   r   classmethodr   r]   r`   r   ri   rk   rq   rs   ry   r|   r6   r,   r-   r.   r   r      s   

 7FK'/23EF< F>2l 24 L L   011 3- ;''G N 38n O$$ 7#JKLL y122 .
!! 
89
	
 
 
89
	
 
 67	N	# & 67	N	# & 

 &'A B
	
 
  

 &'A B
	
 
   &'C D	   &'C D	  .#r-   r   N)"stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr	   typingr
   r   r   r   typing_extensionsr   r   r   stripe._tax_coder   *stripe.params._shipping_rate_create_paramsr   (stripe.params._shipping_rate_list_paramsr   *stripe.params._shipping_rate_modify_paramsr   ,stripe.params._shipping_rate_retrieve_paramsr   r   r,   r-   r.   <module>r      sh    B 4 * = . A $ 1 1 < <( P
v.)'.)vr-   