o
    BiH5                     @   s   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mZmZ erhd 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 d dl m!Z! d dl"m#Z# G dd ded Z$dS )    )
ListObject)ListableAPIResource)RequestOptions)StripeObject)ClassVarListOptional)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Authorization)CreditReversal)DebitReversal)InboundTransfer)OutboundPayment)OutboundTransfer)ReceivedCredit)ReceivedDebit)TransactionEntryc                   @   s  e Zd ZU dZdZeed  ed< 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G dd deZG dd deZG dd deZeed< 	 e	ed< 	 eed< 	 eed< 	 eed< 	 eed  ed< 	 eed< 	 ee ed< 	 ee
 ed< 	 ed ed< 	 eed < 	 eed!< 	 ed ed"< 	 ed# ed$< 	 eed%< ed&ed' d(ed  fd)d*Zed&ed' d(ed  fd+d,Zed ed&ed- d(d fd.d/Zed ed&ed- d(d fd0d1Ze	e
ed2Zd3S )4Transactionz{
    Transactions represent changes to a [FinancialAccount's](https://stripe.com/docs/api#financial_accounts) balance.
    ztreasury.transactionOBJECT_NAMEc                   @   s*   e Zd ZU eed< 	 eed< 	 eed< dS )zTransaction.BalanceImpactcashinbound_pendingoutbound_pendingN)__name__
__module____qualname__int__annotations__ r!   r!   \/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/treasury/_transaction.pyBalanceImpact%   s   
 r#   c                   @   s   e Zd ZU ed ed< 	 ed ed< 	 ed ed< 	 ed ed< 	 ed	 ed
< 	 ed ed< 	 ed ed< 	 ed ed< 	 ed ed< dS )zTransaction.FlowDetailsr   credit_reversalr   debit_reversalr   inbound_transferr   issuing_authorizationr   outbound_paymentr   outbound_transferr   received_creditr   received_debit	r$   r%   r&   r'   otherr(   r)   r*   r+   typeN)r   r   r   r   r    r	   r!   r!   r!   r"   FlowDetails3   s*   
 r/   c                   @   s(   e Zd ZU ee ed< 	 ee ed< dS )zTransaction.StatusTransitions	posted_atvoid_atN)r   r   r   r   r   r    r!   r!   r!   r"   StatusTransitionsq   s
   
 r2   c                   @   s   e Zd ZU ed ed< 	 ee ed< 	 eee  ed< 	 eed< 	 ee ed< 	 eed  ed< 	 ee ed	< 	 eed
  ed< 	 ed ed< dS )Transaction.ListParamsz!Transaction.ListParamsCreated|intcreatedending_beforeexpandfinancial_accountlimit)r4   r0   order_bystarting_afteropenpostedvoidstatus'Transaction.ListParamsStatusTransitionsstatus_transitionsN)	r   r   r   r
   r    strr   r   r	   r!   r!   r!   r"   
ListParams{   s*   
 rC   c                   @   D   e Zd ZU ee ed< 	 ee ed< 	 ee ed< 	 ee ed< dS )zTransaction.ListParamsCreatedgtgteltlteNr   r   r   r
   r   r    r!   r!   r!   r"   ListParamsCreated      
 rJ   c                   @   s   e Zd ZU ed ed< dS )r@   z3Transaction.ListParamsStatusTransitionsPostedAt|intr0   N)r   r   r   r
   r    r!   r!   r!   r"   ListParamsStatusTransitions   s
   
 rL   c                   @   rD   )z/Transaction.ListParamsStatusTransitionsPostedAtrE   rF   rG   rH   NrI   r!   r!   r!   r"   #ListParamsStatusTransitionsPostedAt   rK   rM   c                   @   s   e Zd ZU eee  ed< dS )Transaction.RetrieveParamsr6   N)r   r   r   r
   r   rB   r    r!   r!   r!   r"   RetrieveParams   s   
 rO   amountbalance_impactr4   currencydescriptionr   entriesr7   flowflow_detailsr,   	flow_typeidlivemodeobjectr;   r?   rA   paramsr3   returnc                 K   s4   | j d|  |d}t|tstdt|j |S ):
        Retrieves a list of Transaction objects.
        getr[   %Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrorr.   r   clsr[   resultr!   r!   r"   list  s   
zTransaction.listc                    s<   | j d|  |dI dH }t|tstdt|j |S )r]   r^   r_   Nr`   )_static_request_asyncrb   rc   r   rd   r.   r   re   r!   r!   r"   
list_async-  s   
zTransaction.list_asyncrN   c                 K   s   | |fi |}|   |S )C
        Retrieves the details of an existing Transaction.
        )refreshrf   rX   r[   instancer!   r!   r"   retrieveA  s   zTransaction.retrievec                    s$   | |fi |}|  I dH  |S )rk   N)refresh_asyncrm   r!   r!   r"   retrieve_asyncL  s   zTransaction.retrieve_async)rQ   rV   rA   N)r   r   r   __doc__r   r   r	   r    r   r#   r/   r2   r   rC   r   rJ   rL   rM   rO   r   rB   r   r   boolclassmethodr   rh   rj   ro   rq   _inner_class_typesr!   r!   r!   r"   r      s   
 >
(

r   N)%stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   typingr   r   r   typing_extensionsr	   r
   r   r   r   stripe.issuing._authorizationr    stripe.treasury._credit_reversalr   stripe.treasury._debit_reversalr   !stripe.treasury._inbound_transferr   !stripe.treasury._outbound_paymentr   "stripe.treasury._outbound_transferr    stripe.treasury._received_creditr   stripe.treasury._received_debitr   "stripe.treasury._transaction_entryr   r   r!   r!   r!   r"   <module>   s"   