
    kh                         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 erd dlmZ d d	lmZ  G d
 de      Zy)    )RequestOptions)StripeService)sanitize_id)Calculation)CalculationLineItemService)Optionalcast)TYPE_CHECKING)CalculationCreateParams)CalculationRetrieveParamsc            	            e Zd Z fdZ	 	 ddeded   dee   defdZ	 	 ddeded   dee   defdZ		 ddd	dee   defd
Z
	 ddd	dee   defdZ xZS )CalculationServicec                 X    t         |   |       t        | j                        | _        y N)super__init__r   
_requestor
line_items)self	requestor	__class__s     _/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/stripe/tax/_calculation_service.pyr   zCalculationService.__init__   s     #4T__E    calculationparamsr   optionsreturnc                 |    t        t        | j                  ddj                  t	        |            d||            S )X
        Retrieves a Tax Calculation object, if the calculation hasn't expired.
        get"/v1/tax/calculations/{calculation}r   apibase_addressr   r   )r	   r   _requestformatr   r   r   r   r   s       r   retrievezCalculationService.retrieve   sN     MM4;; +K 8 <  #  
 	
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r   r    r!   r"   r#   r$   N)r	   r   _request_asyncr'   r   r(   s       r   retrieve_asyncz!CalculationService.retrieve_async1   s^      %%4;; +K 8 <  # &  
 	
s   =A
A
 	A
r   c           
      J    t        t        | j                  ddd||            S )Y
        Calculates tax based on the input and returns a Tax Calculation object.
        post/v1/tax/calculationsr#   r$   )r	   r   r&   r   r   r   s      r   createzCalculationService.createG   s4     MM&"  	
 		
r   c           
      f   K   t        t        | j                  ddd||       d{         S 7 w)r.   r/   r0   r#   r$   N)r	   r   r+   r1   s      r   create_asynczCalculationService.create_asyncZ   sD      %%&" &  	
 		
s   $1/
	1)NNr   )__name__
__module____qualname__r   strr   r   r   r)   r,   r2   r4   __classcell__)r   s   @r   r   r      s    F 9=,0	

 45
 .)	

 

2 9=,0	

 45
 .)	

 

2 -1
)
 .)
 
	
, -1
)
 .)
 
	
r   r   N)stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   stripe.tax._calculationr   )stripe.tax._calculation_line_item_servicer   typingr   r	   typing_extensionsr
   ,stripe.params.tax._calculation_create_paramsr   .stripe.params.tax._calculation_retrieve_paramsr   r    r   r   <module>rD      s;    3 0 $ / " +
U
 U
r   