
    <@g!                          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lmZmZmZmZmZ d dlmZmZmZmZ erd d	lmZ  G d
 ded   ed         Zy)    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)ClassVarDictListOptionalcast)LiteralNotRequiredUnpackTYPE_CHECKING)Transactionc                   4   e Zd ZU dZdZeed      ed<    G d de      Z	 G d de
      Z G d d	e
      Z G d
 de
      Zeed<   	 eed<   	 eed<   	 eed<   	 ee   ed<   	 eed<   	 eed<   	 eeef   ed<   	 ed   ed<   	 ed   ed<   	 eed<   	 ed   ed<   	 e	ed<   eed      ed<   	 eded   dd fd        Zeded   dd fd!       Zeded"   ded    fd#       Zeded"   ded    fd$       Zededed%   dd fd&       Zededed%   dd fd'       Zde	iZy())CreditReversalz
    You can reverse some [ReceivedCredits](https://stripe.com/docs/api#received_credits) depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal.
    ztreasury.credit_reversalOBJECT_NAMEc                       e Zd ZU ee   ed<   y) CreditReversal.StatusTransitions	posted_atN)__name__
__module____qualname__r   int__annotations__     _/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/treasury/_credit_reversal.pyStatusTransitionsr      s    C= 	r   r!   c                   L    e Zd ZU eee      ed<   	 eeeef      ed<   	 eed<   y)CreditReversal.CreateParamsexpandmetadatareceived_creditN)r   r   r   r   r   strr   r
   r   r   r    CreateParamsr#   "   s=    DI&&	 d38n--	 	r   r(   c                       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<   y	)
CreditReversal.ListParamsending_beforer$   financial_accountlimitr&   starting_aftercanceledposted
processingstatusN)	r   r   r   r   r'   r   r   r   r   r   r   r    
ListParamsr*   0   s    "3''	 DI&&	 	 3	 %S))	 $C((	 G$FGHH	r   r4   c                   $    e Zd ZU eee      ed<   y)CreditReversal.RetrieveParamsr$   N)r   r   r   r   r   r'   r   r   r   r    RetrieveParamsr6   N   s    DI&&	r   r7   amountcreatedcurrencyr,   hosted_regulatory_receipt_urlidlivemoder%   )achstripenetworkobjectr&   r/   r3   status_transitionsr   transactionparamsr#   returnc                 Z    t        d| j                  d| j                         |            S )P
        Reverses a ReceivedCredit and creates a CreditReversal object.
        r   postrD   )r   _static_request	class_urlclsrD   s     r    createzCreditReversal.create   s6        
 	
r   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rG   r   rH   rI   N)r   _static_request_asyncrK   rL   s     r    create_asynczCreditReversal.create_async   sD      ++ ,  
 	
s   ,97
	9r*   c                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )4
        Returns a list of CreditReversals.
        getrI   %Expected list object from API, got %s)rJ   rK   
isinstancer   	TypeErrortyper   rM   rD   results      r    listzCreditReversal.list   s]     $$MMO % 

 &*-7<((* 
 r   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rS   rT   rI   NrU   )rP   rK   rV   r   rW   rX   r   rY   s      r    
list_asynczCreditReversal.list_async   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r6   c                 8     | |fi |}|j                          |S )
        Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list
        )refreshrM   r<   rD   instances       r    retrievezCreditReversal.retrieve   s$     r$V$r   c                 T   K    | |fi |}|j                          d{    |S 7 w)r_   N)refresh_asyncra   s       r    retrieve_asynczCreditReversal.retrieve_async   s3      r$V$$$&&& 	's   (&(N)r   r   r   __doc__r   r	   r   r   r   r!   r   r(   r4   r7   r   r'   r   boolr
   r   classmethodr   rN   rQ   r   r[   r]   rc   rf   _inner_class_typesr   r   r    r   r      sJ   
 	# '"<=> L ~ ^ <  K L M  $,C=0 	G N 38n _%% .//  677 *)/-899 
;<
	
 
 
;<
	
 
 9:	$	% & 9:	$	% &  &'F G	   &'F G	  /0ABr   r   N)stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   typingr	   r
   r   r   r   typing_extensionsr   r   r   r   stripe.treasury._transactionr   r   r   r   r    <module>rt      sL    B 4 * = 2 . 7 7 I I8XC*+()XCr   