o
    Biq;                     @   s   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 d dlmZmZmZ d d	lmZmZmZmZ G d
d deZdS )    )connect_api_base)AuthenticationError)_APIRequestor)_api_encode)	urlencode)RequestOptions)StripeObject)ListcastOptional)LiteralNotRequired	TypedDictUnpackc                   @   s   e Zd ZG dd deZG dd deZG dd deZG dd deZG d	d
 d
eZ	G dd deZ
edd Ze	ddedee defddZe	ddee dee	 defddZe	ddee dee
 defddZdS )OAuthc                   @   sr   e Zd ZU ee ed< 	 ee ed< 	 ee ed< 	 eed  ed< 	 ee ed< 	 ee ed< 	 ee ed< d	S )
OAuth.OAuthTokenaccess_tokenscopelivemodebearer
token_typerefresh_tokenstripe_user_idstripe_publishable_keyN)__name__
__module____qualname__r   str__annotations__boolr    r    r    M/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/_oauth.py
OAuthToken   s   
 r"   c                   @   s   e Zd ZU eed< dS )OAuth.OAuthDeauthorizationr   N)r   r   r   r   r   r    r    r    r!   OAuthDeauthorization/   s   
 r$   c                   @   s   e Zd ZU ee ed< 	 eed  ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 eee  ed	< 	 ed
 ed< dS )zOAuth.OAuthAuthorizeUrlParams	client_idcoderesponse_typeredirect_urir   statestripe_landingalways_promptsuggested_capabilities'OAuth.OAuthAuthorizeUrlParamsStripeUserstripe_userN)	r   r   r   r   r   r   r   r   r	   r    r    r    r!   OAuthAuthorizeUrlParams7   s&   
 r/   c                   @   s  e Zd ZU dZee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed	< 	 ee ed
< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed< dS )r-   z
        A more detailed explanation of what it means for a field to be
        required or optional can be found in our API documentation.
        See `Account Creation (Overview)` and `Account Update`
        emailurlcountryphone_numberbusiness_namebusiness_type
first_name	last_namedob_day	dob_monthdob_yearstreet_addresscityr)   zipphysical_productproduct_descriptioncurrencyfirst_name_kanafirst_name_kanjilast_name_kanalast_name_kanjigender
block_kanablock_kanjibuilding_kanabuilding_kanjiN)r   r   r   __doc__r   r   r   r    r    r    r!   !OAuthAuthorizeUrlParamsStripeUsere   sp   
 rK   c                   @   sV   e Zd ZU ed ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 eee  ed< dS )zOAuth.OAuthTokenParams)authorization_coder   
grant_typer&   r   r   assert_capabilitiesN)r   r   r   r   r   r   r   r	   r    r    r    r!   OAuthTokenParams   s   
 rO   c                   @   s$   e Zd ZU ee ed< 	 eed< dS )zOAuth.OAuthDeauthorizeParamsr%   r   N)r   r   r   r   r   r   r    r    r    r!   OAuthDeauthorizeParams  s
   
 rP   c                 C   s0   d| v rd S ddl m} |r|| d< d S td)Nr%   r   )r%   ax  No client_id provided. (HINT: set your client_id using "stripe.client_id = <CLIENT-ID>"). You can find your client_ids in your Stripe dashboard at https://dashboard.stripe.com/account/applications/settings, after registering your account as a platform. See https://stripe.com/docs/connect/standalone-accounts for details, or email support@stripe.com if you have any questions.)striper%   r   )paramsr%   r    r    r!   _set_client_id  s   zOAuth._set_client_idFexpressrR   returnc                 K   sP   | du rd}nd}t | d|vrd|d< ttt|}t| d | }|S )NFz/oauth/authorizez/express/oauth/authorizer'   r&   ?)r   rS   r   listr   r   )rT   rR   pathqueryr1   r    r    r!   authorize_url2  s   
zOAuth.authorize_urlNapi_keyc              	   K   s*   d| i}t  }td|jdd||ddS )Nr[   r   postz/oauth/tokenconnectrR   optionsbase_address)r   _global_instancer
   requestr[   rR   r_   	requestorr    r    r!   tokenB  s   zOAuth.tokenc              	   K   s4   d| i}t  }t| td|jdd||ddS )Nr[   r#   r\   z/oauth/deauthorizer]   r^   )r   ra   r   rS   r
   rb   rc   r    r    r!   deauthorizeS  s   
zOAuth.deauthorize)F)N)r   r   r   r   r"   r$   r   r/   rK   rO   rP   staticmethodrS   r   r   r   rZ   r   re   rf   r    r    r    r!   r      sJ     . 
r   N)rQ   r   stripe._errorr   stripe._api_requestorr   stripe._encoder   urllib.parser   stripe._request_optionsr   stripe._stripe_objectr   typingr	   r
   r   typing_extensionsr   r   r   r   objectr   r    r    r    r!   <module>   s   