o
    Bi*#                     @   sx   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 d dlmZmZmZ G dd	 d	eZd
S )    )RequestOptions)StripeService)sanitize_id)Transaction)TransactionLineItemService)DictListcast)LiteralNotRequired	TypedDictc                	       s  e Zd Z fddZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	i i fde
dddedefddZi i fde
dddedefddZi fdddedefddZi fdddedefddZi fdddedefddZi fdddedefddZ  ZS ) TransactionServicec                    s   t  | t| j| _d S )N)super__init__r   
_requestor
line_items)self	requestor	__class__ _/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/tax/_transaction_service.pyr      s   zTransactionService.__init__c                   @   sV   e Zd ZU eed< 	 eee  ed< 	 eeeef  ed< 	 ee ed< 	 eed< dS ).TransactionService.CreateFromCalculationParamscalculationexpandmetadata	posted_at	referenceN)	__name__
__module____qualname__str__annotations__r   r   r   intr   r   r   r   CreateFromCalculationParams   s   
 r$   c                   @   s   e Zd ZU eee  ed< 	 ee ed< 	 eed  ed< 	 eeeef  ed< 	 e	d ed< 	 eed< 	 eed	< 	 ed
 ed< dS )'TransactionService.CreateReversalParamsr   flat_amount/TransactionService.CreateReversalParamsLineItemr   r   )fullpartialmodeoriginal_transactionr   3TransactionService.CreateReversalParamsShippingCostshipping_costN)
r   r   r    r   r   r!   r"   r#   r   r
   r   r   r   r   CreateReversalParams)   s*   
 r.   c                   @   sX   e Zd ZU eed< 	 eed< 	 eeeef  ed< 	 eed< 	 ee ed< 	 eed< dS )r'   amount
amount_taxr   original_line_itemquantityr   N)r   r   r    r#   r"   r   r   r!   r   r   r   r   CreateReversalParamsLineItemO   s   
 r3   c                   @   s    e Zd ZU eed< 	 eed< dS )r,   r/   r0   N)r   r   r    r#   r"   r   r   r   r    CreateReversalParamsShippingCosti   s
   
 r4   c                   @   s   e Zd ZU eee  ed< dS )!TransactionService.RetrieveParamsr   N)r   r   r    r   r   r!   r"   r   r   r   r   RetrieveParamss   s   
 r6   transactionparamsr5   optionsreturnc              	   C   s&   t t| jddjt|dd||dS )5
        Retrieves a Tax Transaction object.
        get"/v1/tax/transactions/{transaction}r7   apibase_addressr8   r9   )r	   r   _requestformatr   r   r7   r8   r9   r   r   r   retrievey   s   	zTransactionService.retrievec              	      s.   t t| jddjt|dd||dI dH S )r;   r<   r=   r>   r?   r@   N)r	   r   _request_asyncrC   r   rD   r   r   r   retrieve_async   s   	
z!TransactionService.retrieve_asyncr   c              	   C      t t| jddd||dS )
        Creates a Tax Transaction from a calculation, if that calculation hasn't expired. Calculations expire after 90 days.
        post,/v1/tax/transactions/create_from_calculationr?   r@   r	   r   rB   r   r8   r9   r   r   r   create_from_calculation      z*TransactionService.create_from_calculationc              	      "   t t| jddd||dI dH S )rI   rJ   rK   r?   r@   Nr	   r   rF   rM   r   r   r   create_from_calculation_async      
z0TransactionService.create_from_calculation_asyncr%   c              	   C   rH   )O
        Partially or fully reverses a previously created Transaction.
        rJ   $/v1/tax/transactions/create_reversalr?   r@   rL   rM   r   r   r   create_reversal   rO   z"TransactionService.create_reversalc              	      rP   )rT   rJ   rU   r?   r@   NrQ   rM   r   r   r   create_reversal_async   rS   z(TransactionService.create_reversal_async)r   r   r    r   r   r$   r.   r3   r4   r6   r!   r   r   rE   rG   rN   rR   rV   rW   __classcell__r   r   r   r   r      sz    &
	




r   N)stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   stripe.tax._transactionr   )stripe.tax._transaction_line_item_servicer   typingr   r   r	   typing_extensionsr
   r   r   r   r   r   r   r   <module>   s   