o
    L)jv_                     @   sd   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
 e
r&d dlmZ G dd ded ZdS )	    )CreateableAPIResource)StripeObject)ClassVarcast)LiteralUnpackTYPE_CHECKING)AccountSessionCreateParamsc                   @   s   e Zd ZU dZdZeed  ed< G dd deZ	e
ed< 	 e
ed< 	 e	ed< eed	< 	 eed
< 	 ed ed< 	 eded dd fddZeded dd fddZde	iZdS )AccountSessiona  
    An AccountSession allows a Connect platform to grant access to a connected account in Connect embedded components.

    We recommend that you create an AccountSession each time you need to display an embedded component
    to your user. Do not save AccountSessions to your database as they expire relatively
    quickly, and cannot be used more than once.

    Related guide: [Connect embedded components](https://docs.stripe.com/connect/get-started-connect-embedded-components)
    account_sessionOBJECT_NAMEc                   @   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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eed+< eed,< eed-< eed.< eed/< e	ed0< e
ed1< eed2< eed3< eed4< eed5< eed6< eed7< eed8< eed9< eed:< eed;< eed<< eed=< eed>< eed?< i d+ed,ed-ed.ed/ed0e	d1e
d2ed3ed4ed5ed6ed7ed8ed9ed:ed;eeeeed@ZdAS )BzAccountSession.Componentsc                   @   8   e Zd ZU G dd deZeed< 	 eed< deiZdS )z+AccountSession.Components.AccountManagementc                   @       e Zd ZU eed< 	 eed< dS )z4AccountSession.Components.AccountManagement.Features"disable_stripe_user_authenticationexternal_account_collectionN__name__
__module____qualname__bool__annotations__ r   r   |/var/www/html/finance-dev.cargoinsureonline.com/_shared/backend-venv/lib/python3.10/site-packages/stripe/_account_session.pyFeatures   
   
 r   enabledfeaturesNr   r   r   r   r   r   r   _inner_class_typesr   r   r   r   AccountManagement      
 
r   c                   @   r   )z+AccountSession.Components.AccountOnboardingc                   @   r   )z4AccountSession.Components.AccountOnboarding.Featuresr   r   Nr   r   r   r   r   r   /   r   r   r   r   Nr   r   r   r   r   AccountOnboarding.   r    r!   c                   @   r   )z'AccountSession.Components.BalanceReportc                   @      e Zd ZdS )z0AccountSession.Components.BalanceReport.FeaturesNr   r   r   r   r   r   r   r   A       r   r   r   Nr   r   r   r   r   BalanceReport@      
 r%   c                   @   r   )z"AccountSession.Components.Balancesc                   @   >   e Zd ZU eed< 	 eed< 	 eed< 	 eed< 	 eed< dS )z+AccountSession.Components.Balances.Featuresr   edit_payout_scheduler   instant_payoutsstandard_payoutsNr   r   r   r   r   r   L      
 r   r   r   Nr   r   r   r   r   BalancesK      
 r,   c                   @   r   )z&AccountSession.Components.DisputesListc                   @   4   e Zd ZU eed< 	 eed< 	 eed< 	 eed< dS )z/AccountSession.Components.DisputesList.Featurescapture_payments*destination_on_behalf_of_charge_managementdispute_managementrefund_managementNr   r   r   r   r   r   j      
 r   r   r   Nr   r   r   r   r   DisputesListi      
 r4   c                   @   r   )z#AccountSession.Components.Documentsc                   @   r"   )z,AccountSession.Components.Documents.FeaturesNr#   r   r   r   r   r      r$   r   r   r   Nr   r   r   r   r   	Documents   r&   r6   c                   @   r   )z*AccountSession.Components.FinancialAccountc                   @   r.   )z3AccountSession.Components.FinancialAccount.Featuresr   r   
send_moneytransfer_balanceNr   r   r   r   r   r      r3   r   r   r   Nr   r   r   r   r   FinancialAccount   r5   r9   c                   @   r   )z6AccountSession.Components.FinancialAccountTransactionsc                   @   s   e Zd ZU eed< dS )z?AccountSession.Components.FinancialAccountTransactions.Featurescard_spend_dispute_managementNr   r   r   r   r   r      s   
 r   r   r   Nr   r   r   r   r   FinancialAccountTransactions   s   
 r;   c                   @   r   )z1AccountSession.Components.InstantPayoutsPromotionc                   @   *   e Zd ZU eed< 	 eed< 	 eed< dS )z:AccountSession.Components.InstantPayoutsPromotion.Featuresr   r   r)   Nr   r   r   r   r   r         
 r   r   r   Nr   r   r   r   r   InstantPayoutsPromotion      
 r>   c                   @   r   )z%AccountSession.Components.IssuingCardc                   @   r.   )z.AccountSession.Components.IssuingCard.Featurescard_managementr:   cardholder_managementspend_control_managementNr   r   r   r   r   r      r3   r   r   r   Nr   r   r   r   r   IssuingCard   r5   rC   c                   @   r   )z*AccountSession.Components.IssuingCardsListc                   @   r'   )z3AccountSession.Components.IssuingCardsList.Featuresr@   r:   rA   r   rB   Nr   r   r   r   r   r      r+   r   r   r   Nr   r   r   r   r   IssuingCardsList   r-   rD   c                   @   r   )z,AccountSession.Components.NotificationBannerc                   @   r   )z5AccountSession.Components.NotificationBanner.Featuresr   r   Nr   r   r   r   r   r     r   r   r   r   Nr   r   r   r   r   NotificationBanner  r    rE   c                   @   r   )z(AccountSession.Components.PaymentDetailsc                   @   r.   )z1AccountSession.Components.PaymentDetails.Featuresr/   r0   r1   r2   Nr   r   r   r   r   r     r3   r   r   r   Nr   r   r   r   r   PaymentDetails  r5   rF   c                   @   r   )z)AccountSession.Components.PaymentDisputesc                   @   r<   )z2AccountSession.Components.PaymentDisputes.Featuresr0   r1   r2   Nr   r   r   r   r   r   1  r=   r   r   r   Nr   r   r   r   r   PaymentDisputes0  r?   rG   c                   @   r   )z"AccountSession.Components.Paymentsc                   @   r.   )z+AccountSession.Components.Payments.Featuresr/   r0   r1   r2   Nr   r   r   r   r   r   G  r3   r   r   r   Nr   r   r   r   r   PaymentsF  r5   rH   c                   @   r   )z'AccountSession.Components.PayoutDetailsc                   @   r"   )z0AccountSession.Components.PayoutDetails.FeaturesNr#   r   r   r   r   r   a  r$   r   r   r   Nr   r   r   r   r   PayoutDetails`  r&   rI   c                   @   r   )z4AccountSession.Components.PayoutReconciliationReportc                   @   r"   )z=AccountSession.Components.PayoutReconciliationReport.FeaturesNr#   r   r   r   r   r   l  r$   r   r   r   Nr   r   r   r   r   PayoutReconciliationReportk  r&   rJ   c                   @   r   )z!AccountSession.Components.Payoutsc                   @   r'   )z*AccountSession.Components.Payouts.Featuresr   r(   r   r)   r*   Nr   r   r   r   r   r   w  r+   r   r   r   Nr   r   r   r   r   Payoutsv  r-   rK   c                   @   r   )z%AccountSession.Components.PayoutsListc                   @   r"   )z.AccountSession.Components.PayoutsList.FeaturesNr#   r   r   r   r   r     r$   r   r   r   Nr   r   r   r   r   PayoutsList  r&   rL   c                   @   r   )z*AccountSession.Components.TaxRegistrationsc                   @   r"   )z3AccountSession.Components.TaxRegistrations.FeaturesNr#   r   r   r   r   r     r$   r   r   r   Nr   r   r   r   r   TaxRegistrations  r&   rM   c                   @   r   )z%AccountSession.Components.TaxSettingsc                   @   r"   )z.AccountSession.Components.TaxSettings.FeaturesNr#   r   r   r   r   r     r$   r   r   r   Nr   r   r   r   r   TaxSettings  r&   rN   account_managementaccount_onboardingbalance_reportbalancesdisputes_list	documentsfinancial_accountfinancial_account_transactionsinstant_payouts_promotionissuing_cardissuing_cards_listnotification_bannerpayment_detailspayment_disputespaymentspayout_detailspayout_reconciliation_reportpayoutspayouts_listtax_registrationstax_settings)r`   ra   rb   rc   N)r   r   r   r   r   r!   r%   r,   r4   r6   r9   r;   r>   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r   r   r   r   r   r   
Components   s   
 	
rd   accountclient_secret
components
expires_atlivemodeobjectparamsr	   returnc                 K   s   t d| jd|  |dS )
        Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access.
        r
   postrk   )r   _static_request	class_urlclsrk   r   r   r   create  s   zAccountSession.createc                    s"   t d| jd|  |dI dH S )rm   r
   rn   ro   N)r   _static_request_asyncrq   rr   r   r   r   create_async  s   
zAccountSession.create_asyncN)r   r   r   __doc__r   r   r   r   r   rd   strintr   classmethodr   rt   rv   r   r   r   r   r   r
      s>   
 
   Jr
   N)stripe._createable_api_resourcer   stripe._stripe_objectr   typingr   r   typing_extensionsr   r   r   ,stripe.params._account_session_create_paramsr	   r
   r   r   r   r   <module>   s   