o
    Bi>                     @   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 d dlmZmZ d d	lmZmZmZmZmZ d d
lmZmZmZmZmZ erbd 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)RequestOptions)StripeObject)class_method_variantsanitize_id)ClassVarListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Account)Application)Customerc                   @   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ee ed< 	 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ed   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 d0d"ed* d$d fd1d.Zed)ed"ed* d$d fd2d3Z!eed)ed"ed* d$d fd4d5Z"ed"ed* d$d fd6d5Z"e d7d"ed* d$d fd8d5Z"ed"ed9 d$e#d  fd:d;Z$ed"ed9 d$e#d  fd<d=Z%eded"ed> d$d fd?d@Z&eded"ed> d$d fdAdBZ'e	e
dCZ(dDS )ETaxIda}  
    You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers) or account.
    Customer and account tax IDs get displayed on related invoices and credit notes.

    Related guides: [Customer tax identification numbers](https://stripe.com/docs/billing/taxes/tax-ids), [Account tax IDs](https://stripe.com/docs/invoicing/connect#account-tax-ids)
    tax_idOBJECT_NAMEc                   @   sP   e Zd ZU eed  ed< 	 eed  ed< 	 eed  ed< 	 ed ed< d	S )
zTaxId.Ownerr   accountr   applicationr   customerr   r   r   selftypeN)__name__
__module____qualname__r   r   __annotations__r    r%   r%   N/var/www/html/Trade-python/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   strr%   r%   r%   r&   Verification:      
 r0   c                   @   sD   e Zd ZU eee  ed< 	 ed ed< 	 ed ed< 	 eed< dS )TaxId.CreateParamsexpandTaxId.CreateParamsOwnerowner)Jad_nrtae_trnar_cuitau_abnau_arnbg_uicbh_vatbo_tinbr_cnpjbr_cpfca_bn
ca_gst_hst	ca_pst_bc	ca_pst_mb	ca_pst_skca_qstch_uidch_vatcl_tincn_tinco_nitcr_tinde_stndo_rcnec_ruceg_tines_cif
eu_oss_vateu_vatgb_vatge_vathk_brhr_oibhu_tinid_npwpil_vatin_gstis_vatjp_cnjp_rnjp_trnke_pinkr_brnkz_binli_uidmx_rfcmy_frpmy_itnmy_sstng_tinno_vatno_voecnz_gstom_vatpe_rucph_tinro_tinrs_pibru_innru_kppsa_vatsg_gstsg_uensi_tinsv_nitth_vattr_tintw_vatua_vatus_einuy_rucve_rifvn_tinza_vatr    valueN)r!   r"   r#   r   r   r/   r$   r   r%   r%   r%   r&   CreateParamsH   s   
 Lr   c                   @   6   e Zd ZU ee ed< 	 ee ed< 	 ed ed< dS )r4   r   r   r   r    Nr!   r"   r#   r   r/   r$   r   r%   r%   r%   r&   CreateParamsOwner   r1   r   c                   @   s   e Zd ZdS )TaxId.DeleteParamsN)r!   r"   r#   r%   r%   r%   r&   DeleteParams   s    r   c                   @   sV   e Zd ZU ee ed< 	 eee  ed< 	 ee ed< 	 ed ed< 	 ee ed< dS )TaxId.ListParamsending_beforer3   limitTaxId.ListParamsOwnerr5   starting_afterN)r!   r"   r#   r   r/   r$   r   intr%   r%   r%   r&   
ListParams   s   
 r   c                   @   r   )r   r   r   r   r    Nr   r%   r%   r%   r&   ListParamsOwner   r1   r   c                   @   s   e Zd ZU eee  ed< dS )TaxId.RetrieveParamsr3   N)r!   r"   r#   r   r   r/   r$   r%   r%   r%   r&   RetrieveParams   s   
 r   countrycreatedr   r   idlivemodeobjectr5   )Kr6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   unknownr{   r|   r}   r~   r   r    r   verificationTdeletedparamsr2   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&   createY  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_asyncg  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_deletew  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_async  s   zTaxId.delete_asyncc                    r   r   r%   r   r%   r%   r&   r     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&   list  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   r   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)r5   r   N))r!   r"   r#   __doc__r   r   r   r$   r   r'   r0   r   r   r   r   r   r   r   r   r   r/   r   r   boolclassmethodr   r   r   r   r   staticmethodr   r	   r   r   r   r   r   r   r   _inner_class_typesr%   r%   r%   r&   r      s   
 ]M

r   N)$stripe._createable_api_resourcer   stripe._deletable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._utilr	   r
   typingr   r   r   r   r   typing_extensionsr   r   r   r   r   stripe._accountr   stripe._applicationr   stripe._customerr   r   r%   r%   r%   r&   <module>   s&   
