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 )    )
ListObject)RequestOptions)StripeService)sanitize_id)CreditReversal)DictListcast)LiteralNotRequired	TypedDictc                	   @   s   e Zd ZG dd deZG dd deZG dd deZi fddd	ed
ee	 fddZ
i fddd	ed
e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 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dS )CreditReversalServicec                   @   s>   e Zd ZU eee  ed< 	 eeeef  ed< 	 eed< dS )"CreditReversalService.CreateParamsexpandmetadatareceived_creditN)__name__
__module____qualname__r   r   str__annotations__r    r   r   h/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/treasury/_credit_reversal_service.pyCreateParams   s   
 r   c                   @   sr   e Zd ZU ee ed< 	 eee  ed< 	 eed< 	 ee ed< 	 ee ed< 	 ee ed< 	 eed  ed< d	S )
 CreditReversalService.ListParamsending_beforer   financial_accountlimitr   starting_after)canceledposted
processingstatusN)	r   r   r   r   r   r   r   intr
   r   r   r   r   
ListParams   s   
 r$   c                   @   s   e Zd ZU eee  ed< dS )$CreditReversalService.RetrieveParamsr   N)r   r   r   r   r   r   r   r   r   r   r   RetrieveParams9   s   
 r&   paramsr   optionsreturnc              	   C   s   t tt | jddd||dS )4
        Returns a list of CreditReversals.
        get/v1/treasury/credit_reversalsapibase_addressr'   r(   )r	   r   r   _requestselfr'   r(   r   r   r   list?   s   zCreditReversalService.listc              	      s&   t tt | jddd||dI dH S )r*   r+   r,   r-   r.   N)r	   r   r   _request_asyncr1   r   r   r   
list_asyncR   s   
z CreditReversalService.list_asyncr   c              	   C   s   t t| jddd||dS )P
        Reverses a ReceivedCredit and creates a CreditReversal object.
        postr,   r-   r.   )r	   r   r0   r1   r   r   r   createe   s   zCreditReversalService.createc              	      s"   t t| jddd||dI dH S )r6   r7   r,   r-   r.   N)r	   r   r4   r1   r   r   r   create_asyncx   s   
z"CreditReversalService.create_asynccredit_reversalr%   c              	   C   s&   t t| jddjt|dd||dS )
        Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list
        r+   //v1/treasury/credit_reversals/{credit_reversal}r:   r-   r.   )r	   r   r0   formatr   r2   r:   r'   r(   r   r   r   retrieve   s   	zCreditReversalService.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   r4   r>   r   r?   r   r   r   retrieve_async   s   	
z$CreditReversalService.retrieve_asyncN)r   r   r   r   r   r$   r&   r   r   r   r3   r5   r8   r9   r   r@   rA   r   r   r   r   r      st    	




r   N)stripe._list_objectr   stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr    stripe.treasury._credit_reversalr   typingr   r   r	   typing_extensionsr
   r   r   r   r   r   r   r   <module>   s   