
    +hf                         d dl mZ d dlmZ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 d dlmZmZ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   ed         Z e e jB                  _"        y)    )util)APIResourceTestHelpersCreateableAPIResourceListableAPIResource)ExpandableField)
ListObject)RequestOptions)StripeObject)class_method_variant)ClassVarDictListOptionalcastoverload)LiteralNotRequiredType	TypedDictUnpackTYPE_CHECKING)Transactionc                   f   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 G d
 de      ZerX 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 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   ed <   	 ee	   ed!<   	 eed"<   	 ee   ed#<   	 eed$<   	 e
ed%<   eed&<   	 eeef   ed'<   	 ed   ed(<   	 eed)<   	 ee   ed*<   	 ee   ed+<   	 eed,<   	 ed-   ed.<   	 eed/<   eed0      ed1<   	 e	 	 	 dJd3ed4ee   d5ee   d6ee   d7ed8   d9d fd:       Z e!e"	 	 	 dJd3ed4ee   d5ee   d6ee   d7ed8   d9d fd;              Z#e!	 dKd<ee   d7ed8   d9d fd=       Z# e$d>      	 dKd<ee   d7ed8   d9d fd?       Z#e	 	 	 	 dLd4ee   d<ee   d5ee   d6ee   d7ed@   d9d fdA       Z%e	 	 	 dJd4ee   d5ee   d6ee   d7edB   d9e&d    f
dC       Z'ed$ed7edD   d9d fdE       Z( G dF dGe)d          Z*e+dH        Z,e	e
eedIZ-y2)MInboundTransfera+  
    Use [InboundTransfers](https://stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://stripe.com/docs/api#financial_accounts) via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit.
    ztreasury.inbound_transferOBJECT_NAMEc                       e Zd ZU ed   ed<   y)InboundTransfer.FailureDetails)account_closedaccount_frozenbank_account_restrictedbank_ownership_changeddebit_not_authorized incorrect_account_holder_addressincorrect_account_holder_nameincorrect_account_holder_tax_idinsufficient_fundsinvalid_account_numberinvalid_currency
no_accountothercodeN)__name__
__module____qualname__r   __annotations__     a/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/treasury/inbound_transfer.pyFailureDetailsr   (   s    
 	
	r1   r3   c                       e Zd ZU ee   ed<   y)InboundTransfer.LinkedFlowsreceived_debitNr,   r-   r.   r   strr/   r0   r1   r2   LinkedFlowsr5   <   s     %	r1   r9   c                   p    e Zd ZU  G d de      Z G d de      Zeed<   ed   ed<   	 ee   ed<   eedZ	y	)
*InboundTransfer.OriginPaymentMethodDetailsc                   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)9InboundTransfer.OriginPaymentMethodDetails.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)AInboundTransfer.OriginPaymentMethodDetails.BillingDetails.Addresscitycountryline1line2postal_codestateNr7   r0   r1   r2   Addressr?   D   sf    sm# "#&  }$  }$ &c]*  }$r1   rF   addressemailnameN)	r,   r-   r.   r
   rF   r/   r   r8   _inner_class_typesr0   r1   r2   BillingDetailsr=   C   sC    , 4 C=  3- #,W!5r1   rK   c                       e Zd ZU eed      ed<   	 eed      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ed   ed	<   	 ee   ed
<   y)8InboundTransfer.OriginPaymentMethodDetails.UsBankAccount)company
individualaccount_holder_type)checkingsavingsaccount_type	bank_namefingerprintlast4achnetworkrouting_numberN)r,   r-   r.   r   r   r/   r8   r0   r1   r2   UsBankAccountrM   i   s    !)'2I*J!KK #7+@#ABB  }$ "#& C=  U^# %SM)r1   rZ   billing_detailsus_bank_accounttype)r[   r\   N)
r,   r-   r.   r
   rK   rZ   r/   r   r   rJ   r0   r1   r2   OriginPaymentMethodDetailsr;   B   sO    $	6\ $	6L	L 	< (''((	 "-00-,
r1   r^   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)!InboundTransfer.StatusTransitionscanceled_at	failed_atsucceeded_atN)r,   r-   r.   r   intr/   r0   r1   r2   StatusTransitionsr`      s3    c]"	 C= 	 sm#	r1   re   c                       e Zd ZU ed   ed<   y)InboundTransfer.CancelParams	List[str]expandNr,   r-   r.   r   r/   r0   r1   r2   CancelParamsrg          ,,r1   rk   c                       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ed
<   	 ed   ed<   y)InboundTransfer.CreateParamsamountcurrencyr8   descriptionrh   ri   financial_accountzDict[str, str]metadataorigin_payment_methodstatement_descriptorN)r,   r-   r.   rd   r/   r8   r   r0   r1   r2   CreateParamsrn      s{    K M %U++  ,,  #" ""233 $'& #.e"44r1   rv   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)InboundTransfer.ListParamsr8   ending_beforerh   ri   rr   rd   limitstarting_afterz8Literal['canceled', 'failed', 'processing', 'succeeded']statusN)r,   r-   r.   r   r/   r8   r0   r1   r2   
ListParamsrx      sl    &u--  ,,  #" u%% (..  J r1   r}   c                       e Zd ZU ed   ed<   y)InboundTransfer.RetrieveParamsrh   ri   Nrj   r0   r1   r2   RetrieveParamsr      rl   r1   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)InboundTransfer.FailParamsrh   ri   (InboundTransfer.FailParamsFailureDetailsfailure_detailsNrj   r0   r1   r2   
FailParamsr      s)    ,, ): r1   r   c                       e Zd ZU ed   ed<   y)r   a;  Literal['account_closed', 'account_frozen', 'bank_account_restricted', 'bank_ownership_changed', 'debit_not_authorized', 'incorrect_account_holder_address', 'incorrect_account_holder_name', 'incorrect_account_holder_tax_id', 'insufficient_funds', 'invalid_account_number', 'invalid_currency', 'no_account', 'other']r+   Nrj   r0   r1   r2   FailParamsFailureDetailsz(InboundTransfer.FailParamsFailureDetails   s     N r1   r   c                       e Zd ZU ed   ed<   y)+InboundTransfer.ReturnInboundTransferParamsrh   ri   Nrj   r0   r1   r2   ReturnInboundTransferParamsr      rl   r1   r   c                       e Zd ZU ed   ed<   y)InboundTransfer.SucceedParamsrh   ri   Nrj   r0   r1   r2   SucceedParamsr     rl   r1   r   ro   
cancelablecreatedrp   rq   r   rr   hosted_regulatory_receipt_urlidlinked_flowslivemoders   objectrt   origin_payment_method_detailsreturnedru   )canceledfailed
processing	succeededr|   status_transitionsr   transactionNinbound_transferapi_keystripe_versionstripe_accountparamsrg   returnc                     t        d| j                  ddj                  t        j                  |            ||||            S )-
        Cancels an InboundTransfer.
        r   post8/v1/treasury/inbound_transfers/{inbound_transfer}/cancelr   r   r   r   r   r   _static_requestformatr   sanitize_id)clsr   r   r   r   r   s         r2   _cls_cancelzInboundTransfer._cls_cancelW  s[     JQQ%)%5%56F%G R   --   	
 	
r1   c                      yr   Nr0   )r   r   r   r   r   s        r2   cancelzInboundTransfer.cancelq  s     	r1   idempotency_keyc                      yr   r0   selfr   r   s      r2   r   zInboundTransfer.cancel  s     	r1   r   c                     t        d| j                  ddj                  t        j                  | j                  d                  ||            S )r   r   r   r   r   r   r   r   )r   _requestr   r   r   getr   s      r2   r   zInboundTransfer.cancel  sZ     MMJQQ%)%5%5dhhtn%E R  !0  

 
	
r1   rn   c                 `    t        d| j                  d| j                         |||||            S )z-
        Creates an InboundTransfer.
        r   r   )r   r   	class_url)r   r   r   r   r   r   s         r2   createzInboundTransfer.create  s=     
 	
r1   rx   c                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )z^
        Returns a list of InboundTransfers sent from the specified FinancialAccount.
        r   r   z%Expected list object from API, got %s)r   r   
isinstancer   	TypeErrorr]   r,   )r   r   r   r   r   results         r2   listzInboundTransfer.list  sf     $$MMO)) % 
 &*-7<((* 
 r1   r   c                 8     | |fi |}|j                          |S )zG
        Retrieves the details of an existing InboundTransfer.
        )refresh)r   r   r   instances       r2   retrievezInboundTransfer.retrieve  s$     r$V$r1   c                   0   e Zd ZU ed   ed<   e	 	 	 ddedee   dee   dee   ded	   d
dfd       Z	e
e	 	 	 dd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d	   d
dfd       Z ed      	 ddee   ded	   d
dfd       Ze	 	 	 ddedee   dee   dee   ded   d
dfd       Ze
e	 	 	 dd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d   d
dfd       Z ed      	 ddee   ded   d
dfd       Ze	 	 	 ddedee   dee   dee   ded   d
dfd       Ze
e	 	 	 dd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d   d
dfd       Z ed      	 ddee   ded   d
dfd       Zy)InboundTransfer.TestHelpersr   _resource_clsNr   r   r   r   r   r   r   c                     t        d| j                  ddj                  t        j                  |            ||||            S )
            Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state.
            r   r   5/v1/test_helpers/treasury/inbound_transfers/{id}/failr   r   r   r   r   r   r   r   r   s         r2   	_cls_failz%InboundTransfer.TestHelpers._cls_fail  sZ     !##KRR++B/ S  $#1#1! $ 	 r1   c                      yr   Nr0   r   r   r   r   r   s        r2   failz InboundTransfer.TestHelpers.fail       r1   r   c                      yr   r0   r   s      r2   r   z InboundTransfer.TestHelpers.fail
       r1   r   c                     t        d| j                  j                  ddj                  t	        j
                  | j                  j                  d                  ||            S )r   r   r   r   r   r   r   r   resourcer   r   r   r   r   r   s      r2   r   z InboundTransfer.TestHelpers.fail  sg     !&&KRR++DMM,=,=d,CD S  %4! ' 
 
r1   r   c                     t        d| j                  ddj                  t        j                  |            ||||            S )
            Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state.
            r   r   7/v1/test_helpers/treasury/inbound_transfers/{id}/returnr   r   r   r   s         r2   _cls_return_inbound_transferz8InboundTransfer.TestHelpers._cls_return_inbound_transfer*  sZ     !##MTT++B/ U  $#1#1! $ 	 r1   c                      yr   Nr0   r   s        r2   return_inbound_transferz3InboundTransfer.TestHelpers.return_inbound_transferD  r   r1   c                      yr   r0   r   s      r2   r   z3InboundTransfer.TestHelpers.return_inbound_transferR  r   r1   r   c                     t        d| j                  j                  ddj                  t	        j
                  | j                  j                  d                  ||            S )r   r   r   r   r   r   r   r   r   s      r2   r   z3InboundTransfer.TestHelpers.return_inbound_transfer]  sg     !&&MTT++DMM,=,=d,CD U  %4! ' 
 
r1   r   c                     t        d| j                  ddj                  t        j                  |            ||||            S )
            Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state.
            r   r   8/v1/test_helpers/treasury/inbound_transfers/{id}/succeedr   r   r   r   s         r2   _cls_succeedz(InboundTransfer.TestHelpers._cls_succeedr  sZ     !##NUU++B/ V  $#1#1! $ 	 r1   c                      yr   Nr0   r   s        r2   succeedz#InboundTransfer.TestHelpers.succeed  r   r1   c                      yr   r0   r   s      r2   r   z#InboundTransfer.TestHelpers.succeed  r   r1   r   c                     t        d| j                  j                  ddj                  t	        j
                  | j                  j                  d                  ||            S )r   r   r   r   r   r   r   r   r   s      r2   r   z#InboundTransfer.TestHelpers.succeed  sg     !&&NUU++DMM,=,=d,CD V  %4! ' 
 
r1   NNNN)r,   r-   r.   r   r/   classmethodr8   r   r   r   r   staticmethodr   r   r   r   r   r   r0   r1   r2   TestHelpersr     s*   -..	 &*,0,0		 c]	 %SM		
 %SM	 9:	 	 
	2 
	 &*,0,0	
	
	c]
	 %SM
	 %SM	
	
 9:
	 
	 
 

	 
 .2	%c]	 9:	 		 
	 
k	* .2	%c]	 9:	 		 
+	( 
 &*,0,0		 c]	 %SM		
 %SM	 JK	 	 
	2 
	 &*,0,0	
	
	c]
	 %SM
	 %SM	
	
 JK
	 
	 
 

	 
 .2	%c]	 JK	 		 
	 
<	= .2	%c]	 JK	 		 
>	( 
 &*,0,0		 c]	 %SM		
 %SM	 <=	 	 
	2 
	 &*,0,0	
	
	c]
	 %SM
	 %SM	
	
 <=
	 
	 
 

	 
 .2	%c]	 <=	 		 
	 
n	- .2	%c]	 <=	 		 
.	r1   r   c                 $    | j                  |       S r   )r   )r   s    r2   test_helperszInboundTransfer.test_helpers  s    %%r1   )r   r   r   r   r   r   )NNNN).r,   r-   r.   __doc__r   r   r   r/   r
   r3   r9   r^   re   r   r	   rk   rv   r}   r   r   r   r   r   r   rd   boolr8   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   propertyr   rJ   r0   r1   r2   r   r      s    	$ +, $ (l N
\ N
`L  	> 	 	>  	D	 	8	^ 	
	 
		y 		. 		N 	 K  L M # n--  $,C=0 	G N 38n /00  $,,F#GG tn  CDD *)/-899  "&(,(,

 #
 !	

 !
 78
 

 
2  "&(,(,	

#
 !
 !	

 78
 

  
  *.!# 78 
	  -( *.
!#
 78
 
	
 )
(  "&)-(,(,
#
 "#
 !	

 !
 78
 

 
0  "&(,(,	# ! !	
 56 
%	& 6  &'G H	 Y,->? Yv & & *#)C/	r1   r   N)#striper   stripe.api_resources.abstractr   r   r   %stripe.api_resources.expandable_fieldr    stripe.api_resources.list_objectr   stripe.request_optionsr	   stripe.stripe_objectr
   stripe.utilr   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   r   )stripe.api_resources.treasury.transactionr   r   r   r   r0   r1   r2   <module>r      sm     
 B 7 1 - , A A  Eg
+,)*g
T -<   )r1   