o
    id                     @   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mZ d dlmZmZmZmZmZmZ d d	lmZmZmZ erd 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* d dl+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z5 d dl6m7Z7 d dl8m9Z9 d dl:m;Z; d dl<m=Z= d dl>m?Z? d dl@mAZA d dlBmCZC G dd ded ed ed ZDd S )!    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralUnpackTYPE_CHECKING)Account)Coupon)Customer)Discount)Invoice)LineItem)PaymentIntent)PaymentLink)PromotionCode)SetupIntent)ShippingRate)Subscription)TaxId)TaxRate)SessionCreateParams)SessionExpireParams)SessionListLineItemsParams)SessionListParams)SessionModifyParams)SessionRetrieveParamsc                   @   s  e Zd ZU dZdZeed  ed< 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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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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 d0d1 d1eZG d2d3 d3eZ G d4d5 d5eZ!G d6d7 d7eZ"G d8d9 d9eZ#e$e	 ed:< 	 e$e
 ed;< 	 e$e% ed<< 	 e$e& ed=< 	 e$e& ed>< 	 eed?< e$ed@  edA< 	 e$e edB< e$e' edC< 	 e$e' edD< 	 e$e' edE< 	 e$e edF< 	 e$e edG< 	 e$e edH< 	 e&edI< 	 e$e' edJ< 	 e$e edK< 	 e(e edL< 	 eedM< e$e)dN  edO< 	 e$edP  edQ< 	 e$e edR< 	 e$e' edS< 	 e$e(e  edT< 	 e$e(e'  edU< 	 e&edV< 	 e'edW< 	 e$e)dX  edY< 	 e$e edZ< 	 e$e*d[  ed\< 	 e%ed]< 	 e$ed^  ed_< 	 e$e+e'e'f  ed`< 	 eda edb< 	 e$e edc< ed edd< 	 e$e(e  ede< 	 e$edf  edg< 	 e$e)dh  edi< 	 e$e)dj  edk< 	 e$edP  edl< 	 e$e edm< 	 e$e edn< 	 e(e' edo< 	 edp edq< 	 e$e edr< 	 e$e eds< e$e edt< e$e' edu< 	 e$edv  edw< 	 e$e' edx< 	 e$e edy< 	 e$e)dz  ed{< 	 e$e ed|< 	 e$e ed}< 	 e(e  ed~< 	 e$ed  ed< 	 e$ed  ed< 	 e$e)d  ed< 	 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,de-d dd fddZ.e,de-d dd fddZ/e,de'de-d dd fddZ0e1e2de'de-d dd fddZ3e1de-d dd fddZ3e4dde-d dd fddZ3e,de'de-d dd fddZ5e1e2de'de-d dd fddZ6e1de-d dd fddZ6e4dde-d dd fddZ6e,de-d de*d  fddZ7e,de-d de*d  fddZ8e,de'de-d de*d[ fddZ9e1e2de'de-d de*d[ fddZ:e1de-d de*d[ fddZ:e4dde-d de*d[ fddZ:e,de'de-d de*d[ fddZ;e1e2de'de-d de*d[ fddZ<e1de-d de*d[ fddZ<e4dde-d de*d[ fddZ<e,dWe'de-d dd fddZ=e,dWe'de-d dd fddZ>e,dWe'de-d dd fddZ?e,dWe'de-d dd fddZ@i d:e	d;e
d?edBedFedGedHedKedLedMedRedTedZedcedeedmedneeeeeeee e!e"e#d
ZAdS )Sessiona>  
    A Checkout Session represents your customer's session as they pay for
    one-time purchases or subscriptions through [Checkout](https://stripe.com/docs/payments/checkout)
    or [Payment Links](https://stripe.com/docs/payments/payment-links). We recommend creating a
    new Session each time your customer attempts to pay.

    Once payment is successful, the Checkout Session will contain a reference
    to the [Customer](https://stripe.com/docs/api/customers), and either the successful
    [PaymentIntent](https://stripe.com/docs/api/payment_intents) or an active
    [Subscription](https://stripe.com/docs/api/subscriptions).

    You can create a Checkout Session on your server and redirect to its URL
    to begin Checkout.

    Related guide: [Checkout quickstart](https://stripe.com/docs/checkout/quickstart)
    zcheckout.sessionOBJECT_NAMEc                   @      e Zd ZU eed< dS )zSession.AdaptivePricingenabledN__name__
__module____qualname__bool__annotations__ r1   r1   x/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/checkout/_session.pyAdaptivePricingF      
 r3   c                   @   s4   e Zd ZU G dd deZee ed< 	 deiZdS )zSession.AfterExpirationc                   @   s<   e Zd ZU eed< 	 eed< 	 ee ed< 	 ee ed< dS )z Session.AfterExpiration.Recoveryallow_promotion_codesr*   
expires_aturlN)r,   r-   r.   r/   r0   r   intstrr1   r1   r1   r2   RecoveryM   s   
 r:   recoveryN)r,   r-   r.   r   r:   r   r0   _inner_class_typesr1   r1   r1   r2   AfterExpirationL   s
   
 r=   c                   @   s^   e Zd ZU G dd deZeed< 	 ee ed< 	 ee ed< 	 ee	d  ed< 	 deiZ
dS )	zSession.AutomaticTaxc                   @   ,   e Zd ZU eed  ed< 	 ed ed< dS )zSession.AutomaticTax.Liabilityr   accountr?   selftypeNr,   r-   r.   r   r   r0   r   r1   r1   r1   r2   	Liabilityh   
   
 rD   r*   	liabilityprovider)completefailedrequires_location_inputsstatusN)r,   r-   r.   r   rD   r/   r0   r   r9   r   r<   r1   r1   r1   r2   AutomaticTaxg   s   
 
rL   c                   @   s   e Zd ZU G dd deZG dd deZeed< 	 ed ed< 	 eed< 	 eed	< 	 eed
< 	 e	e ed< 	 e	e ed< 	 eedZ
dS )zSession.BrandingSettingsc                   @   6   e Zd ZU ee ed< 	 ed ed< 	 ee ed< dS )zSession.BrandingSettings.IconfilerN   r7   rB   r7   Nr,   r-   r.   r   r9   r0   r   r1   r1   r1   r2   Icon      
 rQ   c                   @   rM   )zSession.BrandingSettings.LogorN   rO   rB   r7   NrP   r1   r1   r1   r2   Logo   rR   rS   background_color)pillrectangularroundedborder_stylebutton_colordisplay_namefont_familyiconlogo)r\   r]   N)r,   r-   r.   r   rQ   rS   r9   r0   r   r   r<   r1   r1   r1   r2   BrandingSettings   s$   
 r^   c                   @   sP   e Zd ZU G dd deZee ed< 	 ee ed< 	 ee ed< 	 deiZdS )zSession.CollectedInformationc                   @   s8   e Zd ZU G dd deZeed< eed< 	 deiZdS )z,Session.CollectedInformation.ShippingDetailsc                   @   `   e Zd ZU 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 )z4Session.CollectedInformation.ShippingDetails.Addresscitycountryline1line2postal_codestateNr,   r-   r.   r   r9   r0   r1   r1   r1   r2   Address      
 rg   addressnameN)r,   r-   r.   r   rg   r0   r9   r<   r1   r1   r1   r2   ShippingDetails   s   
 rk   business_nameindividual_nameshipping_detailsN)	r,   r-   r.   r   rk   r   r9   r0   r<   r1   r1   r1   r2   CollectedInformation   s   
 "ro   c                   @   0   e Zd ZU eed  ed< 	 eed  ed< dS )zSession.Consent)opt_inopt_out
promotionsacceptedterms_of_serviceNr,   r-   r.   r   r   r0   r1   r1   r1   r2   Consent   s
   
 rw   c                   @   sX   e Zd ZU G dd deZee ed< 	 eed  ed< 	 eed  ed< 	 deiZdS )	zSession.ConsentCollectionc                   @      e Zd ZU ed ed< dS )z5Session.ConsentCollection.PaymentMethodReuseAgreement)autohiddenpositionNr,   r-   r.   r   r0   r1   r1   r1   r2   PaymentMethodReuseAgreement      
 r}   payment_method_reuse_agreement)ry   noners   )r   requiredru   N)	r,   r-   r.   r   r}   r   r0   r   r<   r1   r1   r1   r2   ConsentCollection   s   
 r   c                   @   s4   e Zd ZU eed< 	 eed< 	 eed< 	 eed< dS )zSession.CurrencyConversionamount_subtotalamount_totalfx_ratesource_currencyNr,   r-   r.   r8   r0   r9   r1   r1   r1   r2   CurrencyConversion  s   
 r   c                   @   s   e Zd ZU 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e e	d	< e
e	d
< 	 ee	d< ee e	d< ee	d< 	 ee e	d< ed e	d< 	 eeeedZdS )zSession.CustomFieldc                   @   sP   e Zd ZU G dd deZee ed< 	 ee ed< 	 ee ed< 	 deiZ	dS )zSession.CustomField.Dropdownc                   @       e Zd ZU eed< 	 eed< dS )z#Session.CustomField.Dropdown.OptionlabelvalueNr,   r-   r.   r9   r0   r1   r1   r1   r2   Option,  
   
 r   default_valueoptionsr   N)
r,   r-   r.   r   r   r   r9   r0   r   r<   r1   r1   r1   r2   Dropdown+  s   
 
r   c                   @   s(   e Zd ZU ee ed< 	 ed ed< dS )zSession.CustomField.LabelcustomrB   NrP   r1   r1   r1   r2   LabelD  
   
 r   c                   @   D   e Zd ZU ee ed< 	 ee ed< 	 ee ed< 	 ee ed< dS )zSession.CustomField.Numericr   maximum_lengthminimum_lengthr   Nr,   r-   r.   r   r9   r0   r8   r1   r1   r1   r2   NumericN     
 r   c                   @   r   )zSession.CustomField.Textr   r   r   r   Nr   r1   r1   r1   r2   Text`  r   r   dropdownkeyr   numericoptionaltext)r   r   r   rB   )r   r   r   r   N)r,   r-   r.   r   r   r   r   r   r   r0   r9   r/   r   r<   r1   r1   r1   r2   CustomField*  s(   
 

r   c                   @   s   e Zd ZU 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e e	d	< 	 ee e	d
< 	 ee e	d< 	 ee e	d< 	 eeeedZ
dS )zSession.CustomTextc                   @   r)   )zSession.CustomText.AfterSubmitmessageNr   r1   r1   r1   r2   AfterSubmit  r4   r   c                   @   r)   )z"Session.CustomText.ShippingAddressr   Nr   r1   r1   r1   r2   ShippingAddress  r4   r   c                   @   r)   )zSession.CustomText.Submitr   Nr   r1   r1   r1   r2   Submit  r4   r   c                   @   r)   )z+Session.CustomText.TermsOfServiceAcceptancer   Nr   r1   r1   r1   r2   TermsOfServiceAcceptance  r4   r   after_submitshipping_addresssubmitterms_of_service_acceptance)r   r   r   r   N)r,   r-   r.   r   r   r   r   r   r   r0   r<   r1   r1   r1   r2   
CustomText  s$   
 
r   c                   @   s   e Zd ZU G dd deZG dd de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	d  ed< 	 ee
e  ed< 	 eedZdS )zSession.CustomerDetailsc                   @   r_   )zSession.CustomerDetails.Addressr`   ra   rb   rc   rd   re   Nrf   r1   r1   r1   r2   rg     rh   rg   c                   @   s(   e Zd ZU ed ed< 	 ee ed< dS )zSession.CustomerDetails.TaxId)oad_nrtae_trnal_tinam_tinao_tinar_cuitau_abnau_arnaw_tinaz_tinba_tinbb_tinbd_binbf_ifubg_uicbh_vatbj_ifubo_tinbr_cnpjbr_cpfbs_tinby_tinca_bn
ca_gst_hst	ca_pst_bc	ca_pst_mb	ca_pst_skca_qstcd_nifch_uidch_vatcl_tincm_niucn_tinco_nitcr_tincv_nifde_stndo_rcnec_ruceg_tines_cifet_tin
eu_oss_vateu_vatgb_vatge_vatgn_nifhk_brhr_oibhu_tinid_npwpil_vatin_gstis_vatjp_cnjp_rnjp_trnke_pinkg_tinkh_tinkr_brnkz_binla_tinli_uidli_vatma_vatmd_vatme_pibmk_vatmr_nifmx_rfcmy_frpmy_itnmy_sstng_tinno_vatno_voecnp_pannz_gstom_vatpe_rucph_tinro_tinrs_pibru_innru_kppsa_vatsg_gstsg_uensi_tinsn_nineasr_finsv_nitth_vattj_tintr_tintw_vattz_vatua_vatug_tinunknownus_einuy_rucuz_tinuz_vatve_rifvn_tinza_vatzm_tinzw_tinrB   r   N)r,   r-   r.   r   r0   r   r9   r1   r1   r1   r2   r     s   
 qr   ri   rl   emailrm   rj   phone)exemptr   reverse
tax_exempttax_ids)ri   r   N)r,   r-   r.   r   rg   r   r   r0   r9   r   r   r<   r1   r1   r1   r2   CustomerDetails  s(   
 zr!  c                   @   rp   )zSession.Discountr   couponr   promotion_codeN)r,   r-   r.   r   r   r0   r1   r1   r1   r2   r   q  
   
 r   c                   @   s8   e Zd ZU G dd deZeed< 	 eed< deiZdS )zSession.InvoiceCreationc                   @   s   e Zd ZU G dd deZG dd deZG dd deZeee	d   e
d< 	 eee  e
d	< 	 ee e
d
< 	 ee e
d< 	 ee e
d< 	 eeeef  e
d< 	 ee e
d< 	 eeedZdS )z#Session.InvoiceCreation.InvoiceDatac                   @   r   )z/Session.InvoiceCreation.InvoiceData.CustomFieldrj   r   Nr   r1   r1   r1   r2   r   }  r   r   c                   @   r>   )z*Session.InvoiceCreation.InvoiceData.Issuerr   r?   r@   rB   NrC   r1   r1   r1   r2   Issuer  rE   r%  c                   @   s(   e Zd ZU ee ed< 	 ee ed< dS )z4Session.InvoiceCreation.InvoiceData.RenderingOptionsamount_tax_displaytemplateNrf   r1   r1   r1   r2   RenderingOptions  r   r(  TaxIdResourceaccount_tax_idscustom_fieldsdescriptionfooterissuermetadatarendering_options)r+  r.  r0  N)r,   r-   r.   r   r   r%  r(  r   r   r   r0   r9   r   r<   r1   r1   r1   r2   InvoiceData|  s,   
 



r1  r*   invoice_dataN)r,   r-   r.   r   r1  r/   r0   r<   r1   r1   r1   r2   InvoiceCreation{  s   
 Ar3  c                   @   sP   e Zd ZU G dd deZG dd deZee ed< ee ed< eedZdS )	zSession.NameCollectionc                   @   r   )zSession.NameCollection.Businessr*   r   Nr+   r1   r1   r1   r2   Business  r   r4  c                   @   r   )z!Session.NameCollection.Individualr*   r   Nr+   r1   r1   r1   r2   
Individual  r   r5  business
individual)r6  r7  N)	r,   r-   r.   r   r4  r5  r   r0   r<   r1   r1   r1   r2   NameCollection  s   
 

r8  c                   @   sB   e Zd ZU G dd deZee ed< eed< eed< deiZ	dS )zSession.OptionalItemc                   @   s2   e Zd ZU eed< 	 ee ed< 	 ee ed< dS )z'Session.OptionalItem.AdjustableQuantityr*   maximumminimumN)r,   r-   r.   r/   r0   r   r8   r1   r1   r1   r2   AdjustableQuantity  s   
 r;  adjustable_quantitypricequantityN)
r,   r-   r.   r   r;  r   r0   r9   r8   r<   r1   r1   r1   r2   OptionalItem  s   
 r?  c                   @   s$   e Zd ZU eed< 	 ee ed< dS )z)Session.PaymentMethodConfigurationDetailsidparentN)r,   r-   r.   r9   r0   r   r1   r1   r1   r2   !PaymentMethodConfigurationDetails  
   
 rB  c                	   @   sr  e Zd ZU 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	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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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/d0 d0eZG d1d2 d2eZG d3d4 d4eZG d5d6 d6eZG d7d8 d8eZG d9d: d:eZ G d;d< d<eZ!G d=d> d>eZ"G d?d@ d@eZ#G dAdB dBeZ$G dCdD dDeZ%G dEdF dFeZ&G dGdH dHeZ'G dIdJ dJeZ(G dKdL dLeZ)G dMdN dNeZ*G dOdP dPeZ+G dQdR dReZ,e-e e.dS< e-e e.dT< e-e e.dU< e-e e.dV< e-e e.dW< e-e	 e.dX< e-e
 e.dY< e-e e.dZ< 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.da< e-e e.db< e-e e.dc< e-e e.dd< e-e e.de< e-e e.df< e-e e.dg< e-e e.dh< e-e e.di< e-e e.dj< e-e e.dk< e-e e.dl< e-e e.dm< e-e e.dn< e-e  e.do< e-e! e.dp< e-e" e.dq< e-e# e.dr< e-e$ e.ds< e-e% e.dt< e-e& e.du< e-e' e.dv< e-e( e.dw< e-e) e.dx< e-e* e.dy< e-e+ e.dz< e-e, e.d{< i dSedTedUedVedWedXe	dYe
dZed[ed\ed]ed^ed_ed`edaedbedcei ddedeedfedgedhediedjedkedledmednedoe dpe!dqe"dre#dse$dte%e&e'e(e)e*e+e,d|Z/d}S )~zSession.PaymentMethodOptionsc                   @   sv   e Zd ZU G dd deZeed  ed< 	 ee ed< eed  ed< 	 ee ed< 	 eed	  ed
< 	 deiZ	dS )z&Session.PaymentMethodOptions.AcssDebitc                   @   sb   e Zd ZU ee ed< 	 eeed   ed< 	 ee ed< 	 eed  ed< 	 eed  ed< d	S )
z5Session.PaymentMethodOptions.AcssDebit.MandateOptionscustom_mandate_url)invoicesubscriptiondefault_forinterval_description)combinedintervalsporadicpayment_schedule)r6  personaltransaction_typeN)r,   r-   r.   r   r9   r0   r   r   r1   r1   r1   r2   MandateOptions  s   
 rO  )cadusdcurrencymandate_optionsr   off_session
on_sessionsetup_future_usagetarget_date)	automaticinstantmicrodepositsverification_methodN)
r,   r-   r.   r   rO  r   r   r0   r9   r<   r1   r1   r1   r2   	AcssDebit  s    
 	r]  c                   @   rp   )z#Session.PaymentMethodOptions.Affirmmanualcapture_methodr   rW  Nrv   r1   r1   r1   r2   Affirm2  r$  r`  c                   @   rp   )z-Session.PaymentMethodOptions.AfterpayClearpayr^  r_  r   rW  Nrv   r1   r1   r1   r2   AfterpayClearpayB  r$  ra  c                   @      e Zd ZU eed  ed< dS )z#Session.PaymentMethodOptions.Alipayr   rW  Nrv   r1   r1   r1   r2   AlipayR     
 rc  c                   @   rb  )z!Session.PaymentMethodOptions.Almar^  r_  Nrv   r1   r1   r1   r2   Alma^  rd  re  c                   @   rp   )z&Session.PaymentMethodOptions.AmazonPayr^  r_  r   rU  rW  Nrv   r1   r1   r1   r2   	AmazonPayd  r$  rg  c                   @   s,   e Zd ZU eed  ed< 	 ee ed< dS )z(Session.PaymentMethodOptions.AuBecsDebitr   rW  rX  Nr,   r-   r.   r   r   r0   r9   r1   r1   r1   r2   AuBecsDebitt  s
   
 	ri  c                   @   R   e Zd ZU G dd deZee ed< eed  ed< 	 ee ed< 	 deiZ	dS )z&Session.PaymentMethodOptions.BacsDebitc                   @      e Zd ZU ee ed< dS )z5Session.PaymentMethodOptions.BacsDebit.MandateOptionsreference_prefixNrf   r1   r1   r1   r2   rO    r~   rO  rS  rT  rW  rX  N
r,   r-   r.   r   rO  r   r0   r   r9   r<   r1   r1   r1   r2   	BacsDebit     
 	rn  c                   @   rb  )z'Session.PaymentMethodOptions.Bancontactr   rW  Nrv   r1   r1   r1   r2   
Bancontact  rd  rp  c                   @   rb  )z#Session.PaymentMethodOptions.Billier^  r_  Nrv   r1   r1   r1   r2   Billie  rd  rq  c                   @   (   e Zd ZU eed< 	 eed  ed< dS )z#Session.PaymentMethodOptions.Boletoexpires_after_daysrT  rW  Nr,   r-   r.   r8   r0   r   r   r1   r1   r1   r2   Boleto  s   
 ru  c                   @   s   e Zd ZU G dd deZG dd deZeed  ed< 	 ee ed< eed  ed	< 	 eed  ed
< 	 eed  ed< 	 eed  ed< 	 ed ed< 	 ee ed< eed  ed< 	 ee	 ed< 	 ee	 ed< 	 eedZ
dS )z!Session.PaymentMethodOptions.Cardc                   @   rk  )z.Session.PaymentMethodOptions.Card.Installmentsr*   N)r,   r-   r.   r   r/   r0   r1   r1   r1   r2   Installments  r~   rv  c                   @   "   e Zd ZU eeed   ed< dS )z.Session.PaymentMethodOptions.Card.Restrictions)american_expressdiscover_global_network
mastercardvisabrands_blockedNr,   r-   r.   r   r   r   r0   r1   r1   r1   r2   Restrictions  s   
 
r~  r^  r_  installments)if_availableneverrequest_extended_authorization!request_incremental_authorizationrequest_multicapturerequest_overcapture)anyrY  	challengerequest_three_d_securerestrictionsrT  rW   statement_descriptor_suffix_kana!statement_descriptor_suffix_kanji)r  r  N)r,   r-   r.   r   rv  r~  r   r   r0   r9   r<   r1   r1   r1   r2   Card  s@   
 	
r  c                   @   rp   )z$Session.PaymentMethodOptions.Cashappr^  r_  r   rW  Nrv   r1   r1   r1   r2   Cashapp  r$  r  c                   @   sV   e Zd ZU G dd deZee ed< eed  ed< 	 eed  ed< 	 deiZdS )z,Session.PaymentMethodOptions.CustomerBalancec                   @   sZ   e Zd ZU G dd deZee ed< eeed   ed< 	 eed  ed< 	 deiZ	dS )	z9Session.PaymentMethodOptions.CustomerBalance.BankTransferc                   @   rx   )zHSession.PaymentMethodOptions.CustomerBalance.BankTransfer.EuBankTransfer)BEDEESFRIENLra   Nr|   r1   r1   r1   r2   EuBankTransfer!  r~   r  eu_bank_transfer)abaibansepa	sort_codespeiswiftzenginrequested_address_types)r  gb_bank_transferjp_bank_transfermx_bank_transferus_bank_transferrB   N)
r,   r-   r.   r   r  r   r0   r   r   r<   r1   r1   r1   r2   BankTransfer   s$   
 	r  bank_transferfunding_typer   rW  N)	r,   r-   r.   r   r  r   r0   r   r<   r1   r1   r1   r2   CustomerBalance  s   
 (	r  c                   @   rb  )z Session.PaymentMethodOptions.Epsr   rW  Nrv   r1   r1   r1   r2   EpsY  rd  r  c                   @   rb  )z Session.PaymentMethodOptions.Fpxr   rW  Nrv   r1   r1   r1   r2   Fpxe  rd  r  c                   @   rb  )z$Session.PaymentMethodOptions.Giropayr   rW  Nrv   r1   r1   r1   r2   Giropayq  rd  r  c                   @   rb  )z$Session.PaymentMethodOptions.Grabpayr   rW  Nrv   r1   r1   r1   r2   Grabpay}  rd  r  c                   @   rb  )z"Session.PaymentMethodOptions.Idealr   rW  Nrv   r1   r1   r1   r2   Ideal  rd  r  c                   @   rp   )z%Session.PaymentMethodOptions.KakaoPayr^  r_  rf  rW  Nrv   r1   r1   r1   r2   KakaoPay  r$  r  c                   @   rp   )z#Session.PaymentMethodOptions.Klarnar^  r_  rT  rW  Nrv   r1   r1   r1   r2   Klarna  s   
 r  c                   @   s,   e Zd ZU ee ed< 	 eed  ed< dS )z$Session.PaymentMethodOptions.Konbinirs  r   rW  N)r,   r-   r.   r   r8   r0   r   r1   r1   r1   r2   Konbini  s
   
 r  c                   @   rp   )z#Session.PaymentMethodOptions.KrCardr^  r_  rf  rW  Nrv   r1   r1   r1   r2   KrCard  r$  r  c                   @   rp   )z!Session.PaymentMethodOptions.Linkr^  r_  rf  rW  Nrv   r1   r1   r1   r2   Link  r$  r  c                   @   rp   )z&Session.PaymentMethodOptions.Mobilepayr^  r_  r   rW  Nrv   r1   r1   r1   r2   	Mobilepay  r$  r  c                   @   rb  )z'Session.PaymentMethodOptions.Multibancor   rW  Nrv   r1   r1   r1   r2   
Multibanco  rd  r  c                   @   rp   )z%Session.PaymentMethodOptions.NaverPayr^  r_  rf  rW  Nrv   r1   r1   r1   r2   NaverPay  r$  r  c                   @   rr  )z!Session.PaymentMethodOptions.Oxxors  r   rW  Nrt  r1   r1   r1   r2   Oxxo  s
   
 r  c                   @   rb  )z Session.PaymentMethodOptions.P24r   rW  Nrv   r1   r1   r1   r2   P24#  rd  r  c                   @   rb  )z"Session.PaymentMethodOptions.Paycor^  r_  Nrv   r1   r1   r1   r2   Payco/  rd  r  c                   @   rb  )z#Session.PaymentMethodOptions.Paynowr   rW  Nrv   r1   r1   r1   r2   Paynow5  rd  r  c                   @   sL   e Zd ZU eed  ed< 	 ee ed< 	 ee ed< 	 eed  ed< dS )z#Session.PaymentMethodOptions.Paypalr^  r_  preferred_locale	referencerf  rW  Nrh  r1   r1   r1   r2   PaypalA  s   
 r  c                   @   s>   e Zd ZU eed  ed< 	 ee ed< 	 eed  ed< dS )z Session.PaymentMethodOptions.Pix)alwaysr  amount_includes_iofexpires_after_secondsr   rW  N)r,   r-   r.   r   r   r0   r8   r1   r1   r1   r2   PixY  s   
 r  c                   @   rp   )z'Session.PaymentMethodOptions.RevolutPayr^  r_  rf  rW  Nrv   r1   r1   r1   r2   
RevolutPaym  r$  r  c                   @   rb  )z'Session.PaymentMethodOptions.SamsungPayr^  r_  Nrv   r1   r1   r1   r2   
SamsungPay}  rd  r  c                   @   rb  )z%Session.PaymentMethodOptions.Satispayr^  r_  Nrv   r1   r1   r1   r2   Satispay  rd  r  c                   @   rj  )z&Session.PaymentMethodOptions.SepaDebitc                   @   rk  )z5Session.PaymentMethodOptions.SepaDebit.MandateOptionsrl  Nrf   r1   r1   r1   r2   rO    r~   rO  rS  rT  rW  rX  Nrm  r1   r1   r1   r2   	SepaDebit  ro  r  c                   @   rb  )z#Session.PaymentMethodOptions.Sofortr   rW  Nrv   r1   r1   r1   r2   Sofort  rd  r  c                   @   rk  )z"Session.PaymentMethodOptions.Swishr  Nrf   r1   r1   r1   r2   Swish  r~   r  c                   @   rb  )z"Session.PaymentMethodOptions.Twintr   rW  Nrv   r1   r1   r1   r2   Twint  rd  r  c                   @   sd   e Zd ZU G dd deZee ed< eed  ed< 	 ee ed< 	 eed  ed< 	 deiZ	d	S )
z*Session.PaymentMethodOptions.UsBankAccountc                   @   sl   e Zd ZU G dd deZee ed< eeed   ed< 	 eeed   ed< 	 ee	 ed< 	 deiZ
d	S )
z?Session.PaymentMethodOptions.UsBankAccount.FinancialConnectionsc                   @   rw  )zGSession.PaymentMethodOptions.UsBankAccount.FinancialConnections.Filters)checkingsavingsaccount_subcategoriesNr}  r1   r1   r1   r2   Filters  s
   
 
r  filters)balances	ownershippayment_methodtransactionspermissions)r  r  r  prefetch
return_urlN)r,   r-   r.   r   r  r   r0   r   r   r9   r<   r1   r1   r1   r2   FinancialConnections  s$   
 

r  financial_connectionsrT  rW  rX  )rY  rZ  r\  N)
r,   r-   r.   r   r  r   r0   r   r9   r<   r1   r1   r1   r2   UsBankAccount  s   
 #	r  
acss_debitaffirmafterpay_clearpayalipayalma
amazon_payau_becs_debit
bacs_debit
bancontactbillieboletocardcashappcustomer_balanceepsfpxgiropaygrabpayideal	kakao_payklarnakonbinikr_cardlink	mobilepay
multibanco	naver_payoxxop24paycopaynowpaypalpixrevolut_paysamsung_paysatispay
sepa_debitsofortswishtwintus_bank_account)r  r  r  r  r  r  r  N)0r,   r-   r.   r   r]  r`  ra  rc  re  rg  ri  rn  rp  rq  ru  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r0   r<   r1   r1   r1   r2   PaymentMethodOptions  s@  
 6M:=	
 !"#r  c                   @   rb  )zSession.Permissions)client_onlyserver_onlyupdate_shipping_detailsNrv   r1   r1   r1   r2   PermissionsS  s
   
 r  c                   @   r)   )zSession.PhoneNumberCollectionr*   Nr+   r1   r1   r1   r2   PhoneNumberCollection_  r4   r  c                   @   s    e Zd ZU eed< 	 eed< dS )zSession.PresentmentDetailspresentment_amountpresentment_currencyNr   r1   r1   r1   r2   PresentmentDetailse  r   r  c                   @   sF   e Zd ZU eeed   ed< 	 eed  ed< 	 eed  ed< dS )z!Session.SavedPaymentMethodOptions)r  limitedunspecifiedallow_redisplay_filters)disabledr*   payment_method_removepayment_method_saveNr}  r1   r1   r1   r2   SavedPaymentMethodOptionso  s   
 
r  c                   @   rb  )z!Session.ShippingAddressCollection)ACADAEAFAGAIALAMAOAQARATAUAWAXAZBABBBDr  BFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACDCFCGCHCICKCLCMCNCOCRCVCWCYCZr  DJDKDMDODZECEEEGEHERr  ETFIFJFKFOr  GAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHNHRHTHUIDr  ILIMINIOIQISITJEJMJOJPKEKGKHKIKMKNKRKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMKMLMMMNMOMQMRMSMTMUMVMWMXMYMZNANCNENGNIr  NONPNRNUNZOMPAPEPFPGPHPKPLPMPNPRPSPTPYQARERORSRURWSASBSCSDSESGSHSISJSKSLSMSNSOSRSSSTSVSXSZTATCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUSUYUZVAVCVEVGVNVUWFWSXKYEYTZAZMZWZZallowed_countriesN)r,   r-   r.   r   r   r0   r1   r1   r1   r2   ShippingAddressCollection  s   
  sr  c                   @   sh   e Zd ZU G dd deZeed< 	 eed< 	 eed< 	 eed  ed< 	 ee	e  ed< 	 deiZ
d	S )
zSession.ShippingCostc                   @   @   e Zd ZU eed< 	 ded< 	 eed  ed< 	 ee ed< dS )zSession.ShippingCost.Taxamountr    ratecustomer_exemptnot_collectingnot_subject_to_taxnot_supportedportion_product_exemptportion_reduced_ratedportion_standard_ratedproduct_exemptproduct_exempt_holidayproportionally_ratedreduced_ratedreverse_chargestandard_ratedtaxable_basis_reduced
zero_ratedtaxability_reasontaxable_amountNrt  r1   r1   r1   r2   Taxx     
 r  r   
amount_taxr   r   shipping_ratetaxesN)r,   r-   r.   r   r  r8   r0   r   r   r   r<   r1   r1   r1   r2   ShippingCostw  s   
 &r  c                   @   $   e Zd ZU eed< 	 ed ed< dS )zSession.ShippingOptionshipping_amountr   r  N)r,   r-   r.   r8   r0   r   r1   r1   r1   r2   ShippingOption  rC  r  c                   @   r  )zSession.TaxIdCollectionr*   )if_supportedr  r   N)r,   r-   r.   r/   r0   r   r1   r1   r1   r2   TaxIdCollection  rC  r  c                   @   sT   e Zd ZU G dd deZeed< 	 ee ed< 	 eed< 	 ee ed< deiZdS )zSession.TotalDetailsc                   @   sT   e Zd ZU G dd deZG dd deZee ed< 	 ee ed< 	 eedZdS )	zSession.TotalDetails.Breakdownc                   @   s    e Zd ZU eed< 	 ded< dS )z'Session.TotalDetails.Breakdown.Discountr  DiscountResourcediscountN)r,   r-   r.   r8   r0   r1   r1   r1   r2   r     r   r   c                   @   r  )z"Session.TotalDetails.Breakdown.Taxr  r    r  r  r
  r  Nrt  r1   r1   r1   r2   r    r  r  	discountsr  )r  r  N)	r,   r-   r.   r   r   r  r   r0   r<   r1   r1   r1   r2   	Breakdown  s   
 &r  amount_discountamount_shippingr  	breakdownN)	r,   r-   r.   r   r  r8   r0   r   r<   r1   r1   r1   r2   TotalDetails  s   
 >r  c                   @   s2   e Zd ZU G dd deZee ed< deiZdS )zSession.WalletOptionsc                   @   rb  )zSession.WalletOptions.Link)ry   r  displayNrv   r1   r1   r1   r2   r    rd  r  r  N)r,   r-   r.   r   r  r   r0   r<   r1   r1   r1   r2   WalletOptions  s   
 r   adaptive_pricingafter_expirationr5   r   r   automatic_tax)ry   r   billing_address_collectionbranding_settings
cancel_urlclient_reference_idclient_secretcollected_informationconsentconsent_collectioncreatedrR  currency_conversionr+  custom_textr   customer)r  if_requiredcustomer_creationcustomer_detailscustomer_emailr  excluded_payment_method_typesr6   r@  r   rE  invoice_creationr   
line_itemslivemode))ry   bgcsdadeelenzen-GBeszes-419etfifilfrzfr-CAhrhur@  itjakoltlvmsmtnbnlplptzpt-BRroruskslsvthtrvizhzzh-HKzzh-TWlocaler/  )paymentsetuprF  modename_collectionobjectoptional_items)
mobile_appweborigin_contextr   payment_intentr   payment_linkpayment_method_collection$payment_method_configuration_detailspayment_method_optionspayment_method_types)no_payment_requiredpaidunpaidpayment_statusr  phone_number_collectionpresentment_detailsrecovered_from)r  r0  r  redirect_on_completionr  saved_payment_method_optionsr   setup_intentshipping_address_collectionshipping_costshipping_options)rH   expiredopenrK   )ry   bookdonatepay	subscribesubmit_typer   rF  success_urltax_id_collectiontotal_details)r   embeddedhostedui_moder7   wallet_optionsparamsr!   returnc                 K   s   t d| jd|  |dS )4
        Creates a Checkout Session object.
        r'   postr  )r   _static_request	class_urlclsr  r1   r1   r2   createS	  s   zSession.createc                    s"   t d| jd|  |dI dH S )r  r'   r  r  N)r   _static_request_asyncr  r  r1   r1   r2   create_asynca	  s   
zSession.create_asyncsessionr"   c                 K   s"   t d| jddjt|d|dS )  
        A Checkout Session can be expired when it is in one of these statuses: open

        After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired.
        r'   r  &/v1/checkout/sessions/{session}/expirer  r  )r   r  formatr	   r  r  r  r1   r1   r2   _cls_expireq	  s   	zSession._cls_expirec                 K      dS r  Nr1   r  r  r1   r1   r2   expire	  s   
zSession.expirec                 K   r  r  r1   rA   r  r1   r1   r2   r  	     r  c              	   K   s(   t d| jddjt| dd|dS )r  r'   r  r  r@  r  r  )r   _requestr  r	   getr  r1   r1   r2   r  	  s   	c                    s*   t d| jddjt|d|dI dH S )r  r'   r  r  r  r  N)r   r  r  r	   r  r1   r1   r2   _cls_expire_async	  s   	
zSession._cls_expire_asyncc                       dS r  r1   r  r1   r1   r2   expire_async	  s   
zSession.expire_asyncc                    r  r  r1   r  r1   r1   r2   r  	  s   	r  c              	      s0   t d| jddjt| dd|dI dH S )r  r'   r  r  r@  r  r  N)r   _request_asyncr  r	   r  r  r1   r1   r2   r  	  s   	
r$   c                 K   s4   | j d|  |d}t|tstdt|j |S )6
        Returns a list of Checkout Sessions.
        r  r  %Expected list object from API, got %s)r  r  
isinstancer   	TypeErrorrB   r,   r  r  resultr1   r1   r2   list	  s   
zSession.listc                    s<   | j d|  |dI dH }t|tstdt|j |S )r  r  r  Nr  )r  r  r  r   r  rB   r,   r  r1   r1   r2   
list_async
  s   
zSession.list_asyncr#   c                 K   s&   t td | jddjt|d|dS )
        When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
        r   r  */v1/checkout/sessions/{session}/line_itemsr  r  )r   r   r  r  r	   r  r1   r1   r2   _cls_list_line_items
  s   zSession._cls_list_line_itemsc                 K   r  r  Nr1   r  r1   r1   r2   list_line_items'
  s   zSession.list_line_itemsc                 K   r  r  r1   r  r1   r1   r2   r  1
  r  r  c              	   K   s,   t td | jddjt| dd|dS )r  r   r  r  r@  r  r  )r   r   r  r  r	   r  r  r1   r1   r2   r  :
  s   c                    s.   t td | jddjt|d|dI dH S )r  r   r  r  r  r  N)r   r   r  r  r	   r  r1   r1   r2   _cls_list_line_items_asyncL
  s   
z"Session._cls_list_line_items_asyncc                    r  r  r1   r  r1   r1   r2   list_line_items_async^
  s   zSession.list_line_items_asyncc                    r  r  r1   r  r1   r1   r2   r  h
  s   r  c              	      s4   t td | jddjt| dd|dI dH S )r  r   r  r  r@  r  r  N)r   r   r  r  r	   r  r  r1   r1   r2   r  q
  s   
r%   c                 K   s*   d|   t|f }td| jd||dS )
        Updates a Checkout Session object.

        Related guide: [Dynamically update Checkout](https://docs.stripe.com/payments/checkout/dynamic-updates)
        %s/%sr'   r  r  )r  r	   r   r  r  r@  r  r7   r1   r1   r2   modify
  s   	zSession.modifyc                    s2   d|   t|f }td| jd||dI dH S )r  r  r'   r  r  N)r  r	   r   r  r  r1   r1   r2   modify_async
  s   	
zSession.modify_asyncr&   c                 K   s   | |fi |}|   |S )6
        Retrieves a Checkout Session object.
        )refreshr  r@  r  instancer1   r1   r2   retrieve
  s   zSession.retrievec                    s$   | |fi |}|  I dH  |S )r  N)refresh_asyncr  r1   r1   r2   retrieve_async
  s   zSession.retrieve_async)
r  rm  rn  rq  rs  rt  ru  r~  r  r  N)Br,   r-   r.   __doc__r(   r
   r   r0   r   r3   r=   rL   r^   ro   rw   r   r   r   r   r!  r   r3  r8  r?  rB  r  r  r  r  r  r  r  r  r  r  r   r   r/   r8   r9   r   r   r   r   classmethodr   r  r  r  r   staticmethodr  r   r  r  r  r  r  r  r  r  r  r  r  r  r<   r1   r1   r1   r2   r'   .   s  
 ;1_0 9
I
      ^
 y=

N
-




	
r'   N)Estripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr   r	   typingr
   r   r   r   r   r   typing_extensionsr   r   r   stripe._accountr   stripe._couponr   stripe._customerr   stripe._discountr   r  stripe._invoicer   stripe._line_itemr   stripe._payment_intentr   stripe._payment_linkr   stripe._promotion_coder   stripe._setup_intentr   stripe._shipping_rater   stripe._subscriptionr   stripe._tax_idr   r)  stripe._tax_rater    -stripe.params.checkout._session_create_paramsr!   -stripe.params.checkout._session_expire_paramsr"   6stripe.params.checkout._session_list_line_items_paramsr#   +stripe.params.checkout._session_list_paramsr$   -stripe.params.checkout._session_modify_paramsr%   /stripe.params.checkout._session_retrieve_paramsr&   r'   r1   r1   r1   r2   <module>   sF    
