
    jof7/                         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mZ d dlmZmZmZmZmZ erd dlmZ  G d d	ed	                   Zd
S )    )CreateableAPIResource)ExpandableField)RequestOptions)StripeObject)ClassVarListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Customerc                      e Zd ZU dZdZeed                  ed<    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eed<   	 ee	         ed<   	 eed<   	 ed         ed<   	 eed<   	 eed<   	 ed         ed<   	 eded         dd fd            Zeded         dd fd            Zde	iZdS ) CustomerSessionz
    A Customer Session allows you to grant Stripe's frontend SDKs (like Stripe.js) client-side access
    control over a Customer.
    customer_sessionOBJECT_NAMEc                       e Zd ZU  G d de          Z G d de          Z G d de          Zeed<   	 eed<   	 eed	<   	 eeed
ZdS )CustomerSession.Componentsc                       e Zd ZU eed<   dS )$CustomerSession.Components.BuyButtonenabledN__name__
__module____qualname__bool__annotations__     R/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_customer_session.py	BuyButtonr               MMM r!   r#   c                   X    e Zd ZU  G d de          Zeed<   	 ee         ed<   	 deiZdS ))CustomerSession.Components.PaymentElementc                       e Zd ZU eed                  ed<   	 ed         ed<   	 ee         ed<   	 ed         ed<   	 ed         ed<   	 eed                  ed	<   d
S )2CustomerSession.Components.PaymentElement.Features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"   Featuresr(   $   s         8<>?9   
 +22G*HHHH 19=== (//D'EEEE
 &--B%CCCC
 ,478,    r!   r9   r   featuresN)	r   r   r   r   r9   r   r   r	   _inner_class_typesr    r!   r"   PaymentElementr&   #   sr         $ $ $ $ $< $ $ $L MMM x(((( #-h!7r!   r<   c                       e Zd ZU eed<   dS )'CustomerSession.Components.PricingTabler   Nr   r    r!   r"   PricingTabler>   T   r$   r!   r?   
buy_buttonpayment_elementpricing_table)r@   rA   rB   N)	r   r   r   r   r#   r<   r?   r   r;   r    r!   r"   
Componentsr      s         	 	 	 	 	 	 	 	/	8 /	8 /	8 /	8 /	8\ /	8 /	8 /	8b	 	 	 	 	< 	 	 	 	 ('''	 $###	 $-)
 
r!   rC   c                   J    e Zd ZU ded<   	 eed<   	 eee                  ed<   dS )CustomerSession.CreateParams&CustomerSession.CreateParamsComponents
componentscustomerexpandN)r   r   r   r   strr   r   r    r!   r"   CreateParamsrE   l   sN         <<<<	 	 DI&&&&	 	r!   rK   c                   V    e Zd ZU ed         ed<   	 ed         ed<   	 ed         ed<   dS )rF   /CustomerSession.CreateParamsComponentsBuyButtonr@   4CustomerSession.CreateParamsComponentsPaymentElementrA   2CustomerSession.CreateParamsComponentsPricingTablerB   N)r   r   r   r   r   r    r!   r"   CreateParamsComponentsz&CustomerSession.CreateParamsComponentsz   sr         =
 	
 	
 	
	 %B
 	
 	
 	
	 #@
 	
 	
 	
	 	r!   rP   c                       e Zd ZU eed<   dS )rM   r   Nr   r    r!   r"   CreateParamsComponentsBuyButtonz/CustomerSession.CreateParamsComponentsBuyButton            	 	r!   rR   c                   2    e Zd ZU eed<   	 ed         ed<   dS )rN   r   <CustomerSession.CreateParamsComponentsPaymentElementFeaturesr:   N)r   r   r   r   r   r   r    r!   r"   $CreateParamsComponentsPaymentElementz4CustomerSession.CreateParamsComponentsPaymentElement   s@         	 J
 	
 	
 	
	 	r!   rV   c                       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 )rU   r)   r-   r.   r0   r1   r2   r3   r4   r7   N)r   r   r   r   r   r   r   r8   r    r!   r"   ,CreateParamsComponentsPaymentElementFeaturesz<CustomerSession.CreateParamsComponentsPaymentElementFeatures   s         0;;<=1
 	
 	
 	
	
 #.g6K.L"MMMM	 )4C(8888	  +73H+IJJJJ	
 )1F)GHHHH	
 $//0$
 	
 	
 	
	 	r!   rX   c                       e Zd ZU eed<   dS )rO   r   Nr   r    r!   r"   "CreateParamsComponentsPricingTablez2CustomerSession.CreateParamsComponentsPricingTable   rS   r!   rZ   client_secretrG   createdr   rH   
expires_atlivemodeobjectparamsrE   returnc                 r    t          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.
        r   postr`   )r
   _static_request	class_urlclsr`   s     r"   createzCustomerSession.create   sB         
 
 	
r!   c                    K   t          d|                     d|                                 |           d{V           S )rc   r   rd   re   N)r
   _static_request_asyncrg   rh   s     r"   create_asynczCustomerSession.create_async   sd       ++ ,        
 
 	
r!   N)r   r   r   __doc__r   r   r   r   r   rC   r   rK   r   rP   rR   rV   rX   rZ   rJ   r	   r8   r   r   classmethodr   rj   rm   r;   r    r!   r"   r   r      so         
 :LK'"456KKKN
 N
 N
 N
 N
\ N
 N
 N
`    ~          (    )   
 
 
 
 
y 
 
 
$ $ $ $ $y $ $ $L    Y    
 $$$$ LLL j)))) OOO NNN &'''' 
<=
	
 
 
 [
 
<=
	
 
 
 [
 '
3r!   r   N)stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._request_optionsr   stripe._stripe_objectr   typingr   r   r	   r
   typing_extensionsr   r   r   r   r   stripe._customerr   r   r    r!   r"   <module>rw      s   B A A A A A 4 4 4 4 4 4 2 2 2 2 2 2 . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1               *))))))w4 w4 w4 w4 w4+,=> w4 w4 w4 w4 w4r!   