
    hWl                         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__     W/var/www/api/v1/venv_getwork_v1/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)oad_nrtae_trnal_tinam_tinao_tinar_cuitau_abnau_arnaw_tinaz_tinba_tinbb_tinbd_binbf_ifubg_uicbh_vatbj_ifu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cm_niucn_tinco_nitcr_tincv_nifde_stndo_rcnec_ruceg_tines_cifet_tin
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kg_tinkh_tinkr_brnkz_binla_tin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)    np pb 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 	4x	L x	t '""	 !)>!?@@	 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   f  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   |  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_reversal<  s0     6   
 	
r)   c                 Z   K   t        d| j                  dd|       d{         S 7 w)r2  r   r$  r3  r&  Nr-  r)  s     r*   create_reversal_asyncz!Transaction.create_reversal_asyncL  s>      ++6 ,  
 	
r0  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_items\  sQ     ,-?FF +K 8 G     	
 		
r)   c                      yr8  Nr(   r  r   s     r*   list_line_itemszTransaction.list_line_itemsp  s     	r)   c                      yr@  r(   selfr   s     r*   rB  zTransaction.list_line_itemsz  s     	r)   r>  c                     t        t        d   | j                  ddj                  t	        | j                  d                  |            S )r8  r   r9  r:  r  r;  r&  )r   r   _requestr<  r   r9  rD  s     r*   rB  zTransaction.list_line_items  sW     ,-MM?FF +DHHTN ; G    	
 		
r)   c                    K   t        t        d   | j                  ddj                  t	        |            |       d{         S 7 w)r8  r   r9  r:  r;  r&  N)r   r   r.  r<  r   r=  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r@  r(   rA  s     r*   list_line_items_asyncz!Transaction.list_line_items_async  s      	   c                    K   ywr@  r(   rD  s     r*   rK  z!Transaction.list_line_items_async  s      	rL  rI  c                    K   t        t        d   | j                  ddj                  t	        | j                  d                  |       d{         S 7 w)r8  r   r9  r:  r  r;  r&  N)r   r   _request_asyncr<  r   r9  rD  s     r*   rK  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)rQ  N)refresh_asyncrS  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/  r4  r6  r>  r   staticmethodrB  r   rI  rK  rU  rX  r   r(   r)   r*   r   r      s    9JK'"345IkD, kDZ< 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>re     sA    - * 2 . : A A  ET+m, Tr)   