
    _jW                         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 er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  G d ded                   ZdS )    )APIResource)
ListObject)StripeObject)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralUnpackTYPE_CHECKING)&TransactionCreateFromCalculationParams)TransactionCreateReversalParams)TransactionListLineItemsParams)TransactionRetrieveParams)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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d$            Zeded#         d d fd%            Zed&eded'         d ed         fd(            Zeed&eded'         d ed         fd)                        Zeded'         d ed         fd*            Z ed+          ded'         d ed         fd,            Zed&eded'         d ed         fd-            Zeed&eded'         d ed         fd.                        Zeded'         d ed         fd/            Z ed0          ded'         d ed         fd1            Zededed2         d d fd3            Z ededed2         d d fd4            Z!e	e
eed5Z"d6S )7Transactionz
    A Tax Transaction records the tax collected from or refunded to your customer.

    Related guide: [Calculate tax in your custom payment flow](https://docs.stripe.com/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__     [/var/www/app.qaans.com/backend/venv/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)q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lk_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pl_nip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/   >   sH         pr r r rf 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 	 	 	4z	 z	 z	 z	 z	L z	 z	 z	x '""""	 !)>!?@@@@	 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retail_delivery_feerst	sales_taxservice_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             |   (       : 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         Z	 Z	 Z	 Z	 Z	< Z	 Z	 Z	x 	 	  }$$$	 67777	  \ 23333	 	 .|<r*   r   createdcurrencycustomercustomer_detailsidr   
line_itemslivemodemetadataobject	posted_at	referencereversalship_from_detailsshipping_costtax_date)r  transactionr   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_items  sc     ,-?FF +K 8 8 G       	
 	
 		
r*   c                     dS r  Nr)   r  r  s     r+   list_line_itemszTransaction.list_line_items  s	     	r*   c                     dS r%  r)   selfr  s     r+   r'  zTransaction.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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_async$  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_async8  s       	r*   c                 
   K   dS r%  r)   r)  s     r+   r0  z!Transaction.list_line_items_asyncB  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+   r0  z!Transaction.list_line_items_asyncK  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 )r5  N)refresh_asyncr7  s       r+   retrieve_asynczTransaction.retrieve_asynch  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   boolr	   classmethodr   r  r  r  r  r#  r   staticmethodr'  r   r.  r0  r9  r<  r   r)   r*   r+   r   r      s          9JK'"345IIImD mD mD mD mD, mD mD mD^    <   2 2 2 2 2, 2 2 2<u= u= u= u= u=| u= u= u=n LLL MMM sm &%%%GGG $9:;;;; NNN tCH~&&&& %&&&& NNN NNN x      0000 L)))) MMM +
,,,, 
FG
	
 
 
 [
 
FG
	
 
 
 [
 
?@
	
 
 
 [
 
?@
	
 
 
 [
 

 9:
 
)	*	
 
 
 [
& $*+K$L	)	*   \ X ?@	)	*   X 011
?@
	)	*
 
 
 21
" 

 9:
 
)	*	
 
 
 [
& $*+K$L	)	*   \ X ?@	)	*   X 677
?@
	)	*
 
 
 87
"  &'B C	   [  &'B C	   [ ,,%	 r*   r   N)stripe._api_resourcer   stripe._list_objectr   stripe._stripe_objectr   stripe._utilr   r   typingr   r	   r
   r   r   r   typing_extensionsr   r   r   =stripe.params.tax._transaction_create_from_calculation_paramsr   5stripe.params.tax._transaction_create_reversal_paramsr   5stripe.params.tax._transaction_list_line_items_paramsr   .stripe.params.tax._transaction_retrieve_paramsr   !stripe.tax._transaction_line_itemr   r   r)   r*   r+   <module>rL     s|   - , , , , , * * * * * * . . . . . . : : : : : : : : A A A A A A A A A A A A A A A A < < < < < < < < < < F                     FEEEEE^	 ^	 ^	 ^	 ^	+m, ^	 ^	 ^	 ^	 ^	r*   