
    joff                         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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 )    )APIResource)
ListObject)RequestOptions)StripeObject)class_method_variantsanitize_id)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 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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d#<   	 ee
         ed$<   	 ee         ed%<   	 ee         ed&<   	 eed'<   	 ed(         ed)<   	 ed*ed+         d,d fd-            Zed*ed+         d,d fd.            Zed*ed/         d,d fd0            Zed*ed/         d,d fd1            Z ed2ed*ed3         d,ed         fd4            Z!e"e#d2ed*ed3         d,ed         fd5                        Z$e"d*ed3         d,ed         fd6            Z$ e%d7          d*ed3         d,ed         fd8            Z$ed2ed*ed3         d,ed         fd9            Z&e"e#d2ed*ed3         d,ed         fd:                        Z'e"d*ed3         d,ed         fd;            Z' e%d<          d*ed3         d,ed         fd=            Z'eded*ed>         d,d fd?            Z(eded*ed>         d,d fd@            Z)e	e
eedAZ*dBS )C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dS )Transaction.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 )#Transaction.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/_transaction.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 )!Transaction.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 ee         ed<   dS )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<   deiZdS )Transaction.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 )#Transaction.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 )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
dS )%Transaction.ShippingCost.TaxBreakdownc                   V    e Zd ZU eed<   	 eed<   	 ed         ed<   	 ee         ed<   dS )2Transaction.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 )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      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                       e Zd ZU eed<   	 eee                  ed<   	 eeeef                  ed<   	 ee         ed<   	 eed<   dS )'Transaction.CreateFromCalculationParamscalculationexpandmetadata	posted_at	referenceN)	r#   r$   r%   r&   r'   r   r   r
   r   r(   r)   r*   CreateFromCalculationParamsr   ?  s         	 DI&&&&	 d38n----	 s####	 	 	r)   r   c                       e Zd ZU eee                  ed<   	 ee         ed<   	 eed                  ed<   	 eeeef                  ed<   	 e	d         ed<   	 eed<   	 eed	<   	 ed
         ed<   dS ) Transaction.CreateReversalParamsr   flat_amount(Transaction.CreateReversalParamsLineItem
line_itemsr   )fullpartialmoder   r   ,Transaction.CreateReversalParamsShippingCostshipping_costN)
r#   r$   r%   r   r   r&   r'   r   r
   r   r(   r)   r*   CreateReversalParamsr   U  s         DI&&&&	 !%%%%	  ;<
 	
 	
 	
	 d38n----	 '((((	 "!!!	 	 #:
 	
 	
 	
	 	r)   r   c                   ~    e Zd ZU eed<   	 eed<   	 eeeef                  ed<   	 eed<   	 ee         ed<   	 eed<   dS )r   r   r   r   original_line_itemquantityr   N)r#   r$   r%   r   r'   r   r
   r&   r(   r)   r*   CreateReversalParamsLineItemz(Transaction.CreateReversalParamsLineItem{  s         	 	 d38n----	  	 c""""	 	 	r)   r   c                   &    e Zd ZU eed<   	 eed<   dS )r   r   r   N)r#   r$   r%   r   r'   r(   r)   r*    CreateReversalParamsShippingCostz,Transaction.CreateReversalParamsShippingCost  s/         	 	 	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 )Transaction.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   c                   2    e Zd ZU eee                  ed<   dS )Transaction.RetrieveParamsr   N)r#   r$   r%   r   r   r&   r'   r(   r)   r*   RetrieveParamsr     s+         DI&&&&	 	r)   r   createdcurrencycustomercustomer_detailsidr   r   livemoder   objectr   r   reversalship_from_detailsr   tax_date)r   transactionry   paramsr   returnc                 N    t          d|                     dd|                    S )
        Creates a Tax Transaction from a calculation, if that calculation hasn't expired. Calculations expire after 90 days.
        r   post,/v1/tax/transactions/create_from_calculationr   r   _static_requestclsr   s     r*   create_from_calculationz#Transaction.create_from_calculation  s:     >    
 
 	
r)   c                 ^   K   t          d|                     dd|           d{V           S )r   r   r   r   r   Nr   _static_request_asyncr  s     r*   create_from_calculation_asyncz)Transaction.create_from_calculation_async  s\       ++> ,        
 
 	
r)   r   c                 N    t          d|                     dd|                    S )O
        Partially or fully reverses a previously created Transaction.
        r   r   $/v1/tax/transactions/create_reversalr   r   r  s     r*   create_reversalzTransaction.create_reversal  s:     6    
 
 	
r)   c                 ^   K   t          d|                     dd|           d{V           S )r
  r   r   r  r   Nr  r  s     r*   create_reversal_asyncz!Transaction.create_reversal_async%  s\       ++6 ,        
 
 	
r)   r   r   c                     t          t          d         |                     dd                    t	          |                    |                    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   r  r   r   s      r*   _cls_list_line_itemsz Transaction._cls_list_line_items5  sc     ,-?FF +K 8 8 G       	
 	
 		
r)   c                     dS r  Nr(   r   r   s     r*   list_line_itemszTransaction.list_line_itemsI  s	     	r)   c                     dS r  r(   selfr   s     r*   r  zTransaction.list_line_itemsS  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Transaction.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&Transaction._cls_list_line_items_asyncn  s       ,-++?FF +K 8 8 G    ,        	
 	
 		
r)   c                 
   K   dS r  r(   r  s     r*   list_line_items_asyncz!Transaction.list_line_items_async  s       	r)   c                 
   K   dS r  r(   r  s     r*   r#  z!Transaction.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!Transaction.list_line_items_async  s       ,-%%?FF +DHHTNN ; ; G    &        	
 	
 		
r)   r   c                 @     | |fi |}|                                  |S )5
        Retrieves a Tax Transaction object.
        )refreshr  r   r   instances       r*   retrievezTransaction.retrieve  s2     3r$$V$$r)   c                 P   K    | |fi |}|                                  d{V  |S )r(  N)refresh_asyncr*  s       r*   retrieve_asynczTransaction.retrieve_async  sH       3r$$V$$$$&&&&&&&&&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   boolr
   classmethodr   r  r  r  r  r  r   staticmethodr  r   r!  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    n   ,$ $ $ $ $~ $ $ $L    y   4    9       n   $        LLL MMM sm &%%%GGG $9:;;;; NNN tCH~&&&& %&&&& NNN NNN x      0000 L)))) MMM +
,,,, 
GH
	
 
 
 [
 
GH
	
 
 
 [
 
@A
	
 
 
 [
 
@A
	
 
 
 [
 

 :;
 
)	*	
 
 
 [
& $*+L$M	)	*   \ X @A	)	*   X 011
@A
	)	*
 
 
 21
" 

 :;
 
)	*	
 
 
 [
& $*+L$M	)	*   \ X @A	)	*   X 677
@A
	)	*
 
 
 87
"  &'C D	   [  &'C D	   [ ,,%	 r)   r   N)stripe._api_resourcer   stripe._list_objectr   stripe._request_optionsr   stripe._stripe_objectr   stripe._utilr   r   typingr	   r
   r   r   r   r   typing_extensionsr   r   r   r   r   !stripe.tax._transaction_line_itemr   r   r(   r)   r*   <module>r<     s=   - , , , , , * * * * * * 2 2 2 2 2 2 . . . . . . : : : : : : : : A A A A A A A A A A A A A A A A               FEEEEEEm
 m
 m
 m
 m
+m, m
 m
 m
 m
 m
r)   