
    +h                         d dl mZ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ListableAPIResource)ExpandableField)
ListObject)RequestOptions)StripeObject)ClassVarDictListOptionalcast)LiteralNotRequiredUnpackTYPE_CHECKING)Transactionc                   V   e Zd ZU dZdZeed      ed<    G d de      Z	 G d de      Z
er! 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   ed<   	 ee   ed<   	 eed<   	 e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.d!ee   d"ee   d#ee   d$ee   d%ed&   d'd fd(       Ze	 	 	 d/d!ee   d#ee   d$ee   d%ed)   d'ed    f
d*       Zeded%ed+   d'd fd,       Ze	e
d-Zy )0DebitReversalz
    You can reverse some [ReceivedDebits](https://stripe.com/docs/api#received_debits) depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal.
    ztreasury.debit_reversalOBJECT_NAMEc                       e Zd ZU ee   ed<   y)DebitReversal.LinkedFlowsissuing_disputeN)__name__
__module____qualname__r   str__annotations__     _/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/treasury/debit_reversal.pyLinkedFlowsr      s    !#&	r   r!   c                       e Zd ZU ee   ed<   y)DebitReversal.StatusTransitionscompleted_atN)r   r   r   r   intr   r   r   r    StatusTransitionsr#   $   s    sm#	r   r&   c                   <    e Zd ZU ed   ed<   	 ed   ed<   	 eed<   y)DebitReversal.CreateParams	List[str]expandzDict[str, str]metadatareceived_debitNr   r   r   r   r   r   r   r   r    CreateParamsr(   ,   s2    ,, ""233  r   r.   c                       e Zd ZU ed   ed<   	 ed   ed<   	 eed<   	 ed   ed<   	 ed   ed<   	 ed	   ed
<   	 ed   ed<   	 ed   ed<   y)DebitReversal.ListParamsr   ending_beforer)   r*   financial_accountr%   limitr,   zLiteral['lost', 'won']
resolutionstarting_afterz.Literal['canceled', 'completed', 'processing']statusNr-   r   r   r    
ListParamsr0   :   s    &u--  ,,  #" u%% (.. $$<== (..  @ r   r7   c                       e Zd ZU ed   ed<   y)DebitReversal.RetrieveParamsr)   r*   N)r   r   r   r   r   r   r   r    RetrieveParamsr9   ^   s    ,,r   r:   amountcreatedcurrencyr2   hosted_regulatory_receipt_urlidlinked_flowslivemoder+   )achcardnetworkobjectr,   )failed
processing	succeededr6   status_transitionsr   transactionNapi_keyidempotency_keystripe_versionstripe_accountparamsr(   returnc                 `    t        d| j                  d| j                         |||||            S )zN
        Reverses a ReceivedDebit and creates a DebitReversal object.
        r   post)r   _static_request	class_url)clsrK   rL   rM   rN   rO   s         r    createzDebitReversal.create   s=     
 	
r   r0   c                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )z3
        Returns a list of DebitReversals.
        get)rK   rM   rN   rO   z%Expected list object from API, got %s)rS   rT   
isinstancer   	TypeErrortyper   )rU   rK   rM   rN   rO   results         r    listzDebitReversal.list   sf     $$MMO)) % 
 &*-7<((* 
 r   r9   c                 8     | |fi |}|j                          |S )z3
        Retrieves a DebitReversal object.
        )refresh)rU   r?   rO   instances       r    retrievezDebitReversal.retrieve   s$     r$V$r   )r@   rI   )NNNN)NNN)r   r   r   __doc__r   r	   r   r   r   r!   r&   r   r   r.   r7   r:   r%   r   r   boolr
   r   classmethodr   rV   r   r]   ra   _inner_class_typesr   r   r    r   r      si    	" )* "l L  	> 	"	 "	H	^ 	 K L M  }$ $,C=0 	G ;'' N 38n ]## -..  788 *)/-899  "&)-(,(,
#
 "#
 !	

 !
 56
 

 
0  "&(,(,	# ! !	
 34 
O	$ 6  &'E F	  $/r   r   N)stripe.api_resources.abstractr   r   %stripe.api_resources.expandable_fieldr    stripe.api_resources.list_objectr   stripe.request_optionsr   stripe.stripe_objectr   typingr	   r
   r   r   r   typing_extensionsr   r   r   r   )stripe.api_resources.treasury.transactionr   r   r   r   r    <module>rn      sG    B 7 1 - 7 7 I IEO/*(Or   