
    jofG~                         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rd dlmZ  G d	 d
ed
                   ZdS )    )CreateableAPIResource)
ListObject)RequestOptions)StripeObject)class_method_variantsanitize_id)ClassVarListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)CalculationLineItemc            	       >   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ed<   	 eed<   	 ee         ed <   	 e	ed!<   ee         ed"<   	 ee         ed#<   	 eed$                  ed%<   	 eed&<   	 ed         ed'<   	 ee
         ed(<   	 ee         ed)<   	 eed*<   	 eed+<   	 ee         ed,<   	 eed-<   	 ed.ed/         d0d fd1            Z ed.ed/         d0d fd2            Z!ed3ed.ed4         d0ed$         fd5            Z"e#e$d3ed.ed4         d0ed$         fd6                        Z%e#d.ed4         d0ed$         fd7            Z% e&d8          d.ed4         d0ed$         fd9            Z%ed3ed.ed4         d0ed$         fd:            Z'e#e$d3ed.ed4         d0ed$         fd;                        Z(e#d.ed4         d0ed$         fd<            Z( e&d=          d.ed4         d0ed$         fd>            Z(e	e
eed?Z)d@S )ACalculationz
    A Tax Calculation allows you to calculate the tax to collect from your customer.

    Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom)
    ztax.calculationOBJECT_NAMEc                       e Zd ZU  G d de          Z G d de          Zee         ed<   	 eed                  ed<   	 ee	         ed<   	 e
e         ed	<   	 ed
         ed<   	 eedZdS )Calculation.CustomerDetailsc                       e Zd ZU ee         ed<   	 eed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )#Calculation.CustomerDetails.Addresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     Q/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/tax/_calculation.pyAddressr               3- LLL C=    C=    "#&&& C=    r(   r*   c                   2    e Zd ZU ed         ed<   	 eed<   dS )!Calculation.CustomerDetails.TaxId)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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unknownus_einuy_rucve_rifvn_tinza_vattypevalueNr"   r#   r$   r   r&   r%   r'   r(   r)   TaxIdr-   9   sH         IK K K KX JJJ r(   r{   addressbillingshippingaddress_source
ip_addresstax_idscustomer_exemptnonereverse_chargetaxability_override)r|   r   N)r"   r#   r$   r   r*   r{   r   r&   r   r%   r
   _inner_class_typesr'   r(   r)   CustomerDetailsr      s        	 	 	 	 	l 	 	 	4S	 S	 S	 S	 S	L S	 S	 S	j '""""	 !)>!?@@@@	 SM!!!	 e	 %7
 	
 	
 	
	 *1UCCr(   r   c                   >    e Zd ZU  G d de          Zeed<   deiZdS )Calculation.ShipFromDetailsc                       e Zd ZU ee         ed<   	 eed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )#Calculation.ShipFromDetails.Addressr   r   r   r   r   r    Nr!   r'   r(   r)   r*   r      r+   r(   r*   r|   N)r"   r#   r$   r   r*   r&   r   r'   r(   r)   ShipFromDetailsr      sU         	 	 	 	 	l 	 	 	4 '1r(   r   c                       e Zd ZU  G d de          Zeed<   	 eed<   	 ee         ed<   	 e	d         ed<   	 ee
e                  ed<   	 eed	<   	 deiZd
S )Calculation.ShippingCostc                       e Zd ZU  G d de          Z G d de          Zeed<   	 eed<   ed         ed<   	 e	e         ed	<   	 ed
         ed<   	 eed<   	 eedZ
dS )%Calculation.ShippingCost.TaxBreakdownc                   V    e Zd ZU eed<   	 eed<   	 ed         ed<   	 ee         ed<   dS )2Calculation.ShippingCost.TaxBreakdown.Jurisdictionr   display_name)r   r   countydistrictr    levelr    N)r"   r#   r$   r%   r&   r   r   r'   r(   r)   Jurisdictionr      sj          "!!! D     }$$$ r(   r   c                   >    e Zd ZU eed<   	 eed<   	 ed         ed<   dS )4Calculation.ShippingCost.TaxBreakdown.TaxRateDetailsr   percentage_decimalamusement_taxcommunications_taxgsthstigstjct	lease_taxpstqstrst	sales_taxvattax_typeN)r"   r#   r$   r%   r&   r   r'   r(   r)   TaxRateDetailsr      sX         !!!! %(''' "    r(   r   amountjurisdiction)destinationoriginsourcingtax_rate_detailsr   not_collectingnot_subject_to_taxnot_supportedportion_product_exemptportion_reduced_ratedportion_standard_ratedproduct_exemptproduct_exempt_holidayproportionally_ratedreduced_ratedr   standard_ratedtaxable_basis_reduced
zero_ratedtaxability_reasontaxable_amount)r   r   N)r"   r#   r$   r   r   r   intr&   r   r   r   r'   r(   r)   TaxBreakdownr      s             |   (       6 KKK '&&&56666 '~6666  '    "   !-$2" "r(   r   r   
amount_taxshipping_rate	exclusive	inclusivetax_behaviortax_breakdowntax_codeN)r"   r#   r$   r   r   r   r&   r   r%   r   r
   r   r'   r(   r)   ShippingCostr      s         X	 X	 X	 X	 X	< X	 X	 X	t 	 	  }$$$	 67777	  \ 23333	 	 .|<r(   r   c                   z    e Zd ZU  G d de          Zeed<   	 eed<   	 eed<   ed         ed<   	 eed<   	 deiZ	d	S )
Calculation.TaxBreakdownc                   n    e Zd ZU ee         ed<   	 eed<   	 ee         ed<   	 eed                  ed<   dS )'Calculation.TaxBreakdown.TaxRateDetailsr   r   r    r   r   N)r"   r#   r$   r   r%   r&   r   r'   r(   r)   r   r   :  s{         c]""" !$### C=         r(   r   r   r   r   r   r   r   N)
r"   r#   r$   r   r   r   r&   boolr   r   r'   r(   r)   r   r   9  s         	 	 	 	 	\ 	 	 	B 	 	 )((("
 	
 	
 	
"	 	 1.Ar(   r   c                       e Zd ZU eed<   	 ee         ed<   	 ed         ed<   	 eee                  ed<   	 ed         ed<   	 ed         ed	<   	 ed
         ed<   	 ee         ed<   dS )Calculation.CreateParamscurrencycustomer'Calculation.CreateParamsCustomerDetailscustomer_detailsexpand Calculation.CreateParamsLineItem
line_items'Calculation.CreateParamsShipFromDetailsship_from_details$Calculation.CreateParamsShippingCostshipping_costtax_dateN)r"   r#   r$   r%   r&   r   r
   r   r'   r(   r)   CreateParamsr   ~  s         	 c""""	 &5
 	
 	
 	
	 DI&&&&	 ;<<<<	 '5
 	
 	
 	
	 ##IJJJJ	 c""""	 	r(   r   c                       e Zd ZU ed         ed<   	 eed                  ed<   	 ee         ed<   	 eed                  ed<   	 eed                  ed	<   d
S )r   .Calculation.CreateParamsCustomerDetailsAddressr|   r}   r   r   ,Calculation.CreateParamsCustomerDetailsTaxIdr   r   r   N)r"   r#   r$   r   r&   r   r%   r
   r'   r(   r)   CreateParamsCustomerDetailsz'Calculation.CreateParamsCustomerDetails  s         MNNNN	 $G,A$BCCCC	  $$$$	 ?@
 	
 	
 	
	 )?@
 	
 	
 	
	 	r(   r   c                       e Zd ZU ed         ed<   	 eed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   dS )	r   Literal['']|strr   r   r   r   r   r    Nr"   r#   r$   r   r&   r%   r'   r(   r)   "CreateParamsCustomerDetailsAddressz.Calculation.CreateParamsCustomerDetailsAddress           +,,,,	 	 ,----	 ,----	 !!23333	 ,----	 	r(   r   c                   2    e Zd ZU ed         ed<   	 eed<   dS )r   )Ir.   r/   r0   r1   r2   r3   r4   r5   r6   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   rs   rt   ru   rv   rw   rx   ry   Nrz   r'   r(   r)    CreateParamsCustomerDetailsTaxIdz,Calculation.CreateParamsCustomerDetailsTaxId  sH         HJ
 J	
 J	
 J	
V	 


	 	r(   r   c                       e Zd ZU eed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 eed                  ed<   	 ee         ed<   dS )	r   r   productquantity	referencer   r   r   N)r"   r#   r$   r   r&   r   r%   r   r'   r(   r)   CreateParamsLineItemz Calculation.CreateParamsLineItem,  s         	 S!!!!	 c""""	 s####	 "'*B"CDDDD	 c""""	 	r(   r   c                       e Zd ZU ded<   dS )r   .Calculation.CreateParamsShipFromDetailsAddressr|   N)r"   r#   r$   r&   r'   r(   r)   CreateParamsShipFromDetailsz'Calculation.CreateParamsShipFromDetailsI  s"         AAAA	 	r(   r   c                       e Zd ZU ed         ed<   	 eed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   dS )	r   r   r   r   r   r   r   r    Nr   r'   r(   r)   "CreateParamsShipFromDetailsAddressz.Calculation.CreateParamsShipFromDetailsAddressO  r   r(   r   c                   z    e Zd ZU ee         ed<   	 ee         ed<   	 eed                  ed<   	 ee         ed<   dS )r   r   r   r   r   r   N)r"   r#   r$   r   r   r&   r%   r   r'   r(   r)   CreateParamsShippingCostz$Calculation.CreateParamsShippingCosti  su         C    	 #3''''	 "'*B"CDDDD	 c""""	 	r(   r   c                   z    e Zd ZU ee         ed<   	 eee                  ed<   	 ee         ed<   	 ee         ed<   dS )Calculation.ListLineItemsParamsending_beforer   limitstarting_afterN)r"   r#   r$   r   r%   r&   r
   r   r'   r(   r)   ListLineItemsParamsr   {  ss         "3''''	 DI&&&&	 3	 $C((((	 	r(   r   amount_totalr   r   r   
expires_atidr   r   livemodeobjectr   r   tax_amount_exclusivetax_amount_inclusiver   r   paramsr   returnc                 r    t          d|                     d|                                 |                    S )Y
        Calculates tax based on the input and returns a Tax Calculation object.
        r   postr  )r   _static_request	class_urlclsr  s     r)   createzCalculation.create  sB         
 
 	
r(   c                    K   t          d|                     d|                                 |           d{V           S )r  r   r	  r
  N)r   _static_request_asyncr  r  s     r)   create_asynczCalculation.create_async  sd       ++ ,        
 
 	
r(   calculationr   c                     t          t          d         |                     dd                    t	          |                    |                    S )s
        Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired.
        r   get-/v1/tax/calculations/{calculation}/line_itemsr  r
  )r   r   r  formatr   r  r  r  s      r)   _cls_list_line_itemsz Calculation._cls_list_line_items  sc     ,-?FF +K 8 8 G       	
 	
 		
r(   c                     dS r  Nr'   r  r  s     r)   list_line_itemszCalculation.list_line_items  s	     	r(   c                     dS r  r'   selfr  s     r)   r  zCalculation.list_line_items  s	     	r(   r  c                     t          t          d         |                     dd                    t	          |                     d                              |                    S )r  r   r  r  r   r  r
  )r   r   _requestr  r   r  r!  s     r)   r  zCalculation.list_line_items  sk     ,-MM?FF +DHHTNN ; ; G      	
 	
 		
r(   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )r  r   r  r  r  r
  N)r   r   r  r  r   r  s      r)   _cls_list_line_items_asyncz&Calculation._cls_list_line_items_async   s       ,-++?FF +K 8 8 G    ,        	
 	
 		
r(   c                 
   K   dS r  r'   r  s     r)   list_line_items_asyncz!Calculation.list_line_items_async4  s       	r(   c                 
   K   dS r  r'   r!  s     r)   r(  z!Calculation.list_line_items_async>  s       	r(   r&  c                    K   t          t          d         |                     dd                    t	          |                     d                              |           d{V           S )r  r   r  r  r   r  r
  N)r   r   _request_asyncr  r   r  r!  s     r)   r(  z!Calculation.list_line_items_asyncG  s       ,-%%?FF +DHHTNN ; ; G    &        	
 	
 		
r(   )r   r   r   r   N)*r"   r#   r$   __doc__r   r	   r   r&   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r%   r   r   r   r
   classmethodr   r  r  r  r   staticmethodr  r   r&  r(  r   r'   r(   r)   r   r      s          9JK'"345IIIFD FD FD FD FD, FD FD FDP2 2 2 2 2, 2 2 2<s= s= s= s= s=| s= s= s=jCB CB CB CB CB| CB CB CBJ$ $ $ $ $~ $ $ $L    i   4    Y   4R R R R R9 R R Rh    y   :    i       Y   4    9   $    n   $  MMM sm &%%% 	 $9:;;;; NNN %&&&&  0000 L))))   %%%% MMM 
89
	
 
 
 [
 
89
	
 
 
 [
 

 :;
 
)	*	
 
 
 [
& $*+L$M	)	*   \ X @A	)	*   X 011
@A
	)	*
 
 
 21
" 

 :;
 
)	*	
 
 
 [
& $*+L$M	)	*   \ X @A	)	*   X 677
@A
	)	*
 
 
 87
$ ,,%%	 r(   r   N)stripe._createable_api_resourcer   stripe._list_objectr   stripe._request_optionsr   stripe._stripe_objectr   stripe._utilr   r   typingr	   r
   r   r   r   typing_extensionsr   r   r   r   r   !stripe.tax._calculation_line_itemr   r   r'   r(   r)   <module>r7     s9   B A A A A A * * * * * * 2 2 2 2 2 2 . . . . . . : : : : : : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ;               FEEEEEEI I I I I'6 I I I I Ir(   