
    <@gj                         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y)    )APIResource)
ListObject)RequestOptions)StripeObject)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)TransactionLineItemc            	       H   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*yB)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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__     V/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/tax/_transaction.pyAddressr      a    3- L C=  C=  "#& C= r)   r+   c                   *    e Zd ZU ed   ed<   	 eed<   y)!Transaction.CustomerDetails.TaxId)ead_nrtae_trnal_tinam_tinao_tinar_cuitau_abnau_arnba_tinbb_tinbg_uicbh_vat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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gn_nifhk_brhr_oibhu_tinid_npwpil_vatin_gstis_vatjp_cnjp_rnjp_trnke_pinkh_tinkr_brnkz_binli_uidli_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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_tintypevalueN)r#   r$   r%   r   r'   r&   r(   r)   r*   TaxIdr.   9   s)    df fN J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 	4n	L n	` '""	 !)>!?@@	 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                   6    e Zd ZU  G d de      Zeed<   deiZy)Transaction.ShipFromDetailsc                   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.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      s!    	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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retail_delivery_feerst	sales_taxservice_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)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    | ( : 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}    Z	< Z	x 	 	  }$	 677	  \ 233	 	 .|<r)   r   c                   j    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<   y)'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<   y) 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   r  s    DI&&	 !%%	  ;<
 	
	 d38n--	 '((	 "!	 	 #:
 	
	r)   r   c                   j    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<   y)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<   y)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<   y)Transaction.ListLineItemsParamsending_beforer   limitstarting_afterN)r#   r$   r%   r   r&   r'   r   r   r(   r)   r*   ListLineItemsParamsr    sL    "3''	 DI&&	 3	 $C((	r)   r  c                   $    e Zd ZU eee      ed<   y)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  transactionr   paramsr   returnc                 >    t        d| j                  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  s0     >   
 	
r)   c                 Z   K   t        d| j                  dd|       d{         S 7 w)r  r   r  r  r  Nr   _static_request_asyncr  s     r*   create_from_calculation_asyncz)Transaction.create_from_calculation_async"  s>      ++> ,  
 	
   +)
	+r   c                 >    t        d| j                  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_reversal2  s0     6   
 	
r)   c                 Z   K   t        d| j                  dd|       d{         S 7 w)r(  r   r  r)  r  Nr#  r  s     r*   create_reversal_asyncz!Transaction.create_reversal_asyncB  s>      ++6 ,  
 	
r&  r  r  c                 ~    t        t        d   | j                  ddj                  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_itemsR  sQ     ,-?FF +K 8 G     	
 		
r)   c                      yr.  Nr(   r  r  s     r*   list_line_itemszTransaction.list_line_itemsf  s     	r)   c                      yr6  r(   selfr  s     r*   r8  zTransaction.list_line_itemsp  s     	r)   r4  c                     t        t        d   | j                  ddj                  t	        | j                  d                  |            S )r.  r   r/  r0  r  r1  r  )r   r   _requestr2  r   r/  r:  s     r*   r8  zTransaction.list_line_itemsy  sW     ,-MM?FF +DHHTN ; G    	
 		
r)   c                    K   t        t        d   | j                  ddj                  t	        |            |       d{         S 7 w)r.  r   r/  r0  r1  r  N)r   r   r$  r2  r   r3  s      r*   _cls_list_line_items_asyncz&Transaction._cls_list_line_items_async  s_      ,-++?FF +K 8 G   ,  	
 		
s   >A A	
	Ac                    K   ywr6  r(   r7  s     r*   list_line_items_asyncz!Transaction.list_line_items_async  s      	   c                    K   ywr6  r(   r:  s     r*   rA  z!Transaction.list_line_items_async  s      	rB  r?  c                    K   t        t        d   | j                  ddj                  t	        | j                  d                  |       d{         S 7 w)r.  r   r/  r0  r  r1  r  N)r   r   _request_asyncr2  r   r/  r:  s     r*   rA  z!Transaction.list_line_items_async  sg      ,-%%?FF +DHHTN ; G   &  	
 		
s   AAA
	Ar	  c                 8     | |fi |}|j                          |S )5
        Retrieves a Tax Transaction object.
        )refreshr   r  r  instances       r*   retrievezTransaction.retrieve  s$     r$V$r)   c                 T   K    | |fi |}|j                          d{    |S 7 w)rG  N)refresh_asyncrI  s       r*   retrieve_asynczTransaction.retrieve_async  s3      r$V$$$&&& 	's   (&()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,  r4  r   staticmethodr8  r   r?  rA  rK  rN  r   r(   r)   r*   r   r      s    9JK'"345IaD, aDF< 2, 2<u=| u=nn ,$~ $Ly 49 n $  L M sm &%G $9:;; N tCH~&& %&& N N x    00 L)) M +
,, 
GH
	
 
 
GH
	
 
 
@A
	
 
 
@A
	
 
 

 :;
 
)	*	
 
& $*+L$M	)	*   @A	)	*  01
@A
	)	*
 2
" 

 :;
 
)	*	
 
& $*+L$M	)	*   @A	)	*  67
@A
	)	*
 8
"  &'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[     sA    - * 2 . : A A  EJ+m, Jr)   