
    +h;V                         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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y)    )util)APIResource)
ListObject)RequestOptions)StripeObject)class_method_variant)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)TransactionLineItemc                      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erB 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d<   	 eed      ed<   	 eed<   	 eeeef      ed<   	 ed   ed<   	 eed <   	 ee
   ed!<   	 ee   ed"<   	 eed#<   	 ed$   ed%<   	 e	 	 	 d;d'ee   d(ee   d)ee   d*ed+   d,d f
d-       Ze	 	 	 d;d'ee   d(ee   d)ee   d*ed.   d,d f
d/       Ze	 	 	 d;d0ed'ee   d(ee   d)ee   d*ed1   d,ed   fd2       Ze e!	 	 	 d;d0ed'ee   d(ee   d)ee   d*ed1   d,ed   fd3              Z"e 	 d<d4ee   d*ed1   d,ed   fd5       Z" e#d6      	 d<d4ee   d*ed1   d,ed   fd7       Z"eded*ed8   d,d fd9       Z$e	e
ed:Z%y&)=Transactionz
    A Tax Transaction records the tax collected from or refunded to your customer.

    Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom#tax-transaction)
    ztax.transaction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y)Transaction.CustomerDetailsc                   r    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<   y)#Transaction.CustomerDetails.Addresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     W/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/tax/transaction.pyAddressr   "   sa    3- L C=  C=  "#& C= r)   r+   c                   *    e Zd ZU ed   ed<   	 eed<   y)!Transaction.CustomerDetails.TaxId)Cad_nrtae_trnar_cuitau_abnau_arnbg_uicbo_tinbr_cnpjbr_cpfca_bn
ca_gst_hst	ca_pst_bc	ca_pst_mb	ca_pst_skca_qstch_vatcl_tincn_tinco_nitcr_tin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li_uidmx_rfcmy_frpmy_itnmy_sstno_vatnz_gst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-   <   s)    BD DJ Jr)   rs   address)billingshippingaddress_source
ip_addresstax_ids)customer_exemptnonereverse_chargetaxability_override)rt   ry   N)r#   r$   r%   r   r+   rs   r   r'   r   r&   r   _inner_class_typesr(   r)   r*   CustomerDetailsr   !   s    	l 	4L	L L	\ '""	 !)>!?@@	 SM!	 e	 %7
 	
	 *1UCr)   r   c                       e Zd ZU ee   ed<   y)Transaction.Reversaloriginal_transactionNr"   r(   r)   r*   Reversalr      s    &sm+	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y
)Transaction.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
y)%Transaction.ShippingCost.TaxBreakdownc                   H    e Zd ZU eed<   	 eed<   	 ed   ed<   	 ee   ed<   y)2Transaction.ShippingCost.TaxBreakdown.Jurisdictionr   display_name)r   r   countydistrictr!   levelr!   N)r#   r$   r%   r&   r'   r   r   r(   r)   r*   Jurisdictionr      sA     "! D   }$r)   r   c                   6    e Zd ZU eed<   	 eed<   	 ed   ed<   y)4Transaction.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      s3    !! %(' " r)   r   amountjurisdiction)destinationoriginsourcingtax_rate_details)rz   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 K '&5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	t 	 	  }$	 677	  \ 233	 	 .|<r)   r   c                   H    e Zd ZU eed<   	 ed   ed<   	 ed   ed<   	 eed<   y)'Transaction.CreateFromCalculationParamscalculation	List[str]expandDict[str, str]metadata	referenceN)r#   r$   r%   r&   r'   r   r(   r)   r*   CreateFromCalculationParamsr     s>      ,, ""233 Nr)   r   c                       e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed	   ed
<   	 eed<   	 eed<   	 ed   ed<   y) Transaction.CreateReversalParamsr   r   r   flat_amountz.List[Transaction.CreateReversalParamsLineItem]
line_itemsr   r   )fullpartialmoder   r   ,Transaction.CreateReversalParamsShippingCostshipping_costN)r#   r$   r%   r   r'   r   r&   r(   r)   r*   CreateReversalParamsr   1  s    ,, %U++ $@  ""233 +,, #&% N '> r)   r   c                   $    e Zd ZU eed<   	 eed<   y)r   r   r   N)r#   r$   r%   r   r'   r(   r)   r*    CreateReversalParamsShippingCostz,Transaction.CreateReversalParamsShippingCostW  s    K Or)   r   c                   `    e Zd ZU eed<   	 eed<   	 ed   ed<   	 eed<   	 ed   ed<   	 eed<   y	)
(Transaction.CreateReversalParamsLineItemr   r   r   r   original_line_itemr   quantityr   N)r#   r$   r%   r   r'   r   r&   r(   r)   r*   CreateReversalParamsLineItemr   a  sV    K O ""233 !$# "%(( Nr)   r   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)	Transaction.ListLineItemsParamsr&   ending_beforer   r   r   limitstarting_afterNr#   r$   r%   r   r'   r(   r)   r*   ListLineItemsParamsr   {  sH    &u--  ,, u%% (..r)   r   c                       e Zd ZU ed   ed<   y)Transaction.RetrieveParamsr   r   Nr   r(   r)   r*   RetrieveParamsr     s    ,,r)   r   createdcurrencycustomercustomer_detailsidr   r   livemoder   objectr   reversalr   tax_date)r   transactionrq   Napi_keystripe_versionstripe_accountparamsr   returnc                 D    t        d| j                  dd||||            S )z?
        Creates a Tax Transaction from a calculation.
        r   postz,/v1/tax/transactions/create_from_calculationr   r   r   r   r   _static_requestclsr   r   r   r   s        r*   create_from_calculationz#Transaction.create_from_calculation  s9     >--   

 
	
r)   r   c                 D    t        d| j                  dd||||            S )zO
        Partially or fully reverses a previously created Transaction.
        r   r   z$/v1/tax/transactions/create_reversalr   r   r   s        r*   create_reversalzTransaction.create_reversal  s9     6--   

 
	
r)   r   r   c                     t        t        d   | j                  ddj                  t	        j
                  |            ||||            S )a
        Retrieves the line items of a committed standalone transaction as a collection.
        r   get-/v1/tax/transactions/{transaction}/line_itemsr   r   )r   r   r   formatr   sanitize_id)r   r   r   r   r   r   s         r*   _cls_list_line_itemsz Transaction._cls_list_line_items  s`     ,-?FF $ 0 0 = G   --   	
 	
r)   c                      yr   Nr(   )r   r   r   r   r   s        r*   list_line_itemszTransaction.list_line_items  s     	r)   idempotency_keyc                      yr  r(   selfr  r   s      r*   r  zTransaction.list_line_items  s     	r)   r  c                     t        t        d   | j                  ddj                  t	        j
                  | j                  d                  ||            S )r   r   r   r   r   r   )r  r   )r   r   _requestr  r   r  r   r	  s      r*   r  zTransaction.list_line_items*  s`     ,-MM?FF $ 0 0$ @ G  !0  

 
	
r)   r   c                 8     | |fi |}|j                          |S )z5
        Retrieves a Tax Transaction object.
        )refresh)r   r   r   instances       r*   retrievezTransaction.retrieve?  s$     r$V$r)   )r   r   r   )NNN)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   boolr
   classmethodr   r   r   r  r   staticmethodr  r   r  r~   r(   r)   r*   r   r      s    9JK'"345ID, DB< s=| s=j 	. 	$$	> $	L	y 		9 	4	. 	$	^ 	 L M sm &%G $9:;; N tCH~&& %&& N x   L)) M +
,,  "&(,(,	
#
 !
 !	

 BC
 

 
,  "&(,(,	
#
 !
 !	

 ;<
 

 
,  "&(,(,

 #
 !	

 !
 :;
 
)	*
 
2  "&(,(,	

#
 !
 !	

 :;
 
)	*
  
  *.!# :; 
)	*	  01 *.
!#
 :;
 
)	*	
 2
(  &'C D	  ,%r)   r   N)striper   stripe.api_resources.abstractr    stripe.api_resources.list_objectr   stripe.request_optionsr   stripe.stripe_objectr   stripe.utilr   typingr	   r
   r   r   r   r   typing_extensionsr   r   r   r   r   .stripe.api_resources.tax.transaction_line_itemr   r   r(   r)   r*   <module>r     sF     5 7 1 - , A A  
v+m, vr)   