o
    Bi                     @   s\   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
mZmZ G dd deZdS )	    )CustomerSession)RequestOptions)StripeService)Listcast)LiteralNotRequired	TypedDictc                   @   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	i fddde
defddZi fddde
defddZdS )CustomerSessionServicec                   @   s2   e Zd ZU ded< 	 eed< 	 eee  ed< dS )#CustomerSessionService.CreateParams-CustomerSessionService.CreateParamsComponents
componentscustomerexpandN)__name__
__module____qualname____annotations__strr   r    r   r   `/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/_customer_session_service.pyCreateParams   s   
 r   c                   @   s6   e Zd ZU ed ed< 	 ed ed< 	 ed ed< dS )r   6CustomerSessionService.CreateParamsComponentsBuyButton
buy_button;CustomerSessionService.CreateParamsComponentsPaymentElementpayment_element9CustomerSessionService.CreateParamsComponentsPricingTablepricing_tableN)r   r   r   r   r   r   r   r   r   CreateParamsComponents   s   
 r   c                   @      e Zd ZU eed< dS )r   enabledNr   r   r   boolr   r   r   r   r   CreateParamsComponentsBuyButton-      
 r#   c                   @   s$   e Zd ZU eed< 	 ed ed< dS )r   r    CCustomerSessionService.CreateParamsComponentsPaymentElementFeaturesfeaturesN)r   r   r   r"   r   r   r   r   r   r   $CreateParamsComponentsPaymentElement3   s   
 r'   c                   @   sx   e Zd ZU eeed   ed< 	 eed  ed< 	 ee ed< 	 eed  ed< 	 eed  ed< 	 eed  ed	< d
S )r%   )alwayslimitedunspecified&payment_method_allow_redisplay_filters)disabledr    payment_method_redisplaypayment_method_redisplay_limitpayment_method_removepayment_method_save)off_session
on_sessionpayment_method_save_usageN)r   r   r   r   r   r   r   intr   r   r   r   ,CreateParamsComponentsPaymentElementFeatures?   s"   
 
r5   c                   @   r   )r   r    Nr!   r   r   r   r   "CreateParamsComponentsPricingTablee   r$   r6   paramsr   optionsreturnc              	   C   s   t t| jddd||dS )
        Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources.
        post/v1/customer_sessionsapibase_addressr7   r8   )r   r   _requestselfr7   r8   r   r   r   createk   s   zCustomerSessionService.createc              	      s"   t t| jddd||dI dH S )r:   r;   r<   r=   r>   N)r   r   _request_asyncrA   r   r   r   create_async~   s   
z#CustomerSessionService.create_asyncN)r   r   r   r	   r   r   r#   r'   r5   r6   r   r   rC   rE   r   r   r   r   r
   
   s.    &	
r
   N)stripe._customer_sessionr   stripe._request_optionsr   stripe._stripe_servicer   typingr   r   typing_extensionsr   r   r	   r
   r   r   r   r   <module>   s   