o
    rN)j/                     @   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 d d	lmZmZmZ ernd 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% G dd ded ed e	d Z&dS )    )CreateableAPIResource)DeletableAPIResource)ExpandableField)
ListObject)ListableAPIResource)StripeObject)class_method_variantsanitize_id)ClassVarOptionalcastoverload)LiteralUnpackTYPE_CHECKING)Account)Application)Customer)TaxIdCreateParams)TaxIdDeleteParams)TaxIdListParams)TaxIdRetrieveParamsc                   @   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
ee ed< 	 eed	< 	 eed
  ed< 	 ee ed< 	 eed  ed< 	 eed< 	 eed< 	 ed ed< 	 ee	 ed< 	 ed ed< 	 eed< 	 e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ed dd fd d!Z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%ded dd fd&d#Zededed dd fd'd(Z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,ded dd fd-d*Zeded. ded  fd/d0Zeded. ded  fd1d2Zededed3 dd fd4d5Zededed3 dd fd6d7Ze	e
d8Z d9S ):TaxIda}  
    You can add one or multiple tax IDs to a [customer](https://docs.stripe.com/api/customers) or account.
    Customer and account tax IDs get displayed on related invoices and credit notes.

    Related guides: [Customer tax identification numbers](https://docs.stripe.com/billing/taxes/tax-ids), [Account tax IDs](https://docs.stripe.com/invoicing/connect#account-tax-ids)
    tax_idOBJECT_NAMEc                   @   s^   e Zd ZU eed  ed< 	 eed  ed< 	 eed  ed< 	 ee ed< 	 ed ed	< d
S )zTaxId.Ownerr   accountr   applicationr   customercustomer_account)r   r   r   selftypeN)__name__
__module____qualname__r   r   __annotations__strr    r&   r&   o/var/www/html/finance.cargoinsureonline.com/_shared/backend-venv/lib/python3.10/site-packages/stripe/_tax_id.pyOwner%   s   
 r(   c                   @   s6   e Zd ZU ed ed< 	 ee ed< 	 ee ed< dS )zTaxId.Verification)pendingunavailable
unverifiedverifiedstatusverified_addressverified_nameN)r!   r"   r#   r   r$   r   r%   r&   r&   r&   r'   Verification;   s   
 r0   countrycreatedr   r   r   Tdeletedidlivemodeobjectowner)u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fo_vatgb_vatge_vatgi_tingn_nifhk_brhr_oibhu_tinid_npwpil_vatin_gstis_vatit_cfjp_cnjp_rnjp_trnke_pinkg_tinkh_tinkr_brnkz_binla_tinli_uidli_vatlk_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pl_nippy_ruc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_tinr    valueverificationparamsr   returnc                 K   s   t d| jd|  |dS )B
        Creates a new account or customer tax_id object.
        r   postr   )r   _static_request	class_urlclsr   r&   r&   r'   create   s   zTaxId.createc                    s"   t d| jd|  |dI dH S )r   r   r   r   N)r   _static_request_asyncr   r   r&   r&   r'   create_async   s   
zTaxId.create_asyncsidr   c                 K   s*   d|   t|f }td| jd||dS )H
        Deletes an existing account or customer tax_id object.
        %s/%sr   deleter   )r   r	   r   r   r   r   r   urlr&   r&   r'   _cls_delete  s   zTaxId._cls_deletec                 K      dS r   Nr&   r   r   r&   r&   r'   r     s   zTaxId.deletec                 K   r   r   r&   r   r   r&   r&   r'   r   '  s   r   c                 K   s   | j d|  |dS )r   r   r   )_request_and_refreshinstance_urlr   r&   r&   r'   r   .  s
   c                    s2   d|   t|f }td| jd||dI dH S )r   r   r   r   r   N)r   r	   r   r   r   r&   r&   r'   _cls_delete_async;  s   
zTaxId._cls_delete_asyncc                       dS r   r&   r   r&   r&   r'   delete_asyncL  s   zTaxId.delete_asyncc                    r   r   r&   r   r&   r&   r'   r   V  s   r   c                    s   | j d|  |dI dH S )r   r   r   N)_request_and_refresh_asyncr   r   r&   r&   r'   r   _  s   r   c                 K   s4   | j d|  |d}t|tstdt|j |S ),
        Returns a list of tax IDs.
        getr   %Expected list object from API, got %s)r   r   
isinstancer   	TypeErrorr    r!   r   r   resultr&   r&   r'   listl  s   
z
TaxId.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   r    r!   r   r&   r&   r'   
list_async~  s   
zTaxId.list_asyncr   c                 K   s   | |fi |}|   |S )A
        Retrieves an account or customer tax_id object.
        )refreshr   r4   r   instancer&   r&   r'   retrieve  s   zTaxId.retrievec                    s$   | |fi |}|  I dH  |S )r   N)refresh_asyncr   r&   r&   r'   retrieve_async  s   zTaxId.retrieve_async)r7   r   N)!r!   r"   r#   __doc__r   r
   r   r$   r   r(   r0   r   r%   intr   boolclassmethodr   r   r   r   r   staticmethodr   r   r   r   r   r   r   r   r   _inner_class_typesr&   r&   r&   r'   r      s   
 w

r   N)'stripe._createable_api_resourcer   stripe._deletable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   stripe._utilr   r	   typingr
   r   r   r   typing_extensionsr   r   r   stripe._accountr   stripe._applicationr   stripe._customerr   #stripe.params._tax_id_create_paramsr   #stripe.params._tax_id_delete_paramsr   !stripe.params._tax_id_list_paramsr   %stripe.params._tax_id_retrieve_paramsr   r   r&   r&   r&   r'   <module>   s,   
