o
    L)j#                     @   s   d dl mZ d dlmZ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 er8d dlmZ d dlmZ G dd	 d	ed	 ed	 Zd
S )    )SingletonAPIResource)StripeObjectUntypedStripeObject)UpdateableAPIResource)ClassVarListOptionalcast)LiteralUnpackTYPE_CHECKING)BalanceSettingsModifyParams)BalanceSettingsRetrieveParamsc                   @   s   e Zd ZU dZdZeed  ed< G dd deZ	ed ed< 	 e	ed< e
ded	 d
d fddZe
ded	 d
d fddZe
ded d
d fddZe
ded d
d fddZe
dd Zde	iZdS )BalanceSettingszr
    Options for customizing account balances and payout settings for a Stripe platform's connected accounts.
    balance_settingsOBJECT_NAMEc                   @   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d< eedZ	d	S )
zBalanceSettings.Paymentsc                   @   s   e Zd ZU G dd deZG dd deZeeee   e	d< 	 eee
  e	d< 	 ee e	d< 	 ee e	d< 	 ed	 e	d
< 	 eedZdgZdS )z BalanceSettings.Payments.Payoutsc                   @   s2   e Zd ZU eed< 	 ee ed< 	 ed ed< dS )zABalanceSettings.Payments.Payouts.AutomaticTransferRulesByCurrencypayout_methodtransfer_up_to_amount)transfer_allr   typeN)__name__
__module____qualname__str__annotations__r   intr
    r   r   }/var/www/html/finance-dev.cargoinsureonline.com/_shared/backend-venv/lib/python3.10/site-packages/stripe/_balance_settings.py AutomaticTransferRulesByCurrency   s   
 r   c                   @   sF   e Zd ZU eed  ed< 	 eee  ed< 	 eeed   ed< dS )z)BalanceSettings.Payments.Payouts.Schedule)dailymanualmonthlyweeklyintervalmonthly_payout_days)fridaymondaythursdaytuesday	wednesdayweekly_payout_daysN)r   r   r   r   r
   r   r   r   r   r   r   r   Schedule,   s   
 r+   $automatic_transfer_rules_by_currencyminimum_balance_by_currencyschedulestatement_descriptor)disabledenabledstatus)r,   r.   N)r   r   r   r   r   r+   r   r   r   r   r   r   r
   _inner_class_types_inner_class_dictsr   r   r   r   Payouts   s&   
 

r5   c                   @   sL   e Zd ZU G dd deZeed< 	 ee ed< 	 ee ed< 	 deiZdS )z)BalanceSettings.Payments.SettlementTimingc                   @   s*   e Zd ZU eed< 	 eed< 	 eed< dS )z4BalanceSettings.Payments.SettlementTiming.StartOfDayhourminutestimezoneN)r   r   r   r   r   r   r   r   r   r   
StartOfDayc   s   
 r9   
delay_daysdelay_days_overridestart_of_dayN)	r   r   r   r   r9   r   r   r   r3   r   r   r   r   SettlementTimingb   s   
 r=   debit_negative_balancespayoutssettlement_timing)r?   r@   N)
r   r   r   r   r5   r=   r   boolr   r3   r   r   r   r   Payments   s   
 E
rB   objectpaymentsparamsr   returnc                 K   s   t d| jd|  |dS )
        Updates balance settings for a given connected account.
         Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication)
        r   postrE   )r	   _static_request	class_urlclsrE   r   r   r   modify   s   zBalanceSettings.modifyc                    s"   t d| jd|  |dI dH S )rG   r   rH   rI   N)r	   _static_request_asyncrK   rL   r   r   r   modify_async   s   
zBalanceSettings.modify_asyncr   c                 K   s   | di |}|   |S z
        Retrieves balance settings for a given connected account.
         Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication)
        N)N)refreshrM   rE   instancer   r   r   retrieve   s   zBalanceSettings.retrievec                    s"   | di |}|  I dH  |S rQ   )refresh_asyncrS   r   r   r   retrieve_async   s   zBalanceSettings.retrieve_asyncc                 C   s   dS )Nz/v1/balance_settingsr   )rM   r   r   r   rK      s   zBalanceSettings.class_urlN)r   r   r   __doc__r   r   r
   r   r   rB   classmethodr   rN   rP   rU   rW   rK   r3   r   r   r   r   r      sD   
 q
r   N)stripe._singleton_api_resourcer   stripe._stripe_objectr   r   stripe._updateable_api_resourcer   typingr   r   r   r	   typing_extensionsr
   r   r   -stripe.params._balance_settings_modify_paramsr   /stripe.params._balance_settings_retrieve_paramsr   r   r   r   r   r   <module>   s   
