
    Aiw                         d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 e
r$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dgiZ G d de      Zy)    )StripeService)sanitize_id)Optionalcast)import_module)TYPE_CHECKING)RequestOptions)&TransactionCreateFromCalculationParams)TransactionCreateReversalParams)TransactionRetrieveParams)Transaction)TransactionLineItemService
line_itemsz)stripe.tax._transaction_line_item_servicer   c            	            e Zd ZU ded<    fdZd Z	 	 ddeded   ded	   d
dfdZ	 	 ddeded   ded	   d
dfdZ		 dddded	   d
dfdZ
	 dddded	   d
dfdZ	 dddded	   d
dfdZ	 dddded	   d
dfdZ xZS )TransactionServicer   r   c                 $    t         |   |       y N)super__init__)self	requestor	__class__s     R/var/www/html/immo/lib/python3.12/site-packages/stripe/tax/_transaction_service.pyr   zTransactionService.__init__$   s    #    c                     	 t         |   \  }}t        t        |      |      }t        | | || j                               t        | |      S # t
        $ r t               w xY wr   )_subservicesgetattrr   setattr
_requestorKeyErrorAttributeError)r   nameimport_fromserviceservice_classs        r   __getattr__zTransactionService.__getattr__'   sn    	##/#5 K#k*M doo.
 4&& 	# ""	#s   A	A A transactionparamsr   optionsr	   returnr   c                 t    t        d| j                  ddj                  t        |            d||            S )5
        Retrieves a Tax Transaction object.
        r   get"/v1/tax/transactions/{transaction}r'   apibase_addressr(   r)   )r   _requestformatr   r   r'   r(   r)   s       r   retrievezTransactionService.retrieve7   sN     MM4;; +K 8 <  #  
 	
r   c                    K   t        d| j                  ddj                  t        |            d||       d{         S 7 w)r,   r   r-   r.   r/   r0   r1   N)r   _request_asyncr4   r   r5   s       r   retrieve_asyncz!TransactionService.retrieve_asyncM   s^      %%4;; +K 8 <  # &  
 	
s   9AA
	Ar
   c           
      B    t        d| j                  ddd||            S )
        Creates a Tax Transaction from a calculation, if that calculation hasn't expired. Calculations expire after 90 days.
        r   post,/v1/tax/transactions/create_from_calculationr0   r1   r   r3   r   r(   r)   s      r   create_from_calculationz*TransactionService.create_from_calculationc   s4     MM>"  	
 		
r   c           
      ^   K   t        d| j                  ddd||       d{         S 7 w)r;   r   r<   r=   r0   r1   Nr   r8   r?   s      r   create_from_calculation_asyncz0TransactionService.create_from_calculation_asyncv   sD      %%>" &  	
 		
    -+
	-r   c           
      B    t        d| j                  ddd||            S )O
        Partially or fully reverses a previously created Transaction.
        r   r<   $/v1/tax/transactions/create_reversalr0   r1   r>   r?   s      r   create_reversalz"TransactionService.create_reversal   s4     MM6"  	
 		
r   c           
      ^   K   t        d| j                  ddd||       d{         S 7 w)rF   r   r<   rG   r0   r1   NrB   r?   s      r   create_reversal_asyncz(TransactionService.create_reversal_async   sD      %%6" &  	
 		
rD   )NNr   )__name__
__module____qualname____annotations__r   r&   strr   r6   r9   r@   rC   rH   rJ   __classcell__)r   s   @r   r   r   !   sA   ,,$#& 9=.2	

 45
 *+	

 

2 9=.2	

 45
 *+	

 

2 /3
8
 *+
 
	
, /3
8
 *+
 
	
, /3
1
 *+
 
	
, /3
1
 *+
 
	
r   r   N)stripe._stripe_servicer   stripe._utilr   typingr   r   	importlibr   typing_extensionsr   stripe._request_optionsr	   =stripe.params.tax._transaction_create_from_calculation_paramsr
   5stripe.params.tax._transaction_create_reversal_paramsr   .stripe.params.tax._transaction_retrieve_paramsr   stripe.tax._transactionr   )stripe.tax._transaction_line_item_servicer   r   r    r   r   <module>r]      sZ    1 $ ! # +6 4
 3$L
 L
r   