
    DhPK                         S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJrJr  S S	KJrJrJrJrJrJrJr  S S
KJrJrJrJrJr  \(       a  S SKJ r   S SK!J"r"   " S S\S   \S   \S   5      r#g)    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalUnioncastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Product)Supplierc                      \ rS rSr% SrSr\\S      \S'    " S S\	5      r
 " S S\	5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r\\S'    \\S'    \\S'    \\
   \S'   \\   \S'    \\S      \S'    \\   \S'    \\   \S'    \\S '    \\S!'    \\   \S"'    \\   \S#'    \\   \S$'    \\S%'    \\S&'    \\S''    \\\4   \S('    \\S)'    \S   \S*'    \S+   \S,'    \\   \S-'    \S.   \S/'    \S0\S1\S2   S3S 4S4 j5       r\\ S0\S1\S2   S3S 4S5 j5       5       r!\S1\S2   S3S 4S6 j5       r!\"" S75      S1\S2   S3S 4S8 j5       r!\S0\S1\S2   S3S 4S9 j5       r#\\ S0\S1\S2   S3S 4S: j5       5       r$\S1\S2   S3S 4S; j5       r$\"" S<5      S1\S2   S3S 4S= j5       r$\S1\S>   S3S 4S? j5       r%\S1\S>   S3S 4S@ j5       r&\S1\SA   S3\'S    4SB j5       r(\S1\SA   S3\'S    4SC j5       r)\S&\S1\SD   S3S 4SE j5       r*\S&\S1\SD   S3S 4SF j5       r+\S&\S1\SG   S3S 4SH j5       r,\S&\S1\SG   S3S 4SI j5       r-\
\SJ.r.SKr/gL)MOrder   z
Orders represent your intent to purchase a particular Climate product. When you create an order, the
payment is deducted from your merchant balance.
zclimate.orderOBJECT_NAMEc                        \ rS rSr% \\S'   Srg)Order.Beneficiary%   public_name N__name__
__module____qualname____firstlineno__str__annotations____static_attributes__r"       X/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/climate/_order.pyBeneficiaryr   %       	r+   r-   c                   |    \ rS rSr%  " S S\5      r\\S'    \\   \S'    \	\S'    \\	   \S'    S\S	'    S\0r
S
rg)Order.DeliveryDetail+   c                   h    \ rS rSr% \\   \S'    \\S'    \\   \S'    \\   \S'    \\   \S'   Srg)	Order.DeliveryDetail.Location,   citycountrylatitude	longituderegionr"   N)	r$   r%   r&   r'   r   r(   r)   floatr*   r"   r+   r,   Locationr3   ,   sP    3- L uo%  & SM!r+   r;   delivered_atlocationmetric_tonsregistry_urlr   supplierr"   N)r$   r%   r&   r'   r   r;   intr)   r   r(   _inner_class_typesr*   r"   r+   r,   DeliveryDetailr0   +   se    	| 	, 	 8$$	 	 sm#	 	 )(3r+   rC   c                   ,    \ rS rSr% \\\      \S'   Srg)Order.CancelParamsX   expandr"   N	r$   r%   r&   r'   r   r   r(   r)   r*   r"   r+   r,   CancelParamsrE   X       DI&&	r+   rI   c                       \ rS rSr% \\   \S'    \S   \S'    \\   \S'    \\\      \S'    \\	\\4      \S'    \\   \S'    \\S	'   S
r
g)Order.CreateParams^   amountOrder.CreateParamsBeneficiarybeneficiarycurrencyrG   metadatar>   productr"   N)r$   r%   r&   r'   r   rA   r)   r(   r   r   r*   r"   r+   r,   CreateParamsrL   ^   s    C  	 !!@AA	 c""	 DI&&	 d38n--	 !%%	 	r+   rT   c                        \ rS rSr% \\S'   Srg)rO   |   r!   r"   Nr#   r"   r+   r,   CreateParamsBeneficiaryOrder.CreateParamsBeneficiary|   r.   r+   rW   c                   b    \ rS rSr% \\   \S'    \\\      \S'    \\   \S'    \\   \S'   Sr	g)Order.ListParams   ending_beforerG   limitstarting_afterr"   N)
r$   r%   r&   r'   r   r(   r)   r   rA   r*   r"   r+   r,   
ListParamsrZ      sL    "3''	 DI&&	 3	 $C((	r+   r_   c                   Z    \ rS rSr% \S   \S'    \\\      \S'    \\\\4      \S'   Sr	g)Order.ModifyParams   z)Literal['']|Order.ModifyParamsBeneficiaryrP   rG   rR   r"   N)
r$   r%   r&   r'   r   r)   r   r(   r   r*   r"   r+   r,   ModifyParamsra      sC     !LMM	 DI&&	 d38n--	r+   rc   c                   0    \ rS rSr% \\S   \4   \S'   Srg)Order.ModifyParamsBeneficiary    r!   r"   N)	r$   r%   r&   r'   r   r   r(   r)   r*   r"   r+   r,   ModifyParamsBeneficiaryre      s    72;+,,	r+   rh   c                   ,    \ rS rSr% \\\      \S'   Srg)Order.RetrieveParams   rG   r"   NrH   r"   r+   r,   RetrieveParamsrj      rJ   r+   rl   amount_feesamount_subtotalamount_totalrP   canceled_at)expiredproduct_unavailable	requestedcancellation_reasoncertificateconfirmed_atcreatedrQ   
delayed_atr<   delivery_detailsexpected_delivery_yearidlivemoderR   r>   objectr   rS   product_substituted_at)awaiting_fundscanceled	confirmed	deliveredopenstatusorderparamsrE   returnc                 d    [        SU R                  SSR                  [        U5      S9US95      $ )d  
Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the
reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier
might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe
provides 90 days advance notice and refunds the amount_total.
r   post!/v1/climate/orders/{order}/cancelr   r   )r   _static_requestformatr   clsr   r   s      r,   _cls_cancelOrder._cls_cancel  sJ     3::%e, ;     	
 		
r+   c                     gr   Nr"   r   r   s     r,   cancelOrder.cancel  s     	r+   c                     gr   r"   selfr   s     r,   r   r   (  s     	r+   r   c                     [        SU R                  SSR                  [        U R	                  S5      5      S9US95      $ )r   r   r   r   r{   r   r   )r   _requestr   r   getr   s     r,   r   r   2  sP     MM3::%dhhtn5 ;    	
 		
r+   c                    #    [        SU R                  SSR                  [        U5      S9US9I Sh  vN 5      $  N7f)r   r   r   r   r   r   N)r   _static_request_asyncr   r   r   s      r,   _cls_cancel_asyncOrder._cls_cancel_asyncG  sW      ++3::%e, ;   ,  	
 		
s   1><
	>c                    #    g7fr   r"   r   s     r,   cancel_asyncOrder.cancel_async\  s
      	   c                    #    g7fr   r"   r   s     r,   r   r   i  s
      	r   r   c                    #    [        SU R                  SSR                  [        U R	                  S5      5      S9US9I Sh  vN 5      $  N7f)r   r   r   r   r{   r   r   N)r   _request_asyncr   r   r   r   s     r,   r   r   u  s_      %%3::%dhhtn5 ;   &  	
 		
s   A AA
	ArL   c           	      T    [        SU R                  SU R                  5       US95      $ )
Creates a Climate order object for a given Climate product. The order will be processed immediately
after creation and payment will be deducted your Stripe balance.
r   r   r   )r   r   	class_urlr   r   s     r,   createOrder.create  s6        
 	
r+   c           	      p   #    [        SU R                  SU R                  5       US9I Sh  vN 5      $  N7f)r   r   r   r   N)r   r   r   r   s     r,   create_asyncOrder.create_async  sC      ++ ,  
 	
s   )64
	6rZ   c                     U R                  SU R                  5       US9n[        U[        5      (       d!  [	        S[        U5      R                  -  5      eU$ )
Lists all Climate order objects. The orders are returned sorted by creation date, with the
most recently created orders appearing first.
r   r   %Expected list object from API, got %s)r   r   
isinstancer   	TypeErrortyper$   r   r   results      r,   list
Order.list  s`     $$MMO % 

 &*--7<((* 
 r+   c                    #    U R                  SU R                  5       US9I Sh  vN n[        U[        5      (       d!  [	        S[        U5      R                  -  5      eU$  N<7f)r   r   r   Nr   )r   r   r   r   r   r   r$   r   s      r,   
list_asyncOrder.list_async  sm      00MMO 1 
 

 &*--7<((* 
 
s   #A$A"=A$ra   c           	      x    U R                  5       < S[        U5      < 3n[        SU R                  SUUS95      $ )M
Updates the specified order by setting the values of the parameters passed.
/r   r   r   )r   r   r   r   r   r{   r   urls       r,   modifyOrder.modify  sD     +b/:   
 	
r+   c           	         #    U R                  5       < S[        U5      < 3n[        SU R                  SUUS9I Sh  vN 5      $  N7f)r   r   r   r   r   N)r   r   r   r   r   s       r,   modify_asyncOrder.modify_async  sQ      +b/:++ ,  
 	
s   ;AA
	Arj   c                 8    U " U40 UD6nUR                  5         U$ )D
Retrieves the details of a Climate order object with the given ID.
)refreshr   r{   r   instances       r,   retrieveOrder.retrieve  s$     r$V$r+   c                 T   #    U " U40 UD6nUR                  5       I Sh  vN   U$  N7f)r   N)refresh_asyncr   s       r,   retrieve_asyncOrder.retrieve_async  s2      r$V$$$&&& 	's   (&()rP   ry   r"   N)0r$   r%   r&   r'   __doc__r   r   r   r)   r   r-   rC   r   rI   rT   r   rW   r_   rc   rh   rl   rA   r   r(   r   boolr   r   classmethodr   r   r   staticmethodr   r
   r   r   r   r   r   r   r   r   r   r   r   rB   r*   r"   r+   r,   r   r      s   

 7FK'/23El +4 +4Z~ ~ <) ^ $~ )      +&&# "=>  # 3- L M  3- >**   	G N 38n  O$$ Y'' %SM) F  

#)*>#?
	
 
( c V,@%A g    v&:;    -(
34
	
 )
( 

#)*>#?
	
 
( 		$%9:			  	 	34			 	 -.
34
	
 /
( 
f%9: 
w 
 
 
23
	
 
  F#56 :g;N  $ 01	G	 ( 

 &'; <
	
 
  

 &'; <
	
 
   &'= >	   &'= >	  #*r+   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
   r   typingr   r   r   r   r   r   r   typing_extensionsr   r   r   r   r   stripe.climate._productr   stripe.climate._supplierr   r   r"   r+   r,   <module>r      sb    B 4 * = 2 . A : H H H  /1t'" '"tr+   