
    h8,                         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mZmZ d dlmZmZmZ  G d	 d
e      Zy)    )
ListObject)RequestOptions)StripeService)Transfer)TransferReversalService)sanitize_id)DictListcast)LiteralNotRequired	TypedDictc            	       t    e Zd Z f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	i i fddde
dee   fdZi 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 xZS )TransferServicec                 X    t         |   |       t        | j                        | _        y )N)super__init__r   
_requestor	reversals)self	requestor	__class__s     X/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/stripe/_transfer_service.pyr   zTransferService.__init__   s     #0A    c                       e Zd ZU ee   ed<   	 eed<   	 ee   ed<   	 eed<   	 eee      ed<   	 eeeef      ed<   	 ee   ed<   	 ee	d      ed	<   	 ee   ed
<   y)TransferService.CreateParamsamountcurrencydescriptiondestinationexpandmetadatasource_transaction)bank_accountcardfpxsource_typetransfer_groupN)
__name__
__module____qualname__r   int__annotations__strr
   r	   r    r   r   CreateParamsr      s    C  	 	 !%%	 	 DI&&	 d38n--	 (,,	 !)F!GHH	 $C((	r   r0   c                       e Zd ZU ed   ed<   	 ee   ed<   	 ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y	)
TransferService.ListParamsz%TransferService.ListParamsCreated|intcreatedr    ending_beforer!   limitstarting_afterr(   N)r)   r*   r+   r   r-   r.   r
   r,   r/   r   r   
ListParamsr2   8   s    DEE	 !%%	 #3''	 DI&&	 3	 $C((	 $C((	r   r7   c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)!TransferService.ListParamsCreatedgtgteltlteN)r)   r*   r+   r   r,   r-   r/   r   r   ListParamsCreatedr9   V   sH    	 	 	 	r   r>   c                   $    e Zd ZU eee      ed<   y)TransferService.RetrieveParamsr!   N)r)   r*   r+   r   r
   r.   r-   r/   r   r   RetrieveParamsr@   h   s    DI&&	r   rA   c                   H    e Zd ZU ee   ed<   	 eee      ed<   	 ed   ed<   y)TransferService.UpdateParamsr   r!   zLiteral['']|Dict[str, str]r"   N)r)   r*   r+   r   r.   r-   r
   r/   r   r   UpdateParamsrC   n   s;     %%	 DI&&	 :;;	r   rD   paramsr2   optionsreturnc           
      X    t        t        t           | j                  ddd||            S )
        Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.
        get/v1/transfersapibase_addressrE   rF   )r   r   r   _requestr   rE   rF   s      r   listzTransferService.list|   s9     x MM"  	
 		
r   c           
      t   K   t        t        t           | j                  ddd||       d{         S 7 w)rI   rJ   rK   rL   rM   N)r   r   r   _request_asyncrP   s      r   
list_asynczTransferService.list_async   sI      x %%" &  	
 		
s   +86
	8r   c           
      J    t        t        | j                  ddd||            S )  
        To send funds from your Stripe account to a connected account, you create a new transfer object. Your [Stripe balance](https://stripe.com/docs/api#balance) must be able to cover the transfer amount, or you'll receive an “Insufficient Funds” error.
        postrK   rL   rM   )r   r   rO   rP   s      r   createzTransferService.create   s4     MM"  	
 		
r   c           
      f   K   t        t        | j                  ddd||       d{         S 7 w)rV   rW   rK   rL   rM   N)r   r   rS   rP   s      r   create_asynczTransferService.create_async   sD      %%" &  	
 		
s   $1/
	1transferr@   c                 |    t        t        | j                  ddj                  t	        |            d||            S )
        Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.
        rJ   /v1/transfers/{transfer}r[   rL   rM   r   r   rO   formatr   r   r[   rE   rF   s       r   retrievezTransferService.retrieve   sN     MM*11(2 2  #  
 	
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)r]   rJ   r^   r_   rL   rM   Nr   r   rS   ra   r   rb   s       r   retrieve_asynczTransferService.retrieve_async   s^      %%*11(2 2  # &  
 	
   =A
A
 	A
rC   c                 |    t        t        | j                  ddj                  t	        |            d||            S )
        Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

        This request accepts only metadata as an argument.
        rW   r^   r_   rL   rM   r`   rb   s       r   updatezTransferService.update   sN     MM*11(2 2  #  
 	
r   c                    K   t        t        | j                  ddj                  t	        |            d||       d{         S 7 w)ri   rW   r^   r_   rL   rM   Nre   rb   s       r   update_asynczTransferService.update_async  s^      %%*11(2 2  # &  
 	
rg   )r)   r*   r+   r   r   r0   r7   r>   rA   rD   r   r   r   rQ   rT   rX   rZ   r.   rc   rf   rj   rl   __classcell__)r   s   @r   r   r      s   B$y $LY <I $ y   02"$
,
  
 
H		
* 02"$
,
  
 
H		
, #%
.
  
 
	
, #%
.
  
 
	
, 46"$	

 1
  	

 

2 46"$	

 1
  	

 

2 24"$	

 /
  	

 

6 24"$	

 /
  	

 

r   r   N)stripe._list_objectr   stripe._request_optionsr   stripe._stripe_servicer   stripe._transferr   !stripe._transfer_reversal_servicer   stripe._utilr   typingr	   r
   r   typing_extensionsr   r   r   r   r/   r   r   <module>rv      s3    + 2 0 % E $ # # = =U
m U
r   