
    jofE                         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d
S )    )
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d&S )'PlanServicec                      e Zd ZU ee         ed<   	 eed                  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<   dS )PlanService.CreateParamsactive)last_during_period	last_evermaxsumaggregate_usage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__r   intstrr	        N/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_plan_service.pyCreateParamsr      s        D!!!!	 %CD
 	
 	
 	
	 C    	 $C((((	 $G,@$ABBBB	 	 DI&&&&	 	 89999	 $C((((	 :;;;;	 3	 c""""	 BCCCC4 >?@@@@	  (= >????	 %%MNNNN	 's++++	  (= >????	 	r?   rA   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<   dS )	PlanService.CreateParamsProductr   r    r(   namestatement_descriptortax_code
unit_labelN)r7   r8   r9   r   r:   r;   r=   r   r>   r?   r@   CreateParamsProductrC   Z   s         D!!!!	 	 d38n----	 				 *#....	
 c""""	  $$$$	 	r?   rH   c                       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<   dS )r,   flat_amountflat_amount_decimalunit_amountunit_amount_decimalinfup_toN)	r7   r8   r9   r   r<   r;   r=   r
   r   r>   r?   r@   CreateParamsTierzPlanService.CreateParamsTierz   s          %%%%	 )----	 !%%%%	 )----	 WU^S())))	 	r?   rP   c                   2    e Zd ZU eed<   	 ed         ed<   dS )r1   	divide_by)downuproundN)r7   r8   r9   r<   r;   r   r>   r?   r@   CreateParamsTransformUsagez&PlanService.CreateParamsTransformUsage   s7         	 |$$$$	 	r?   rV   c                       e Zd ZdS )PlanService.DeleteParamsN)r7   r8   r9   r>   r?   r@   DeleteParamsrX      s        r?   rY   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<   d	S )
PlanService.ListParamsr   z!PlanService.ListParamsCreated|intcreatedending_beforer   limitr+   starting_afterN)	r7   r8   r9   r   r:   r;   r=   r	   r<   r>   r?   r@   
ListParamsr[      s         D!!!!	 @AAAA	 #3''''	 DI&&&&	 3	 S!!!!	 $C((((	 	r?   r`   c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )PlanService.ListParamsCreatedgtgteltlteN)r7   r8   r9   r   r<   r;   r>   r?   r@   ListParamsCreatedrb      so         	 	 	 	 	r?   rg   c                   2    e Zd ZU eee                  ed<   dS )PlanService.RetrieveParamsr   N)r7   r8   r9   r   r	   r=   r;   r>   r?   r@   RetrieveParamsri      s+         DI&&&&	 	r?   rj   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<   dS )	PlanService.UpdateParamsr   r   r'   r(   r*   r+   r3   N)	r7   r8   r9   r   r:   r;   r	   r=   r<   r>   r?   r@   UpdateParamsrl      s         D!!!!	 DI&&&&	 :;;;;	 c""""	 S!!!!	 's++++	 	r?   rm   planparamsrX   optionsreturnc                     t          t          |                     dd                    t	          |                    dd||                    S )l
        Deleting plans means new subscribers can't be added. Existing subscribers aren't affected.
        delete/v1/plans/{plan}rn   V1apiapi_modebase_addressro   rp   r   r   _requestformatr   selfrn   ro   rp   s       r@   rt   zPlanService.delete   sZ     MM")){4/@/@)AA"   

 

 
	
r?   c                    K   t          t          |                     dd                    t	          |                    dd||           d{V           S )rs   rt   ru   rv   rw   rx   ry   Nr   r   _request_asyncr~   r   r   s       r@   delete_asynczPlanService.delete_async  s~       %%")){4/@/@)AA" &        

 

 
	
r?   ri   c                     t          t          |                     dd                    t	          |                    dd||                    S )7
        Retrieves the plan with the given ID.
        getru   rv   rw   rx   ry   r|   r   s       r@   retrievezPlanService.retrieve  sZ     MM")){4/@/@)AA"   

 

 
	
r?   c                    K   t          t          |                     dd                    t	          |                    dd||           d{V           S )r   r   ru   rv   rw   rx   ry   Nr   r   s       r@   retrieve_asynczPlanService.retrieve_async,  s~       %%")){4/@/@)AA" &        

 

 
	
r?   rl   c                     t          t          |                     dd                    t	          |                    d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.
        postru   rv   rw   rx   ry   r|   r   s       r@   updatezPlanService.updateA  sZ     MM")){4/@/@)AA"   

 

 
	
r?   c                    K   t          t          |                     dd                    t	          |                    dd||           d{V           S )r   r   ru   rv   rw   rx   ry   Nr   r   s       r@   update_asynczPlanService.update_asyncV  s~       %%")){4/@/@)AA" &        

 

 
	
r?   r[   c                 t    t          t          t                   |                     dddd||                    S )/
        Returns a list of your plans.
        r   	/v1/plansrw   rx   ry   )r   r   r   r}   r   ro   rp   s      r@   listzPlanService.listk  sF     tMM"   

 

 
	
r?   c                    K   t          t          t                   |                     dddd||           d{V           S )r   r   r   rw   rx   ry   N)r   r   r   r   r   s      r@   
list_asynczPlanService.list_async  sj       t%%" &        

 

 
	
r?   r   c                 ^    t          t          |                     d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   rw   rx   ry   )r   r   r}   r   s      r@   createzPlanService.create  sA     MM"   

 

 
	
r?   c                 n   K   t          t          |                     dddd||           d{V           S )r   r   r   rw   rx   ry   N)r   r   r   r   s      r@   create_asynczPlanService.create_async  se       %%" &        

 

 
	
r?   N)r7   r8   r9   r   rA   rH   rP   rV   rY   r`   rg   rj   rm   r=   r   r   rt   r   r   r   r   r   r   r   r   r   r   r>   r?   r@   r   r      s6       K K K K Ky K K KZ    i   @    9   ,    Y       y       Y   <    I   $           y   : .0"$	
 

 +
  	

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

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

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

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

 

 
 
 
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   r>   r?   r@   <module>r      s    + * * * * *       2 2 2 2 2 2 0 0 0 0 0 0 $ $ $ $ $ $ * * * * * * * * * * * * = = = = = = = = = =i
 i
 i
 i
 i
- i
 i
 i
 i
 i
r?   