
    jof,                         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dS )    )
ListObject)RequestOptions)StripeService)Transfer)TransferReversalService)sanitize_id)DictListcast)LiteralNotRequired	TypedDictc            	           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                 |    t                                          |           t          | j                  | _        d S )N)super__init__r   
_requestor	reversals)self	requestor	__class__s     R/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_transfer_service.pyr   zTransferService.__init__   s0    ###0A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
<   dS )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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<   d	S )
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EE	 !%%%%	 #3''''	 DI&&&&	 3	 $C((((	 $C((((	 	r   r7   c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )!TransferService.ListParamsCreatedgtgteltlteN)r)   r*   r+   r   r,   r-   r/   r   r   ListParamsCreatedr9   V   so         	 	 	 	 	r   r>   c                   2    e Zd ZU eee                  ed<   dS )TransferService.RetrieveParamsr!   N)r)   r*   r+   r   r
   r.   r-   r/   r   r   RetrieveParamsr@   h   s+         DI&&&&	 	r   rA   c                   b    e Zd ZU ee         ed<   	 eee                  ed<   	 ed         ed<   dS )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                 t    t          t          t                   |                     d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V1apiapi_modebase_addressrE   rF   )r   r   r   _requestr   rE   rF   s      r   listzTransferService.list|   sF     x MM"   

 

 
	
r   c                    K   t          t          t                   |                     dddd||           d{V           S )rI   rJ   rK   rL   rM   rN   N)r   r   r   _request_asyncrR   s      r   
list_asynczTransferService.list_async   sj       x %%" &        

 

 
	
r   r   c                 ^    t          t          |                     d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   rN   )r   r   rQ   rR   s      r   createzTransferService.create   sA     MM"   

 

 
	
r   c                 n   K   t          t          |                     dddd||           d{V           S )rX   rY   rK   rL   rM   rN   N)r   r   rU   rR   s      r   create_asynczTransferService.create_async   se       %%" &        

 

 
	
r   transferr@   c                     t          t          |                     dd                    t	          |                    d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   rN   r   r   rQ   formatr   r   r]   rE   rF   s       r   retrievezTransferService.retrieve   sc     MM*11(22 2   "  	 	
 
 	
r   c                    K   t          t          |                     dd                    t	          |                    dd||           d{V           S )r_   rJ   r`   ra   rL   rM   rN   Nr   r   rU   rc   r   rd   s       r   retrieve_asynczTransferService.retrieve_async   s       %%*11(22 2   " & 	 	 	 	 	 	 	 	
 
 	
r   rC   c                     t          t          |                     dd                    t	          |                    d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.
        rY   r`   ra   rL   rM   rN   rb   rd   s       r   updatezTransferService.update   sc     MM*11(22 2   "  	 	
 
 	
r   c                    K   t          t          |                     dd                    t	          |                    dd||           d{V           S )rj   rY   r`   ra   rL   rM   rN   Nrg   rd   s       r   update_asynczTransferService.update_async  s       %%*11(22 2   " & 	 	 	 	 	 	 	 	
 
 	
r   )r)   r*   r+   r   r   r0   r7   r>   rA   rD   r   r   r   rS   rV   rZ   r\   r.   re   rh   rk   rm   __classcell__)r   s   @r   r   r      s$       B B B B B$ $ $ $ $y $ $ $L    Y   <    I   $           y     02"$
 
,
  
 
H		
 
 
 
, 02"$
 
,
  
 
H		
 
 
 
. #%
 
.
  
 
	
 
 
 
. #%
 
.
  
 
	
 
 
 
. 46"$	
 

 1
  	

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

 

 
 
 
4 24"$	
 

 /
  	

 

 
 
 
8 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>rw      s    + * * * * * 2 2 2 2 2 2 0 0 0 0 0 0 % % % % % % E E E E E E $ $ $ $ $ $ # # # # # # # # # # = = = = = = = = = =]
 ]
 ]
 ]
 ]
m ]
 ]
 ]
 ]
 ]
r   