
    |gR)                     ~    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 d dlmZmZmZ  G d d	e      Zy
)    )
ListObject)RequestOptions)StripeService)sanitize_id)OutboundTransfer)DictListcast)LiteralNotRequired	TypedDictc            	          e Zd 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
i fdddedee   fdZi fdddedee   fdZi fdddedefdZi fdddedefdZi i fdedddedefdZi i fdedddedefdZi i fdedddedefdZi i fdedddedefdZy) OutboundTransferServicec                   $    e Zd ZU eee      ed<   y)$OutboundTransferService.CancelParamsexpandN__name__
__module____qualname__r   r	   str__annotations__     b/var/www/html/Beni/venv/lib/python3.12/site-packages/stripe/treasury/_outbound_transfer_service.pyCancelParamsr          DI&&	r   r   c                       e Zd ZU eed<   	 eed<   	 ee   ed<   	 ee   ed<   	 ed   ed<   	 ed   ed<   	 eee      ed	<   	 eed
<   	 eeeef      ed<   	 ee   ed<   y)$OutboundTransferService.CreateParamsamountcurrencydescriptiondestination_payment_method@OutboundTransferService.CreateParamsDestinationPaymentMethodDatadestination_payment_method_dataCOutboundTransferService.CreateParamsDestinationPaymentMethodOptions"destination_payment_method_optionsr   financial_accountmetadatastatement_descriptorN)	r   r   r   intr   r   r   r	   r   r   r   r   CreateParamsr      s    	 	 !%%	 %0$44	 *5N*
 	
	 -8Q-
 	
	 DI&&	 	 d38n--	 *#..	r   r,   c                   0    e Zd ZU ee   ed<   	 ed   ed<   y)r$   r(   typeN)r   r   r   r   r   r   r   r   r   r   (CreateParamsDestinationPaymentMethodDataz@OutboundTransferService.CreateParamsDestinationPaymentMethodDataA   s%    &s++	 )**	r   r/   c                       e Zd ZU ed   ed<   y)r&   z\Literal['']|OutboundTransferService.CreateParamsDestinationPaymentMethodOptionsUsBankAccountus_bank_accountN)r   r   r   r   r   r   r   r   +CreateParamsDestinationPaymentMethodOptionszCOutboundTransferService.CreateParamsDestinationPaymentMethodOptionsK   s    $j
 	
	r   r2   c                   $    e Zd ZU eed      ed<   y)POutboundTransferService.CreateParamsDestinationPaymentMethodOptionsUsBankAccount)achus_domestic_wirenetworkN)r   r   r   r   r   r   r   r   r   8CreateParamsDestinationPaymentMethodOptionsUsBankAccountr4   S   s    W%>?@@	r   r8   c                   ~    e Zd ZU ee   ed<   	 eee      ed<   	 eed<   	 ee   ed<   	 ee   ed<   	 eed      ed<   y)	"OutboundTransferService.ListParamsending_beforer   r(   limitstarting_after)canceledfailedposted
processingreturnedstatusN)	r   r   r   r   r   r   r	   r+   r   r   r   r   
ListParamsr:   Y   sv    "3''	 DI&&	 	 3	 $C((	 LM
 	
	r   rD   c                   $    e Zd ZU eee      ed<   y)&OutboundTransferService.RetrieveParamsr   Nr   r   r   r   RetrieveParamsrF   u   r   r   rG   paramsr:   optionsreturnc           
      X    t        t        t           | j                  ddd||            S )_
        Returns a list of OutboundTransfers sent from the specified FinancialAccount.
        get/v1/treasury/outbound_transfersapibase_addressrH   rI   )r
   r   r   _requestselfrH   rI   s      r   listzOutboundTransferService.list{   s:     '(MM1"  	
 		
r   c           
      t   K   t        t        t           | j                  ddd||       d{         S 7 w)rL   rM   rN   rO   rP   N)r
   r   r   _request_asyncrS   s      r   
list_asyncz"OutboundTransferService.list_async   sJ      '(%%1" &  	
 		
s   +86
	8r   c           
      J    t        t        | j                  ddd||            S ).
        Creates an OutboundTransfer.
        postrN   rO   rP   )r
   r   rR   rS   s      r   createzOutboundTransferService.create   s4     MM1"  	
 		
r   c           
      f   K   t        t        | j                  ddd||       d{         S 7 w)rZ   r[   rN   rO   rP   N)r
   r   rW   rS   s      r   create_asyncz$OutboundTransferService.create_async   sD      %%1" &  	
 		
s   $1/
	1outbound_transferrF   c                 |    t        t        | j                  ddj                  t	        |            d||            S )
        Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list.
        rM   3/v1/treasury/outbound_transfers/{outbound_transfer}r_   rO   rP   r
   r   rR   formatr   rT   r_   rH   rI   s       r   retrievez OutboundTransferService.retrieve   sP     MMELL&12C&D M  #  
 	
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)ra   rM   rb   rc   rO   rP   Nr
   r   rW   re   r   rf   s       r   retrieve_asyncz&OutboundTransferService.retrieve_async   s`      %%ELL&12C&D M  # &  
 	
   =A
A
 	A
r   c                 |    t        t        | j                  ddj                  t	        |            d||            S )^
        An OutboundTransfer can be canceled if the funds have not yet been paid out.
        r[   :/v1/treasury/outbound_transfers/{outbound_transfer}/cancelrc   rO   rP   rd   rf   s       r   cancelzOutboundTransferService.cancel   sP     MMLSS&12C&D T  #  
 	
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)rm   r[   rn   rc   rO   rP   Nri   rf   s       r   cancel_asyncz$OutboundTransferService.cancel_async	  s`      %%LSS&12C&D T  # &  
 	
rk   N)r   r   r   r   r   r,   r/   r2   r8   rD   rG   r   r   r   rU   rX   r\   r^   r   rg   rj   ro   rq   r   r   r   r   r      s   y ,y ,\9 i 9 Y 8  #%
4
  
 
$	%	
, #%
4
  
 
$	%	
, #%
6
  
 
	
, #%
6
  
 
	
, <>"$	

 9
  	

 

2 <>"$	

 9
  	

 

2 :<"$	

 7
  	

 

2 :<"$	

 7
  	

 

r   r   N)stripe._list_objectr   stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   "stripe.treasury._outbound_transferr   typingr   r	   r
   typing_extensionsr   r   r   r   r   r   r   <module>ry      s0    + 2 0 $ ? # # = =Q
m Q
r   