
    kh(                         d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
mZmZ erBd 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 d dlm Z  d dl!m"Z"  G d ded         Z#y)    )
ListObject)ListableAPIResource)StripeObject)ClassVarOptional)LiteralUnpackTYPE_CHECKING)Authorization)TransactionListParams)TransactionRetrieveParams)CreditReversal)DebitReversal)InboundTransfer)OutboundPayment)OutboundTransfer)ReceivedCredit)ReceivedDebit)TransactionEntryc                      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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       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
ed$Zy%)&Transactionz{
    Transactions represent changes to a [FinancialAccount's](https://stripe.com/docs/api#financial_accounts) balance.
    ztreasury.transactionOBJECT_NAMEc                   0    e Zd ZU eed<   	 eed<   	 eed<   y)Transaction.BalanceImpactcashinbound_pendingoutbound_pendingN)__name__
__module____qualname__int__annotations__     \/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/stripe/treasury/_transaction.pyBalanceImpactr   $   s&    		 	 	r$   r&   c                       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<   y)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/   r0   typeN)r   r   r    r   r"   r   r#   r$   r%   FlowDetailsr(   2   s    !"233	 !11	 ##455	
  (88	 ##455	 $$677	 ""233	 !11	 

 
	
	r$   r4   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)Transaction.StatusTransitions	posted_atvoid_atN)r   r   r    r   r!   r"   r#   r$   r%   StatusTransitionsr6   p   s"    C= 	 #	r$   r9   amountbalance_impactcreatedcurrencydescriptionr   entriesfinancial_accountflowflow_detailsr1   	flow_typeidlivemodeobject)openpostedvoidstatusstatus_transitionsparamsr   returnc                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S ):
        Retrieves a list of Transaction objects.
        getrL   %Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrorr3   r   clsrL   results      r%   listzTransaction.list   s]     $$MMO % 

 &*-7<((* 
 r$   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rO   rP   rQ   NrR   )_static_request_asyncrT   rU   r   rV   r3   r   rW   s      r%   
list_asynczTransaction.list_async   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r   c                 8     | |fi |}|j                          |S )C
        Retrieves the details of an existing Transaction.
        )refreshrX   rD   rL   instances       r%   retrievezTransaction.retrieve   s$     r$V$r$   c                 T   K    | |fi |}|j                          d{    |S 7 w)r_   N)refresh_asyncra   s       r%   retrieve_asynczTransaction.retrieve_async   s3      r$V$$$&&& 	's   (&()r;   rB   rK   N)r   r   r    __doc__r   r   r   r"   r   r&   r4   r9   r!   strr   r   boolclassmethodr	   rZ   r]   rc   rf   _inner_class_typesr#   r$   r%   r   r      s    
 	 '"89:  <l <|L  K "! L M  j!3455  3- ;'' 	
 
 	G N *++ ,-- *)56	M	" & 56	M	" &  &'B C	   &'B C	  (#/r$   r   N)$stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   typingr   r   typing_extensionsr   r	   r
   stripe.issuing._authorizationr   /stripe.params.treasury._transaction_list_paramsr   3stripe.params.treasury._transaction_retrieve_paramsr    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%   <module>r|      sX    + = . % < <; @=AAC?=Ce%m4 er$   