
    <@g H                         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y
)    )CreateableAPIResource)ExpandableField)RequestOptions)StripeObject)ClassVarListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Configurationc                   @   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 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d   ed<   	 eed <   	 eed!<   	 ee	   ed"<   	 eed#<   	 eed$<   	 eed%      ed&<   	 ed   ed'<   	 ee   ed(<   	 ee   ed)<   	 eed*<   	 ed+ed,   d-d fd.       Zed+ed,   d-d fd/       Z d"e	iZ!y0)1Sessiona  
    The Billing customer portal is a Stripe-hosted UI for subscription and
    billing management.

    A portal configuration describes the functionality and features that you
    want to provide to your customers through the portal.

    A portal session describes the instantiation of the customer portal for
    a particular customer. By visiting the session's URL, the customer
    can manage their subscriptions and billing details. For security reasons,
    sessions are short-lived and will expire if the customer does not visit the URL.
    Create sessions on-demand when customers intend to manage their subscriptions
    and billing details.

    Related guide: [Customer management](https://stripe.com/customer-management)
    zbilling_portal.sessionOBJECT_NAMEc                       e Zd ZU  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   ed<   	 e	e   ed<   	 e
d   ed<   	 eeeedZy)Session.Flowc                   z    e Zd ZU  G d de      Z G d de      Zee   ed<   	 ee   ed<   	 ed   ed<   	 eed	Z	y
)Session.Flow.AfterCompletionc                       e Zd ZU ee   ed<   y)/Session.Flow.AfterCompletion.HostedConfirmationcustom_messageN__name__
__module____qualname__r	   str__annotations__     ]/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/billing_portal/_session.pyHostedConfirmationr   ,   s     (-r"   r$   c                       e Zd ZU eed<   y)%Session.Flow.AfterCompletion.Redirect
return_urlNr   r   r   r   r    r!   r"   r#   Redirectr&   2   s    r"   r)   hosted_confirmationredirectr*   portal_homepager+   type)r*   r+   N)
r   r   r   r   r$   r)   r	   r    r   _inner_class_typesr!   r"   r#   AfterCompletionr   +   sb    \ <  "**<!== x(( NOO (:$"r"   r0   c                   J    e Zd ZU  G d de      Zee   ed<   	 eed<   	 deiZy)Session.Flow.SubscriptionCancelc                   P    e Zd ZU  G d de      Zee   ed<   	 ed   ed<   	 deiZy))Session.Flow.SubscriptionCancel.Retentionc                       e Zd ZU eed<   y)5Session.Flow.SubscriptionCancel.Retention.CouponOffercouponNr(   r!   r"   r#   CouponOfferr6   K   s    Kr"   r8   coupon_offerr.   N)	r   r   r   r   r8   r	   r    r   r/   r!   r"   r#   	Retentionr4   J   s?    ,  '{33 n-- '5k%B"r"   r:   	retentionsubscriptionN)	r   r   r   r   r:   r	   r    r   r/   r!   r"   r#   SubscriptionCancelr2   I   s<    CL C"  	**  #.y!9r"   r=   c                       e Zd ZU eed<   y)Session.Flow.SubscriptionUpdater<   Nr(   r!   r"   r#   SubscriptionUpdater?   e   s    r"   r@   c                   z    e Zd ZU  G d de      Z G d de      Zeee      ed<   	 ee   ed<   	 e	ed<   	 eedZ
y	)
&Session.Flow.SubscriptionUpdateConfirmc                   0    e Zd ZU ee   ed<   	 ee   ed<   y)/Session.Flow.SubscriptionUpdateConfirm.Discountr7   promotion_codeNr   r!   r"   r#   DiscountrD   l   s"     % !)-r"   rF   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)+Session.Flow.SubscriptionUpdateConfirm.ItemidpricequantityN)r   r   r   r	   r   r    intr!   r"   r#   ItemrH   v   s3    SM!  }$ #3-'r"   rM   	discountsitemsr<   )rN   rO   N)r   r   r   r   rF   rM   r	   r   r    r   r/   r!   r"   r#   SubscriptionUpdateConfirmrB   k   s[    < |   X// :  08$!Gr"   rP   after_completionsubscription_cancelsubscription_updatesubscription_update_confirmpayment_method_updaterR   rS   rT   r.   )rQ   rR   rS   rT   N)r   r   r   r   r0   r=   r@   rP   r    r	   r   r/   r!   r"   r#   Flowr   *   s    	l 	<	: 	:8	 	%	H %	HN *)%&899	 &&899	 &..G%HH	 +
 	
	 !0#5#5+D	
r"   rW   c                       e Zd ZU ee   ed<   	 eed<   	 eee      ed<   	 ed   ed<   	 eed      ed<   	 ee   ed<   	 ee   ed	<   y
)Session.CreateParamsconfigurationcustomerexpandSession.CreateParamsFlowData	flow_data/autobgcsdadeelenzen-AUzen-CAzen-GBzen-IEzen-INzen-NZzen-SGeszes-419etfifilfrzfr-CAhrhurI   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localeon_behalf_ofr'   N)r   r   r   r   r   r    r   r   r!   r"   r#   CreateParamsrY      s    "3''	 	 DI&&	 =>>	 .02
 2	
f	 "#&&	  $$	r"   r   c                   f    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed	   ed
<   y)r]   +Session.CreateParamsFlowDataAfterCompletionrQ   .Session.CreateParamsFlowDataSubscriptionCancelrR   .Session.CreateParamsFlowDataSubscriptionUpdaterS   5Session.CreateParamsFlowDataSubscriptionUpdateConfirmrT   rU   r.   Nr   r   r   r   r    r   r!   r"   r#   CreateParamsFlowDatazSession.CreateParamsFlowData   su    %9
 	
	 )<
 	
	 )<
 	
	 &1C&
 	
	 +
 	
	r"   r   c                   B    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   y)r   =Session.CreateParamsFlowDataAfterCompletionHostedConfirmationr*   3Session.CreateParamsFlowDataAfterCompletionRedirectr+   r,   r.   Nr   r!   r"   r#   #CreateParamsFlowDataAfterCompletionz+Session.CreateParamsFlowDataAfterCompletion"  sA    (K
 	
	 A
 	
	 JKK	r"   r   c                       e Zd ZU ee   ed<   y)r   r   Nr   r   r   r   r   r    r!   r"   r#   5CreateParamsFlowDataAfterCompletionHostedConfirmationz=Session.CreateParamsFlowDataAfterCompletionHostedConfirmation4  s    #C((	r"   r   c                       e Zd ZU eed<   y)r   r'   Nr(   r!   r"   r#   +CreateParamsFlowDataAfterCompletionRedirectz3Session.CreateParamsFlowDataAfterCompletionRedirect:  s    	r"   r   c                   *    e Zd ZU ed   ed<   	 eed<   y)r   7Session.CreateParamsFlowDataSubscriptionCancelRetentionr;   r<   N)r   r   r   r   r    r   r!   r"   r#   &CreateParamsFlowDataSubscriptionCancelz.Session.CreateParamsFlowDataSubscriptionCancel@  s$    E
 	
	 	r"   r   c                   *    e Zd ZU ded<   	 ed   ed<   y)r   BSession.CreateParamsFlowDataSubscriptionCancelRetentionCouponOfferr9   r.   N)r   r   r   r    r   r!   r"   r#   /CreateParamsFlowDataSubscriptionCancelRetentionz7Session.CreateParamsFlowDataSubscriptionCancelRetentionL  s    ZZ	 n%%	r"   r   c                       e Zd ZU eed<   y)r   r7   Nr(   r!   r"   r#   :CreateParamsFlowDataSubscriptionCancelRetentionCouponOfferzBSession.CreateParamsFlowDataSubscriptionCancelRetentionCouponOfferV  s     	r"   r   c                       e Zd ZU eed<   y)r   r<   Nr(   r!   r"   r#   &CreateParamsFlowDataSubscriptionUpdatez.Session.CreateParamsFlowDataSubscriptionUpdate^  s    	r"   r   c                   B    e Zd ZU eed      ed<   	 ed   ed<   	 eed<   y)r   =Session.CreateParamsFlowDataSubscriptionUpdateConfirmDiscountrN   9Session.CreateParamsFlowDataSubscriptionUpdateConfirmItemrO   r<   N)r   r   r   r   r   r    r   r!   r"   r#   -CreateParamsFlowDataSubscriptionUpdateConfirmz5Session.CreateParamsFlowDataSubscriptionUpdateConfirmd  sC    O
 	

	 G
 	
	 	r"   r   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)r   r7   rE   Nr   r!   r"   r#   5CreateParamsFlowDataSubscriptionUpdateConfirmDiscountz=Session.CreateParamsFlowDataSubscriptionUpdateConfirmDiscountx  s$    C  	 $C((	r"   r   c                   <    e Zd ZU eed<   	 ee   ed<   	 ee   ed<   y)r   rI   rJ   rK   N)r   r   r   r   r    r   rL   r!   r"   r#   1CreateParamsFlowDataSubscriptionUpdateConfirmItemz9Session.CreateParamsFlowDataSubscriptionUpdateConfirmItem  s0    	 3	 c""	r"   r   r   rZ   createdr[   flowrI   livemoder_   r   objectr   r'   urlparamsrY   returnc                 Z    t        d| j                  d| j                         |            S );
        Creates a session of the customer portal.
        r   postr   )r
   _static_request	class_urlclsr   s     r#   createzSession.create  s6    
    
 	
r"   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)r   r   r   r   N)r
   _static_request_asyncr   r   s     r#   create_asynczSession.create_async  sD      ++ ,  
 	
s   ,97
	9N)"r   r   r   __doc__r   r   r   r    r   rW   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rL   r   r	   boolclassmethodr   r   r   r/   r!   r"   r#   r   r      s   $ 	! '":;< C
| C
JN~ N`!y !Fi $	 i 
 
)  	 (	 I  #?33 L M 4. 	G N .0	
2 2f ,-- 3-  
H 
f%;< 
 
 
 
45
	
 
 !$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.billing_portal._configurationr   r   r!   r"   r#   <module>r      s@    B 4 2 . 1 1  By(#I. y(r"   