
    +hm5                         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 d dlmZmZmZmZmZmZ erd dlmZ  G d	 d
ed
         Zeej4                  _        y)    )APIResourceTestHelpersListableAPIResource)ExpandableField)
ListObject)RequestOptions)StripeObject)ClassVarListOptionalcast)LiteralNotRequiredType	TypedDictUnpackTYPE_CHECKING)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
 G d d	e      Zer7 G d
 de      Z 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d      ed<   	 ee   ed<   	 ee   ed<   	 eed<   	 ee	   ed<   e
ed<   eed<   	 ed    ed!<   	 ed   ed"<   	 ee   ed#<   	 ed$   ed%<   	 eed&      ed'<   	 e	 	 	 d6d)ee   d*ee   d+ee   d,ed-   d.ed    f
d/       Zeded,ed0   d.d fd1       Z G d2 d3ed          Ze d4        Z!e	e
ed5Z"y()7ReceivedDebitz
    ReceivedDebits represent funds pulled from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts). These are not initiated from the FinancialAccount.
    ztreasury.received_debitOBJECT_NAMEc                       e Zd ZU  G d de      Z G d de      Z G d de      Zeed      e	d<   	 ee	d	<   ee   e	d
<   ee
   e	d<   	 ed   e	d<   	 ee   e	d<   eeedZy),ReceivedDebit.InitiatingPaymentMethodDetailsc                   Z    e Zd ZU  G d de      Zeed<   ee   ed<   	 ee   ed<   	 deiZy);ReceivedDebit.InitiatingPaymentMethodDetails.BillingDetailsc                   x    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)CReceivedDebit.InitiatingPaymentMethodDetails.BillingDetails.Addresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     _/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/treasury/received_debit.pyAddressr   $   sf    sm# "#&  }$  }$ &c]*  }$r*   r,   addressemailnameN)	r$   r%   r&   r   r,   r(   r   r'   _inner_class_typesr)   r*   r+   BillingDetailsr   #   sC    , 4 C=  3- #,W!5r*   r1   c                   *    e Zd ZU eed<   	 ed   ed<   y)=ReceivedDebit.InitiatingPaymentMethodDetails.FinancialAccountidstripenetworkN)r$   r%   r&   r'   r(   r   r)   r*   r+   FinancialAccountr3   I   s    G X&&r*   r7   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y):ReceivedDebit.InitiatingPaymentMethodDetails.UsBankAccount	bank_namelast4routing_numberNr#   r)   r*   r+   UsBankAccountr9   S   s3    }$ C=  %SM)r*   r=   paymentsbalancebilling_detailsfinancial_accountissuing_card)r?   rA   rB   r5   us_bank_accounttyperC   )r@   rA   rC   N)r$   r%   r&   r   r1   r7   r=   r   r   r(   r'   r0   r)   r*   r+   InitiatingPaymentMethodDetailsr   "   s    $	6\ $	6L	| 		L 	 '*-..	 ('#$455sm#	 
 	
	 "-00-!1,
r*   rE   c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)ReceivedDebit.LinkedFlowsdebit_reversalinbound_transferissuing_authorizationissuing_transactionNr#   r)   r*   r+   LinkedFlowsrG   |   sD     %	 #3-'	  (},	 &c]*	r*   rL   c                   6    e Zd ZU ee   ed<   	 eed      ed<   y)ReceivedDebit.ReversalDetailsdeadline)already_reverseddeadline_passednetwork_restrictedothersource_flow_restrictedrestricted_reasonN)r$   r%   r&   r   intr(   r   r)   r*   r+   ReversalDetailsrN      s2    3-	 $*
 	
	r*   rW   c                   r    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
<   y)ReceivedDebit.ListParamsr'   ending_before	List[str]expandrA   rV   limitstarting_afterzLiteral['failed', 'succeeded']statusN)r$   r%   r&   r   r(   r'   r)   r*   r+   
ListParamsrY      sh    &u--  ,,  #" u%% (..   @AAr*   r`   c                       e Zd ZU ed   ed<   y)ReceivedDebit.RetrieveParamsr[   r\   Nr$   r%   r&   r   r(   r)   r*   r+   RetrieveParamsrb      s    ,,r*   rd   c                   x    e Zd ZU eed<   	 eed<   	 ed   ed<   	 ed   ed<   	 eed<   	 ed   ed	<   	 ed
   ed<   y)ReceivedDebit.CreateParamsamountcurrencyr'   descriptionr[   r\   rA   8ReceivedDebit.CreateParamsInitiatingPaymentMethodDetails!initiating_payment_method_detailsachr6   N)r$   r%   r&   rV   r(   r'   r   r   r)   r*   r+   CreateParamsrf      sq    K M %U++  ,,  #" 0;J0  U^#r*   rm   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)rj   rC   rD   EReceivedDebit.CreateParamsInitiatingPaymentMethodDetailsUsBankAccountN)r$   r%   r&   r   r(   r   r)   r*   r+   *CreateParamsInitiatingPaymentMethodDetailsz8ReceivedDebit.CreateParamsInitiatingPaymentMethodDetails   s*    +,, )W r*   rp   c                   B    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   y)ro   r'   account_holder_nameaccount_numberr<   Nrc   r)   r*   r+   7CreateParamsInitiatingPaymentMethodDetailsUsBankAccountzEReceivedDebit.CreateParamsInitiatingPaymentMethodDetailsUsBankAccount   s8     "-U!33 (.. (..r*   rt   rg   createdrh   ri   )account_closedaccount_frozeninsufficient_fundsrS   failure_coderA   hosted_regulatory_receipt_urlr4   rk   linked_flowslivemode)rl   cardr5   r6   objectreversal_details)failed	succeededr_   r   transactionNapi_keystripe_versionstripe_accountparamsrY   returnc                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )z3
        Returns a list of ReceivedDebits.
        getr   r   r   r   z%Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrorrD   r$   )clsr   r   r   r   results         r+   listzReceivedDebit.list=  sf     $$MMO)) % 
 &*-7<((* 
 r*   rb   c                 8     | |fi |}|j                          |S )z
        Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list
        )refresh)r   r4   r   instances       r+   retrievezReceivedDebit.retrieveY  s$     r$V$r*   c                   d    e Zd ZU ed   ed<   e	 	 	 ddee   dee   dee   ded   d	df
d
       Z	y)ReceivedDebit.TestHelpersr   _resource_clsNr   r   r   r   rf   r   c                 D    t        d| j                  dd||||            S )z
            Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can't directly create ReceivedDebits initiated by third parties.
            r   postz)/v1/test_helpers/treasury/received_debitsr   )r   r   )r   r   r   r   r   s        r+   createz ReceivedDebit.TestHelpers.createg  s9     ##?##1#1! $ 
 
r*   NNN)
r$   r%   r&   r   r(   classmethodr   r'   r   r   r)   r*   r+   TestHelpersr   d  sl    O,,	 &*,0,0		c]	 %SM	 %SM		
 9:	 	 
	r*   r   c                 $    | j                  |       S )N)r   )selfs    r+   test_helperszReceivedDebit.test_helpers~  s    %%r*   )rk   r{   r   r   )#r$   r%   r&   __doc__r   r	   r   r(   r   rE   rL   rW   r   r   r`   rd   rm   r   rp   rt   rV   r'   r   boolr   r   r   r   r   r   r   r   propertyr   r0   r)   r*   r+   r   r      s`    	" )* "X
 X
tl $, $ 	 	4	^ 		> 	@
	 
			  K L M  M	
 
  }$ $,C=0 	G (00N'OON ,-- -.. // )** /-899  "&(,(,	# ! !	
 34 
O	$ 6  &'E F	 ,_= 4 & & .L#+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   typing_extensionsr   r   r   r   r   r   )stripe.api_resources.treasury.transactionr   r   r   r   r)   r*   r+   <module>r      sV    B 7 1 - 1 1  Em'8 m` +8   'r*   