
    hB                         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  G d d	e      Zy
)    )
ListObject)Plan)RequestOptions)StripeService)sanitize_id)DictListUnioncast)LiteralNotRequired	TypedDictc            	          e Zd 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i i fdedddedefdZi i fdedddedefdZi i fdedddedefdZi i fdedddedefdZi i fdedddedefdZi i fdedddedefdZi i fdd dedee   fd!Zi i fdd dedee   fd"Zi fdd#dedefd$Zi fdd#dedefd%Zy&)'PlanServicec                   f   e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 eed      ed<   	 eed<   	 ee	e      ed<   	 ee   ed<   	 ed	   ed
<   	 ee   ed<   	 ed   ed<   	 ee   ed<   	 ee   ed<   	 ed   ed<   ee	d      ed<   	 eed      ed<   	 ed   ed<   	 ee   ed<   	 eed      ed<   y)PlanService.CreateParamsactiveamountamount_decimal)per_unittieredbilling_schemecurrencyexpandid)daymonthweekyearintervalinterval_countLiteral['']|Dict[str, str]metadatameternicknamez#PlanService.CreateParamsProduct|strproductPlanService.CreateParamsTiertiers)	graduatedvolume
tiers_mode&PlanService.CreateParamsTransformUsagetransform_usagetrial_period_days)licensedmetered
usage_typeN)
__name__
__module____qualname__r   bool__annotations__intstrr   r	        T/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/stripe/_plan_service.pyCreateParamsr      sW   D!!	 C  	 $C((	 $G,@$ABB	 	 DI&&	 	 899	 $C((	 :;;	 3	 c""	 BCC4 >?@@	  (= >??	 %%MNN	 's++	  (= >??	r:   r<   c                       e Zd ZU ee   ed<   	 ee   ed<   	 eeeef      ed<   	 eed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)	PlanService.CreateParamsProductr   r   r#   namestatement_descriptortax_code
unit_labelN)r2   r3   r4   r   r5   r6   r8   r   r9   r:   r;   CreateParamsProductr>   T   s    D!!	 	 d38n--	 		 *#..	
 c""	  $$	r:   rC   c                   p    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 eed   ef   ed<   y)r'   flat_amountflat_amount_decimalunit_amountunit_amount_decimalinfup_toN)	r2   r3   r4   r   r7   r6   r8   r
   r   r9   r:   r;   CreateParamsTierzPlanService.CreateParamsTiert   sc     %%	 )--	 !%%	 )--	 WU^S())	r:   rK   c                   *    e Zd ZU eed<   	 ed   ed<   y)r,   	divide_by)downuproundN)r2   r3   r4   r7   r6   r   r9   r:   r;   CreateParamsTransformUsagez&PlanService.CreateParamsTransformUsage   s    	 |$$	r:   rQ   c                       e Zd Zy)PlanService.DeleteParamsN)r2   r3   r4   r9   r:   r;   DeleteParamsrS      s    r:   rT   c                       e Zd ZU ee   ed<   	 ed   ed<   	 ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y	)
PlanService.ListParamsr   z!PlanService.ListParamsCreated|intcreatedending_beforer   limitr&   starting_afterN)	r2   r3   r4   r   r5   r6   r8   r	   r7   r9   r:   r;   
ListParamsrV      s    D!!	 @AA	 #3''	 DI&&	 3	 S!!	 $C((	r:   r[   c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)PlanService.ListParamsCreatedgtgteltlteN)r2   r3   r4   r   r7   r6   r9   r:   r;   ListParamsCreatedr]      sH    	 	 	 	r:   rb   c                   $    e Zd ZU eee      ed<   y)PlanService.RetrieveParamsr   N)r2   r3   r4   r   r	   r8   r6   r9   r:   r;   RetrieveParamsrd      s    DI&&	r:   re   c                   ~    e Zd ZU ee   ed<   	 eee      ed<   	 ed   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)	PlanService.UpdateParamsr   r   r"   r#   r%   r&   r.   N)	r2   r3   r4   r   r5   r6   r	   r8   r7   r9   r:   r;   UpdateParamsrg      sq    D!!	 DI&&	 :;;	 c""	 S!!	 's++	r:   rh   planparamsrS   optionsreturnc                 |    t        t        | j                  ddj                  t	        |            d||            S )l
        Deleting plans means new subscribers can't be added. Existing subscribers aren't affected.
        delete/v1/plans/{plan}ri   apibase_addressrj   rk   r   r   _requestformatr   selfri   rj   rk   s       r;   ro   zPlanService.delete   sG     MM")){4/@)A"  	
 		
r:   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)rn   ro   rp   rq   rr   rs   Nr   r   _request_asyncrw   r   rx   s       r;   delete_asynczPlanService.delete_async   sW      %%")){4/@)A" &  	
 		
   =A
A
 	A
rd   c                 |    t        t        | j                  ddj                  t	        |            d||            S )7
        Retrieves the plan with the given ID.
        getrp   rq   rr   rs   ru   rx   s       r;   retrievezPlanService.retrieve  sG     MM")){4/@)A"  	
 		
r:   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r   r   rp   rq   rr   rs   Nr{   rx   s       r;   retrieve_asynczPlanService.retrieve_async#  sW      %%")){4/@)A" &  	
 		
r~   rg   c                 |    t        t        | j                  ddj                  t	        |            d||            S )
        Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan's ID, amount, currency, or billing cycle.
        postrp   rq   rr   rs   ru   rx   s       r;   updatezPlanService.update7  sG     MM")){4/@)A"  	
 		
r:   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r   r   rp   rq   rr   rs   Nr{   rx   s       r;   update_asynczPlanService.update_asyncK  sW      %%")){4/@)A" &  	
 		
r~   rV   c           
      X    t        t        t           | j                  ddd||            S )/
        Returns a list of your plans.
        r   	/v1/plansrr   rs   )r   r   r   rv   ry   rj   rk   s      r;   listzPlanService.list_  s9     tMM"  	
 		
r:   c           
      t   K   t        t        t           | j                  ddd||       d{         S 7 w)r   r   r   rr   rs   N)r   r   r   r|   r   s      r;   
list_asynczPlanService.list_asyncr  sI      t%%" &  	
 		
s   +86
	8r   c           
      J    t        t        | j                  ddd||            S )
        You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.
        r   r   rr   rs   )r   r   rv   r   s      r;   createzPlanService.create  s4     MM"  	
 		
r:   c           
      f   K   t        t        | j                  ddd||       d{         S 7 w)r   r   r   rr   rs   N)r   r   r|   r   s      r;   create_asynczPlanService.create_async  sD      %%" &  	
 		
s   $1/
	1N)r2   r3   r4   r   r<   rC   rK   rQ   rT   r[   rb   re   rh   r8   r   r   ro   r}   r   r   r   r   r   r   r   r   r   r9   r:   r;   r   r      sH   Ey ENi @9 ,Y y Y <I $ y : .0"$	

 +
  	

 

. .0"$	

 +
  	

 

. 02"$	

 -
  	

 

. 02"$	

 -
  	

 

. .0"$	

 +
  	

 

. .0"$	

 +
  	

 

, ,."$
(
  
 
D		
* ,."$
(
  
 
D		
( MO
0
;I
	
$ MO
0
;I
	
r:   r   N)stripe._list_objectr   stripe._planr   stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   typingr   r	   r
   r   typing_extensionsr   r   r   r   r9   r:   r;   <module>r      s0    +  2 0 $ * * = =Y
- Y
r:   