
    HUh[M                         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 d d	lmZmZmZmZmZmZ d d
lmZmZmZmZmZ er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)RequestOptions)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Customer)	TestClockc                      e Zd ZU dZdZeed      ed<    G d de      Z	 G d de      Z
 G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Ze	ed<   e
ed<   ed    ed!<   	 eed"<   	 ed#   ed$<   	 ee   ed%<   	 ee   ed&<   	 eed'<   	 eed(<   	 eeef   ed)<   	 ee   ed*<   	 ed   ed+<   	 ee   ed,<   	 eed-      ed.<   	 eed/<   	 ee   ed0<   	 ed1ed2   d3d fd4       Z ed1ed2   d3d fd5       Z!ed'ed1ed6   d3d fd7       Z"e#e$d'ed1ed6   d3d fd8              Z%e#d1ed6   d3d fd9       Z% e&d:      d1ed6   d3d fd;       Z%ed'ed1ed6   d3d fd<       Z'e#e$d'ed1ed6   d3d fd=              Z(e#d1ed6   d3d fd>       Z( e&d?      d1ed6   d3d fd@       Z(ed1edA   d3e)d    fdB       Z*ed1edA   d3e)d    fdC       Z+ed'ed1edD   d3d fdE       Z,ed'ed1edD   d3d fdF       Z-ed'ed1edG   d3d fdH       Z.ed'ed1edG   d3d fdI       Z/ed'ed1edJ   d3d fdK       Z0e#e$d'ed1edJ   d3d fdL              Z1e#d1edJ   d3d fdM       Z1 e&dN      d1edJ   d3d fdO       Z1ed'ed1edJ   d3d fdP       Z2e#e$d'ed1edJ   d3d fdQ              Z3e#d1edJ   d3d fdR       Z3 e&dS      d1edJ   d3d fdT       Z3e	e
dUZ4yV)WCreditGrantz
    A credit grant is an API resource that documents the allocation of some billing credits to a customer.

    Related guide: [Billing credits](https://docs.stripe.com/billing/subscriptions/usage-based/billing-credits)
    zbilling.credit_grantOBJECT_NAMEc                   P    e Zd ZU  G d de      Zee   ed<   	 ed   ed<   	 deiZy)CreditGrant.Amountc                   $    e Zd ZU eed<   	 eed<   y)CreditGrant.Amount.MonetarycurrencyvalueN__name__
__module____qualname__str__annotations__int     \/var/www/html/Ryun_Seer/newvenv/lib/python3.12/site-packages/stripe/billing/_credit_grant.pyMonetaryr   )   s    M Jr*   r,   monetarytypeN)	r#   r$   r%   r   r,   r   r'   r   _inner_class_typesr)   r*   r+   Amountr   (   s?    	| 	 8$$	 j!!	 )(3r*   r0   c                   6    e Zd ZU  G d de      Zeed<   deiZy)CreditGrant.ApplicabilityConfigc                   \    e Zd ZU  G d de      Zeed      ed<   	 eee      ed<   	 deiZ	y)%CreditGrant.ApplicabilityConfig.Scopec                       e Zd ZU ee   ed<   y)+CreditGrant.ApplicabilityConfig.Scope.PriceidN)r#   r$   r%   r   r&   r'   r)   r*   r+   Pricer6   ?   s    SM!r*   r8   metered
price_typepricesN)
r#   r$   r%   r   r8   r   r   r'   r   r/   r)   r*   r+   Scoper4   >   sH      !!344 T%[)) #+E!2r*   r<   scopeN)r#   r$   r%   r   r<   r'   r/   r)   r*   r+   ApplicabilityConfigr2   =   s     	3L 	3" %u-r*   r>   c                       e Zd ZU ded<   	 ded<   	 ed   ed<   	 eed<   	 ee   ed<   	 eee      ed	<   	 ee   ed
<   	 ee	eef      ed<   	 ee   ed<   	 ee   ed<   y)CreditGrant.CreateParamsCreditGrant.CreateParamsAmountamount+CreditGrant.CreateParamsApplicabilityConfigapplicability_configpaidpromotionalcategorycustomereffective_atexpand
expires_atmetadatanamepriorityN)
r#   r$   r%   r'   r   r&   r   r(   r   r   r)   r*   r+   CreateParamsr@   R   s    00	 LK	 /00	 	 "#&&	 DI&&	  $$	 d38n--	 #	 c""	r*   rP   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)rA   &CreditGrant.CreateParamsAmountMonetaryr-   r.   N)r#   r$   r%   r   r'   r   r)   r*   r+   CreateParamsAmountzCreditGrant.CreateParamsAmount|   s%    FGG	 j!!	r*   rS   c                   $    e Zd ZU eed<   	 eed<   y)rR   r    r!   Nr"   r)   r*   r+   CreateParamsAmountMonetaryz&CreditGrant.CreateParamsAmountMonetary   s    	 
	r*   rU   c                       e Zd ZU ded<   y)rC   0CreditGrant.CreateParamsApplicabilityConfigScoper=   N)r#   r$   r%   r'   r)   r*   r+   CreateParamsApplicabilityConfigz+CreditGrant.CreateParamsApplicabilityConfig   s    AA	r*   rX   c                   <    e Zd ZU eed      ed<   	 eed      ed<   y)rW   r9   r:   5CreditGrant.CreateParamsApplicabilityConfigScopePricer;   N)r#   r$   r%   r   r   r'   r   r)   r*   r+   $CreateParamsApplicabilityConfigScopez0CreditGrant.CreateParamsApplicabilityConfigScope   s4    	 233	 HI
 	
	r*   r[   c                       e Zd ZU eed<   y)rZ   r7   N)r#   r$   r%   r&   r'   r)   r*   r+   )CreateParamsApplicabilityConfigScopePricez5CreditGrant.CreateParamsApplicabilityConfigScopePrice   s    	r*   r]   c                   $    e Zd ZU eee      ed<   y)CreditGrant.ExpireParamsrK   Nr#   r$   r%   r   r   r&   r'   r)   r*   r+   ExpireParamsr_          DI&&	r*   ra   c                   l    e Zd ZU ee   ed<   	 ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   y)CreditGrant.ListParamsrI   ending_beforerK   limitstarting_afterN)r#   r$   r%   r   r&   r'   r   r(   r)   r*   r+   
ListParamsrd      s^    c""	 #3''	 DI&&	 3	 $C((	r*   rh   c                   R    e Zd ZU eee      ed<   	 ed   ed<   	 eeeef      ed<   y)CreditGrant.ModifyParamsrK   zLiteral['']|intrL   rM   N)r#   r$   r%   r   r   r&   r'   r   r)   r*   r+   ModifyParamsrj      sC    DI&&	   122	 d38n--	r*   rk   c                   $    e Zd ZU eee      ed<   y)CreditGrant.RetrieveParamsrK   Nr`   r)   r*   r+   RetrieveParamsrm      rb   r*   rn   c                   $    e Zd ZU eee      ed<   y)CreditGrant.VoidGrantParamsrK   Nr`   r)   r*   r+   VoidGrantParamsrp      rb   r*   rq   rB   rD   rE   rH   createdr   rI   rJ   rL   r7   livemoderM   rN   objectrO   r   
test_clockupdated	voided_atparamsr@   returnc                 Z    t        d| j                  d| j                         |            S ))
        Creates a credit grant.
        r   postrx   )r   _static_request	class_urlclsrx   s     r+   createzCreditGrant.create  s6        
 	
r*   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)r{   r   r|   r}   N)r   _static_request_asyncr   r   s     r+   create_asynczCreditGrant.create_async)  sD      ++ ,  
 	
s   ,97
	9r_   c                 p    t        d| j                  ddj                  t        |            |            S ))
        Expires a credit grant.
        r   r|   %/v1/billing/credit_grants/{id}/expirer7   r}   r   r~   formatr   r   r7   rx   s      r+   _cls_expirezCreditGrant._cls_expire9  sI     7>>"2 ?     	
 		
r*   c                      yr   Nr)   r7   rx   s     r+   expirezCreditGrant.expireK       	r*   c                      yr   r)   selfrx   s     r+   r   zCreditGrant.expireU       	r*   r   c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r   r   r|   r   r7   r   r}   r   _requestr   r   getr   s     r+   r   zCreditGrant.expire^  sP     MM7>>"488D>2 ?    	
 		
r*   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r   r   r|   r   r   r}   Nr   r   r   r   r   s      r+   _cls_expire_asynczCreditGrant._cls_expire_asyncp  sW      ++7>>"2 ?   ,  	
 		
   7AA
	Ac                    K   ywr   r)   r   s     r+   expire_asynczCreditGrant.expire_async        	   c                    K   ywr   r)   r   s     r+   r   zCreditGrant.expire_async        	r   r   c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r   r   r|   r   r7   r   r}   Nr   _request_asyncr   r   r   r   s     r+   r   zCreditGrant.expire_async  s`      %%7>>"488D>2 ?   &  	
 		
   AAA
		Ard   c                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )3
        Retrieve a list of credit grants.
        r   r}   %Expected list object from API, got %s)r~   r   
isinstancer   	TypeErrorr.   r#   r   rx   results      r+   listzCreditGrant.list  s]     $$MMO % 

 &*-7<((* 
 r*   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)r   r   r}   Nr   )r   r   r   r   r   r.   r#   r   s      r+   
list_asynczCreditGrant.list_async  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"rj   c                 z    | j                         dt        |      }t        d| j                  d||            S ))
        Updates a credit grant.
        /r   r|   r}   )r   r   r   r~   r   r7   rx   urls       r+   modifyzCreditGrant.modify  sD     +b/:   
 	
r*   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r   r   r   r|   r}   N)r   r   r   r   r   s       r+   modify_asynczCreditGrant.modify_async  sR      +b/:++ ,  
 	
s   <A	A
	A	rm   c                 8     | |fi |}|j                          |S )+
        Retrieves a credit grant.
        )refreshr   r7   rx   instances       r+   retrievezCreditGrant.retrieve  s$     r$V$r*   c                 T   K    | |fi |}|j                          d{    |S 7 w)r   N)refresh_asyncr   s       r+   retrieve_asynczCreditGrant.retrieve_async  s3      r$V$$$&&& 	's   (&(rp   c                 p    t        d| j                  ddj                  t        |            |            S )'
        Voids a credit grant.
        r   r|   #/v1/billing/credit_grants/{id}/voidr   r}   r   r   s      r+   _cls_void_grantzCreditGrant._cls_void_grant  sI     5<<"2 =     	
 		
r*   c                      yr   Nr)   r   s     r+   
void_grantzCreditGrant.void_grant  r   r*   c                      yr   r)   r   s     r+   r   zCreditGrant.void_grant#  r   r*   r   c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r   r   r|   r   r7   r   r}   r   r   s     r+   r   zCreditGrant.void_grant,  sP     MM5<<"488D>2 =    	
 		
r*   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r   r   r|   r   r   r}   Nr   r   s      r+   _cls_void_grant_asyncz!CreditGrant._cls_void_grant_async>  sW      ++5<<"2 =   ,  	
 		
r   c                    K   ywr   r)   r   s     r+   void_grant_asynczCreditGrant.void_grant_asyncP  r   r   c                    K   ywr   r)   r   s     r+   r   zCreditGrant.void_grant_asyncZ  r   r   r   c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r   r   r|   r   r7   r   r}   Nr   r   s     r+   r   zCreditGrant.void_grant_asyncc  s`      %%5<<"488D>2 =   &  	
 		
r   )rB   rD   N)5r#   r$   r%   __doc__r   r   r   r'   r   r0   r>   r   rP   r   rS   rU   rX   r[   r]   ra   rh   rk   rn   rq   r(   r   r   r&   boolr   classmethodr   r   r   r   r   staticmethodr   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r/   r)   r*   r+   r   r      sU   
 	 '"89: 4 4*.l .*(~ (TY Y ) 
y 
I ~ ^ ,~  .  N--+,, L j)) 3-  	G N 38n 3- *++ sm 566 L } 
89
	
 
 
89
	
 
 

 &'A B
	
 
" !"<=	   9:	  -(
9:
	
 )
" 

 &'A B
	
 
" !"<=	   9:	  -.
9:
	
 /
" 67	M	" & 67	M	" & 

 &'A B
	
 
  

 &'A B
	
 
   &'C D	   &'C D	  

 &'D E
	
 
" !"?@	   <=	  +,
<=
	
 -
" 

 &'D E
	
 
" !"?@	   <=	  12
<=
	
 3
$  3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   typing_extensionsr   r   r   r   r   stripe._customerr   stripe.test_helpers._test_clockr   r   r)   r*   r+   <module>r      s_    B 4 * = 2 . A : A A  )9_	-(&-(_	r*   