
    Dh                        S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJrJr  S S	KJrJrJrJrJrJr  S S
KJrJrJrJrJrJr  \(       a  S SKJ r   S SK!J"r"   " S S\S   \S   5      r#\#\#RH                  l%        g)    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)APIResourceTestHelpers)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralNotRequiredType	TypedDictUnpackTYPE_CHECKING)Mandate)Transactionc                      \ rS rSr% SrSr\\S      \S'    " S S\	5      r
 " S S\	5      r " S	 S
\	5      r " S S\	5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r\\S'    \\S'    \\S'    \\S '    \\   \S!'    \\
   \S"'    \\S#'    \\   \S$'    \\S%'    \\S&'   \\S''    \\\4   \S('    \S   \S)'    \\   \S*'    \\   \S+'    \\   \S,'    \\S-'    \S.   \S/'    \\S0'   \\S1      \S2'    \S3\S4\S5   S6S 4S7 j5       r \!\"S3\S4\S5   S6S 4S8 j5       5       r#\!S4\S5   S6S 4S9 j5       r#\$" S:5      S4\S5   S6S 4S; j5       r#\S3\S4\S5   S6S 4S< j5       r%\!\"S3\S4\S5   S6S 4S= j5       5       r&\!S4\S5   S6S 4S> j5       r&\$" S?5      S4\S5   S6S 4S@ j5       r&\S4\SA   S6S 4SB j5       r'\S4\SA   S6S 4SC j5       r(\S4\SD   S6\)S    4SE j5       r*\S4\SD   S6\)S    4SF j5       r+\S%\S4\SG   S6S 4SH j5       r,\S%\S4\SG   S6S 4SI j5       r- " SJ SK\.S    5      r/\0SL 5       r1\
\\\SM.r2SNr3gO)PInboundTransfer   a  
Use [InboundTransfers](https://docs.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.

Related guide: [Moving money with Treasury using InboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers)
ztreasury.inbound_transferOBJECT_NAMEc                   &    \ rS rSr% \S   \S'   Srg)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code N)__name__
__module____qualname____firstlineno__r   __annotations____static_attributes__r0       d/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/treasury/_inbound_transfer.pyFailureDetailsr   (   s    
 	
	r7   r9   c                   &    \ rS rSr% \\   \S'   Srg)InboundTransfer.LinkedFlows<   received_debitr0   Nr1   r2   r3   r4   r   strr5   r6   r0   r7   r8   LinkedFlowsr;   <   s     %	r7   r@   c                   x    \ rS rSr%  " S S\5      r " S S\5      r\\S'   \S   \S'    \	\   \S'   \\S	.r
S
rg)*InboundTransfer.OriginPaymentMethodDetailsB   c                   b    \ rS rSr%  " S S\5      r\\S'   \\   \S'    \\   \S'    S\0r	Sr
g)	9InboundTransfer.OriginPaymentMethodDetails.BillingDetailsC   c                       \ rS rSr% \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'   Srg	)
AInboundTransfer.OriginPaymentMethodDetails.BillingDetails.AddressD   citycountryline1line2postal_codestater0   Nr>   r0   r7   r8   AddressrH   D   sf    sm# "#&  }$  }$ &c]*  }$r7   rP   addressemailnamer0   N)r1   r2   r3   r4   r   rP   r5   r   r?   _inner_class_typesr6   r0   r7   r8   BillingDetailsrE   C   sC    , 4 C=  3- #,W!5r7   rU   c                       \ rS rSr% \\S      \S'    \\S      \S'    \\   \S'    \\   \S'    \\   \S'    \\S	      \S
'    \S   \S'    \\   \S'   Sr	g)8InboundTransfer.OriginPaymentMethodDetails.UsBankAccounti   )company
individualaccount_holder_type)checkingsavingsaccount_type	bank_namefingerprintlast4r   mandateachnetworkrouting_numberr0   N)
r1   r2   r3   r4   r   r   r5   r?   r   r6   r0   r7   r8   UsBankAccountrW   i   s    !)'2I*J!KK #7+@#ABB  }$ "#& C=  oi899 U^# %SM)r7   rf   billing_detailsus_bank_accounttype)rg   rh   r0   N)r1   r2   r3   r4   r   rU   rf   r5   r   r   rT   r6   r0   r7   r8   OriginPaymentMethodDetailsrB   B   sP    $	6\ $	6L 	L  	D (''((	 "-00-,
r7   rj   c                   J    \ rS rSr% \\   \S'    \\   \S'    \\   \S'   Srg)!InboundTransfer.StatusTransitions   canceled_at	failed_atsucceeded_atr0   N)r1   r2   r3   r4   r   intr5   r6   r0   r7   r8   StatusTransitionsrl      s3    c]"	 C= 	 sm#	r7   rr   c                   ,    \ rS rSr% \\\      \S'   Srg)InboundTransfer.CancelParams   expandr0   N	r1   r2   r3   r4   r   r   r?   r5   r6   r0   r7   r8   CancelParamsrt          DI&&	r7   rx   c                       \ rS rSr% \\S'    \\S'    \\   \S'    \\\      \S'    \\S'    \\	\\4      \S'    \\S'    \\   \S	'   S
r
g)InboundTransfer.CreateParams   amountcurrencydescriptionrv   financial_accountmetadataorigin_payment_methodstatement_descriptorr0   N)r1   r2   r3   r4   rq   r5   r?   r   r   r   r6   r0   r7   r8   CreateParamsr{      s    	 	 !%%	 DI&&	 	 d38n--	  #"	 *#..	r7   r   c                   >    \ rS rSr% \\\      \S'    \S   \S'   Srg)InboundTransfer.FailParams   rv   (InboundTransfer.FailParamsFailureDetailsfailure_detailsr0   Nrw   r0   r7   r8   
FailParamsr      s-    DI&&	 %6
 	
	r7   r   c                   ,    \ rS rSr% \\S      \S'   Srg)r      r!   r/   r0   N)r1   r2   r3   r4   r   r   r5   r6   r0   r7   r8   FailParamsFailureDetails(InboundTransfer.FailParamsFailureDetails   s!    
 	
"	r7   r   c                       \ rS rSr% \\   \S'    \\\      \S'    \\S'    \\   \S'    \\   \S'    \\	S      \S'   S	r
g
)InboundTransfer.ListParams   ending_beforerv   r   limitstarting_aftercanceledfailed
processing	succeededstatusr0   N)r1   r2   r3   r4   r   r?   r5   r   rq   r   r6   r0   r7   r8   
ListParamsr      sv    "3''	 DI&&	 	 3	 $C((	 CD
 	
	r7   r   c                   ,    \ rS rSr% \\\      \S'   Srg)InboundTransfer.RetrieveParamsi
  rv   r0   Nrw   r0   r7   r8   RetrieveParamsr   
  ry   r7   r   c                   ,    \ rS rSr% \\\      \S'   Srg)+InboundTransfer.ReturnInboundTransferParamsi  rv   r0   Nrw   r0   r7   r8   ReturnInboundTransferParamsr     ry   r7   r   c                   ,    \ rS rSr% \\\      \S'   Srg)InboundTransfer.SucceedParamsi  rv   r0   Nrw   r0   r7   r8   SucceedParamsr     ry   r7   r   r}   
cancelablecreatedr~   r   r   r   hosted_regulatory_receipt_urlidlinked_flowslivemoder   objectr   origin_payment_method_detailsreturnedr   r   r   status_transitionsr   transactioninbound_transferparamsrt   returnc                 d    [        SU R                  SSR                  [        U5      S9US95      $ )
Cancels an InboundTransfer.
r   post8/v1/treasury/inbound_transfers/{inbound_transfer}/cancelr   r   r   _static_requestformatr   clsr   r   s      r8   _cls_cancelInboundTransfer._cls_cancelg  sL     JQQ%01A%B R     	
 		
r7   c                     gr   Nr0   r   r   s     r8   cancelInboundTransfer.cancel{  s     	r7   c                     gr   r0   selfr   s     r8   r   r     s     	r7   r   c                     [        SU R                  SSR                  [        U R	                  S5      5      S9US95      $ )r   r   r   r   r   r   r   )r   _requestr   r   getr   s     r8   r   r     sQ     MMJQQ%0$%@ R    	
 		
r7   c                    #    [        SU R                  SSR                  [        U5      S9US9I Sh  vN 5      $  N7f)r   r   r   r   r   r   Nr   _static_request_asyncr   r   r   s      r8   _cls_cancel_async!InboundTransfer._cls_cancel_async  sY      ++JQQ%01A%B R   ,  	
 		
   1><
	>c                    #    g7fr   r0   r   s     r8   cancel_asyncInboundTransfer.cancel_async  s
      	   c                    #    g7fr   r0   r   s     r8   r   r     s
      	r   r   c                    #    [        SU R                  SSR                  [        U R	                  S5      5      S9US9I Sh  vN 5      $  N7f)r   r   r   r   r   r   r   N)r   _request_asyncr   r   r   r   s     r8   r   r     s`      %%JQQ%0$%@ R   &  	
 		
s   A AA
	Ar{   c           	      T    [        SU R                  SU R                  5       US95      $ )
Creates an InboundTransfer.
r   r   r   )r   r   	class_urlr   r   s     r8   createInboundTransfer.create  s6        
 	
r7   c           	      p   #    [        SU R                  SU R                  5       US9I Sh  vN 5      $  N7f)r   r   r   r   N)r   r   r   r   s     r8   create_asyncInboundTransfer.create_async  sC      ++ ,  
 	
s   )64
	6r   c                     U R                  SU R                  5       US9n[        U[        5      (       d!  [	        S[        U5      R                  -  5      eU$ )N
Returns a list of InboundTransfers sent from the specified FinancialAccount.
r   r   %Expected list object from API, got %s)r   r   
isinstancer   	TypeErrorri   r1   r   r   results      r8   listInboundTransfer.list  s`     $$MMO % 

 &*--7<((* 
 r7   c                    #    U R                  SU R                  5       US9I Sh  vN n[        U[        5      (       d!  [	        S[        U5      R                  -  5      eU$  N<7f)r   r   r   Nr   )r   r   r   r   r   ri   r1   r   s      r8   
list_asyncInboundTransfer.list_async  sm      00MMO 1 
 

 &*--7<((* 
 
s   #A$A"=A$r   c                 8    U " U40 UD6nUR                  5         U$ )7
Retrieves the details of an existing InboundTransfer.
)refreshr   r   r   instances       r8   retrieveInboundTransfer.retrieve!  s$     r$V$r7   c                 T   #    U " U40 UD6nUR                  5       I Sh  vN   U$  N7f)r   N)refresh_asyncr   s       r8   retrieve_asyncInboundTransfer.retrieve_async,  s2      r$V$$$&&& 	's   (&(c                   
   \ rS rSr% \S   \S'   \S\S\S   SS4S j5       r	\
\S\S\S   SS4S	 j5       5       r\
S\S   SS4S
 j5       r\" S5      S\S   SS4S j5       r\S\S\S   SS4S j5       r\
\S\S\S   SS4S j5       5       r\
S\S   SS4S j5       r\" S5      S\S   SS4S j5       r\S\S\S   SS4S j5       r\
\S\S\S   SS4S j5       5       r\
S\S   SS4S j5       r\" S5      S\S   SS4S j5       r\S\S\S   SS4S j5       r\
\S\S\S   SS4S j5       5       r\
S\S   SS4S j5       r\" S5      S\S   SS4S j5       r\S\S\S   SS4S j5       r\
\S\S\S   SS4S j5       5       r\
S\S   SS4S  j5       r\" S!5      S\S   SS4S" j5       r\S\S\S   SS4S# j5       r\
\S\S\S   SS4S$ j5       5       r\
S\S   SS4S% j5       r\" S&5      S\S   SS4S' j5       rS(rg))*InboundTransfer.TestHelpersi7  r   _resource_clsr   r   r   r   c                 d    [        SU R                  SSR                  [        U5      S9US95      $ )
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   s      r8   	_cls_fail%InboundTransfer.TestHelpers._cls_fail:  sJ     !##KRR&r? S  " $ 	 	r7   c                     gr   Nr0   r   r   s     r8   fail InboundTransfer.TestHelpers.failL       r7   c                     gr  r0   r   s     r8   r  r  V       r7   r   c                     [        SU R                  R                  SSR                  [	        U R                  R                  S5      5      S9US95      $ )r   r   r   r   r   r   r   r   resourcer   r   r   r   r   s     r8   r  r  _  s^     !&&KRR&t}}'8'8'>? S  " ' 	 	r7   c                    #    [        SU R                  SSR                  [        U5      S9US9I Sh  vN 5      $  N7f)r   r   r   r   r   r   Nr   r   s      r8   _cls_fail_async+InboundTransfer.TestHelpers._cls_fail_asyncq  sW      !//KRR&r? S  " 0  	 	r   c                    #    g7fr  r0   r  s     r8   
fail_async&InboundTransfer.TestHelpers.fail_async  
      r   c                    #    g7fr  r0   r   s     r8   r  r    
      r   r  c                    #    [        SU R                  R                  SSR                  [	        U R                  R                  S5      5      S9US9I Sh  vN 5      $  N7f)r   r   r   r   r   r   r   Nr   r  r   r   r   r   r   s     r8   r  r    sk      !mm22KRR&t}}'8'8'>? S  " 3  	 	   AA!A
	A!r   c                 d    [        SU R                  SSR                  [        U5      S9US95      $ )
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      r8   _cls_return_inbound_transfer8InboundTransfer.TestHelpers._cls_return_inbound_transfer  sJ     !##MTT&r? U  " $ 	 	r7   c                     gr  Nr0   r  s     r8   return_inbound_transfer3InboundTransfer.TestHelpers.return_inbound_transfer  s     r7   c                     gr  r0   r   s     r8   r   r!    r  r7   r  c                     [        SU R                  R                  SSR                  [	        U R                  R                  S5      5      S9US95      $ )r  r   r   r  r   r   r   r  r   s     r8   r   r!    s^     !&&MTT&t}}'8'8'>? U  " ' 	 	r7   c                    #    [        SU R                  SSR                  [        U5      S9US9I Sh  vN 5      $  N7f)r  r   r   r  r   r   Nr   r   s      r8   "_cls_return_inbound_transfer_async>InboundTransfer.TestHelpers._cls_return_inbound_transfer_async  sW      !//MTT&r? U  " 0  	 	r   c                    #    g7fr  r0   r  s     r8   return_inbound_transfer_async9InboundTransfer.TestHelpers.return_inbound_transfer_async  s
      r   c                    #    g7fr  r0   r   s     r8   r(  r)    r  r   r%  c                    #    [        SU R                  R                  SSR                  [	        U R                  R                  S5      5      S9US9I Sh  vN 5      $  N7f)r  r   r   r  r   r   r   Nr  r   s     r8   r(  r)    sk      !mm22MTT&t}}'8'8'>? U  " 3  	 	r  r   c                 d    [        SU R                  SSR                  [        U5      S9US95      $ )
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      r8   _cls_succeed(InboundTransfer.TestHelpers._cls_succeed   sJ     !##NUU&r? V  " $ 	 	r7   c                     gr-  Nr0   r  s     r8   succeed#InboundTransfer.TestHelpers.succeed2  r  r7   c                     gr2  r0   r   s     r8   r3  r4  <  r	  r7   r/  c                     [        SU R                  R                  SSR                  [	        U R                  R                  S5      5      S9US95      $ )r-  r   r   r.  r   r   r   r  r   s     r8   r3  r4  E  s^     !&&NUU&t}}'8'8'>? V  " ' 	 	r7   c                    #    [        SU R                  SSR                  [        U5      S9US9I Sh  vN 5      $  N7f)r-  r   r   r.  r   r   Nr   r   s      r8   _cls_succeed_async.InboundTransfer.TestHelpers._cls_succeed_asyncW  sW      !//NUU&r? V  " 0  	 	r   c                    #    g7fr2  r0   r  s     r8   succeed_async)InboundTransfer.TestHelpers.succeed_asynci  r  r   c                    #    g7fr2  r0   r   s     r8   r;  r<  s  r  r   r8  c                    #    [        SU R                  R                  SSR                  [	        U R                  R                  S5      5      S9US9I Sh  vN 5      $  N7f)r-  r   r   r.  r   r   r   Nr  r   s     r8   r;  r<  |  sk      !mm22NUU&t}}'8'8'>? V  " 3  	 	r  r0   N)r1   r2   r3   r4   r   r5   classmethodr?   r   r   r   staticmethodr  r
   r  r  r  r   r%  r(  r/  r3  r8  r;  r6   r0   r7   r8   TestHelpersr   7  s   -..			$*+G$H		 
	" 
			%&BC		 
 
	 
	"#?@		 
	 
k	*	"#?@		 
+	" 
		$*+G$H		 
	" 
			%&BC		 
 
	 
	"#?@		 
	 
/	0	"#?@		 
1	" 
		 JK	 		 
	& 
			JK	 	 
 
	 
	JK	 	 
	 
<	=	JK	 	 
>	$ 
		 JK	 		 
	& 
			JK	 	 
 
	 
	JK	 	 
	 
B	C	JK	 	 
D	$ 
		$*+J$K		 
	" 
			%&EF		 
 
	 
	"#BC		 
	 
n	-	"#BC		 
.	" 
		$*+J$K		 
	" 
			%&EF		 
 
	 
	"#BC		 
	 
2	3	"#BC		 
4	r7   rA  c                 $    U R                  U 5      $ )N)rA  )r   s    r8   test_helpersInboundTransfer.test_helpers  s    %%r7   )r   r   r   r   r0   N)4r1   r2   r3   r4   __doc__r   r   r   r5   r   r9   r@   rj   rr   r   rx   r   r   r   r   r   r   r   r   rq   boolr?   r   r   r   r?  r   r   r   r@  r   r
   r   r   r   r   r   r   r   r   r   r	   rA  propertyrC  rT   r6   r0   r7   r8   r   r      s    	$ '"=>?  (l R
\ R
hL ~  ~  D
^ 
9 ,^ 8 n   K  L M # n--  $,C=0 	G N 38n /00 $C=( $,,F#GG tn  CDD *)/-899 

 78
 
	
 
& )/0N)O	   =>	  -(
=>
	
 )
" 

 78
 
	
 
& )/0N)O	   =>	  -.
=>
	
 /
" 
<=
	
 
 
<=
	
 
 :;	%	& & :;	%	& &  &'G H	   &'G H	 U,->? Un
 & & *#)C/	r7   r   N)&stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._test_helpersr	   stripe._utilr
   r   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   r   stripe._mandater   stripe.treasury._transactionr   r   rA  r   r0   r7   r8   <module>rT     sj    B 4 * = 2 . 7 : A A  '8}+,)*}@ -<   )r7   