
    _jP                         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 d dlmZmZmZ erd dlmZ d d	lmZ d d
lmZ d dlmZ  G d ded         ed                   ZdS )    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)StripeObject)ClassVarDictOptionalcast)LiteralUnpackTYPE_CHECKING)DebitReversalCreateParams)DebitReversalListParams)DebitReversalRetrieveParams)Transactionc                      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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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e	e
d%Zd&S )'DebitReversalz
    You can reverse some [ReceivedDebits](https://api.stripe.com#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<   dS )DebitReversal.LinkedFlowsissuing_disputeN)__name__
__module____qualname__r
   str__annotations__     c/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/treasury/_debit_reversal.pyLinkedFlowsr   $   s&         !#&&&	 	r   r!   c                   &    e Zd ZU ee         ed<   dS )DebitReversal.StatusTransitionscompleted_atN)r   r   r   r
   intr   r   r   r    StatusTransitionsr#   *   s&         sm###	 	r   r&   amountcreatedcurrencyfinancial_accounthosted_regulatory_receipt_urlidlinked_flowslivemodemetadata)achcardnetworkobjectreceived_debit)failed
processing	succeededstatusstatus_transitionsr   transactionparamsr   returnc                 r    t          d|                     d|                                 |                    S )N
        Reverses a ReceivedDebit and creates a DebitReversal object.
        r   postr;   )r   _static_request	class_urlclsr;   s     r    createzDebitReversal.createj   sB         
 
 	
r   c                    K   t          d|                     d|                                 |           d{V           S )r>   r   r?   r@   N)r   _static_request_asyncrB   rC   s     r    create_asynczDebitReversal.create_asyncz   sd       ++ ,        
 
 	
r   r   c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |S )3
        Returns a list of DebitReversals.
        getr@   %Expected list object from API, got %s)rA   rB   
isinstancer   	TypeErrortyper   rD   r;   results      r    listzDebitReversal.list   sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )rJ   rK   r@   NrL   )rG   rB   rM   r   rN   rO   r   rP   s      r    
list_asynczDebitReversal.list_async   s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r   r   c                 @     | |fi |}|                                  |S )3
        Retrieves a DebitReversal object.
        )refreshrD   r,   r;   instances       r    retrievezDebitReversal.retrieve   s2     3r$$V$$r   c                 P   K    | |fi |}|                                  d{V  |S )rV   N)refresh_asyncrX   s       r    retrieve_asynczDebitReversal.retrieve_async   sH       3r$$V$$$$&&&&&&&&&r   )r-   r9   N)r   r   r   __doc__r   r   r   r   r   r!   r&   r%   r   r
   boolr	   r   classmethodr   rE   rH   r   rR   rT   rZ   r]   _inner_class_typesr   r   r    r   r      s@         
 	" '";<=       l       L    KKK LLL MMM  }$$$ $,C=000 	GGG ;'''' NNN 38n ]#### -....  78888 *)))/-89999 
9:
	
 
 
 [
 
9:
	
 
 
 [
 78	O	$   [& 78	O	$   [&  &'D E	   [  &'D E	   [ $/ r   r   N)stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   typingr   r	   r
   r   typing_extensionsr   r   r   4stripe.params.treasury._debit_reversal_create_paramsr   2stripe.params.treasury._debit_reversal_list_paramsr   6stripe.params.treasury._debit_reversal_retrieve_paramsr   stripe.treasury._transactionr   r   r   r   r    <module>rm      sf   B A A A A A 4 4 4 4 4 4 * * * * * * = = = = = = . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 < < < < < < < < < < 
9                988888s s s s s/*(s s s s sr   