
    _jIz                         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 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r0d 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% d dl&m'Z'  G d ded         e	d                   Z(dS )    )ExpandableField)
ListObject)ListableAPIResource)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralUnpackTYPE_CHECKING)BalanceTransaction)Charge)File)PaymentIntent)DisputeCloseParams)DisputeListParams)DisputeModifyParams)DisputeRetrieveParamsc                      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ed
<   	 ed         ed<   	 ed         ed<   	 eed<   	 eed<   	 eed                  ed<   	 e	ed<   e
ed<   eed<   	 eed<   	 eed<   	 eeef         ed<   	 ee         ed<   	 ed         ed<   	 eed                  ed<   	 ee         ed<   eed<   	 ed         ed <   	 eded!ed"         d#d fd$            Zeeded!ed"         d#d fd%                        Zed!ed"         d#d fd&            Z ed'          d!ed"         d#d fd(            Zeded!ed"         d#d fd)            Zeeded!ed"         d#d fd*                        Zed!ed"         d#d fd+            Z ed,          d!ed"         d#d fd-            Zed!ed.         d#ed          fd/            Zed!ed.         d#ed          fd0            Zeded!ed1         d#d fd2            Zeded!ed1         d#d fd3            Z eded!ed4         d#d fd5            Z!eded!ed4         d#d fd6            Z"e	e
ed7Z#d8S )9Disputea)  
    A dispute occurs when a customer questions your charge with their card issuer.
    When this happens, you have the opportunity to respond to the dispute with
    evidence that shows that the charge is legitimate.

    Related guide: [Disputes and fraud](https://docs.stripe.com/disputes)
    disputeOBJECT_NAMEc                   2   e Zd ZU  G d de          Zee         ed<   	 ee         ed<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   	 eed                  ed	<   	 ee         ed
<   	 ee         ed<   	 ee         ed<   	 eed                  ed<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   	 eed<   ee         ed<   	 eed                  ed<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 eed                  ed<   	 ee         ed<   	 eed                  ed<   	 ee         ed<   	 deiZ	d S )!Dispute.Evidencec                   ~    e Zd ZU  G d de          Z G d de          Zee         ed<   ee         ed<   eedZdS )	!Dispute.Evidence.EnhancedEvidencec                       e Zd ZU  G d de          Z G d de          Zee         ed<   	 ee         ed<   	 eedZ	dS )	9Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3c                       e Zd ZU  G d de          Zee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 eed                  ed	<   	 ee         ed
<   	 ee         ed<   	 deiZ	dS )MDispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransactionc                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )]Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.ShippingAddresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     S/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/_dispute.pyShippingAddressr(   (            &sm+++ "*#...  (},,,  (},,, &.c]222  (},,, r6   r8   customer_account_idcustomer_device_fingerprintcustomer_device_idcustomer_email_addresscustomer_purchase_ip)merchandiseservicesmerchandise_or_servicesproduct_descriptionshipping_addressN)
r0   r1   r2   r   r8   r   r3   r4   r   _inner_class_typesr5   r6   r7   DisputedTransactionr&   '   s            ,   4 *2#666 2:#>>> )1555 -5SM999 +33-777 .6 9:.    *2#666 '/&???? +=o)N&&&r6   rE   c                       e Zd ZU  G d de          Zeed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed	<   	 ee         ed
<   	 d
eiZdS )TDispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransactionc                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )dDispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction.ShippingAddressr)   r*   r+   r,   r-   r.   Nr/   r5   r6   r7   r8   rI   g   r9   r6   r8   charger:   r;   r<   r=   r>   rB   rC   N)	r0   r1   r2   r   r8   r3   r4   r   rD   r5   r6   r7   PriorUndisputedTransactionrG   f   s             ,   4  KKK *2#666 2:#>>> )1555 -5SM999 +33-777 *2#666 '/&???? +=o)N&&&r6   rK   disputed_transactionprior_undisputed_transactions)rL   rM   N)
r0   r1   r2   r   rE   rK   r   r4   r   rD   r5   r6   r7   VisaCompellingEvidence3r$   &   s         =O =O =O =O =O, =O =O =O~;O ;O ;O ;O ;O ;O ;O ;Oz '//B&CCCC 044N/OOOO -@5O& &"""r6   rN   c                       e Zd ZU eed<   dS )0Dispute.Evidence.EnhancedEvidence.VisaCompliancefee_acknowledgedN)r0   r1   r2   boolr4   r5   r6   r7   VisaCompliancerP      s"         "&&&& r6   rS   visa_compelling_evidence_3visa_compliancerT   rU   N	r0   r1   r2   r   rN   rS   r   r4   rD   r5   r6   r7   EnhancedEvidencer"   %   s         H H H H H, H H HT        )11H(IIII%n5555.E#1" "r6   rX   access_activity_logbilling_addressr   cancellation_policycancellation_policy_disclosurecancellation_rebuttalcustomer_communicationr=   customer_namer>   customer_signatureduplicate_charge_documentationduplicate_charge_explanationduplicate_charge_idenhanced_evidencerB   receiptrefund_policyrefund_policy_disclosurerefund_refusal_explanationservice_dateservice_documentationrC   shipping_carriershipping_dateshipping_documentationshipping_tracking_numberuncategorized_fileuncategorized_textN)
r0   r1   r2   r   rX   r   r3   r4   r   rD   r5   r6   r7   Evidencer    $   s        V	 V	 V	 V	 V	| V	 V	 V	p &c]***	 "#&&&	 &of&=>>>>	 )1555	  (},,,	 !))@ AAAA	 !)---	  }$$$	 'sm+++	 %_V%<====	 )11H(IIII	 '/sm333	 &c]***	 ,+++%c]***	 /&12222	   78888	 #+3-///	 %-SM111	 sm###	  ((?@@@@	 #3-'''	 #3-'''	  }$$$	 !))@ AAAA	 #+3-///	 %_V%<====	 %SM)))	 23CDr6   rq   c                   z    e Zd ZU  G d de          Zee         ed<   	 eed<   eed<   	 eed<   	 eed<   	 deiZ	dS )	Dispute.EvidenceDetailsc                   ~    e Zd ZU  G d de          Z G d de          Zee         ed<   ee         ed<   eedZdS )	+Dispute.EvidenceDetails.EnhancedEligibilityc                   J    e Zd ZU eed                  ed<   	 ed         ed<   dS )CDispute.EvidenceDetails.EnhancedEligibility.VisaCompellingEvidence3)missing_customer_identifiers(missing_disputed_transaction_descriptionmissing_merchandise_or_services0missing_prior_undisputed_transaction_description%missing_prior_undisputed_transactionsrequired_actions)not_qualified	qualifiedrequires_actionstatusN)r0   r1   r2   r   r   r4   r5   r6   r7   rN   rw   .  s\         "&A#     C    r6   rN   c                   &    e Zd ZU ed         ed<   dS ):Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance)rQ   requires_fee_acknowledgementr   N)r0   r1   r2   r   r4   r5   r6   r7   rS   r   B  s0         F    r6   rS   rT   rU   rV   NrW   r5   r6   r7   EnhancedEligibilityru   -  s             ,   (        )11H(IIII%n5555.E#1" "r6   r   due_byenhanced_eligibilityhas_evidencepast_duesubmission_countN)
r0   r1   r2   r   r   r   intr4   rR   rD   r5   r6   r7   EvidenceDetailsrs   ,  s         "	 "	 "	 "	 "	, "	 "	 "	H 	 2111	 	 	 56IJr6   r   c                       e Zd ZU  G d de          Z G d de          Z G d de          Z G d de          Zee         e	d	<   ee         e	d
<   ee         e	d<   ee         e	d<   e
d         e	d<   	 eeeedZdS )Dispute.PaymentMethodDetailsc                   2    e Zd ZU eed                  ed<   dS )&Dispute.PaymentMethodDetails.AmazonPay)
chargebackclaimdispute_typeN)r0   r1   r2   r   r   r4   r5   r6   r7   	AmazonPayr   e  s-         "7+@#ABBBB r6   r   c                   J    e Zd ZU eed<   	 ed         ed<   	 ee         ed<   dS )!Dispute.PaymentMethodDetails.Cardbrand)blockr   
complianceinquiry
resolution	case_typenetwork_reason_codeN)r0   r1   r2   r3   r4   r   r   r5   r6   r7   Cardr   k  sW         JJJ L    "*#... r6   r   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )#Dispute.PaymentMethodDetails.Klarnachargeback_loss_reason_codereason_codeNr/   r5   r6   r7   Klarnar   {  s=         )1#666 "#&&& r6   r   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )#Dispute.PaymentMethodDetails.Paypalcase_idr   Nr/   r5   r6   r7   Paypalr     s=         c]""" "#&&& r6   r   
amazon_paycardklarnapaypal)r   r   r   r   typeN)r0   r1   r2   r   r   r   r   r   r   r4   r   rD   r5   r6   r7   PaymentMethodDetailsr   d  s1        	 	 	 	 	 	 	 		 	 	 	 	< 	 	 	 	 	 	 	 	\ 	 	 		 	 	 	 	\ 	 	 	 Y''''tn        >????	 $	
 
r6   r   amountr   balance_transactionsr   rJ   createdcurrencyrV   enhanced_eligibility_typesevidenceevidence_detailsidis_charge_refundablelivemodemetadatar   objectr   payment_intentpayment_method_detailsreason)lostneeds_response	preventedunder_reviewwarning_closedwarning_needs_responsewarning_under_reviewwonr   paramsr   returnc                     t          d|                     dd                    t          |                    |                    S )  
        Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.

        The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible.
        r   post/v1/disputes/{dispute}/closer   r   )r   _static_requestformatr	   clsr   r   s      r7   
_cls_closezDispute._cls_close  s\     .55'00 6       	
 	
 		
r6   c                     dS r   Nr5   r   r   s     r7   closezDispute.close  s	     	r6   c                     dS r   r5   selfr   s     r7   r   zDispute.close	  s	     	r6   r   c                     t          d|                     dd                    t          |                     d                              |                    S )r   r   r   r   r   r   r   )r   _requestr   r	   getr   s     r7   r   zDispute.close  sd     MM.55'77 6      	
 	
 		
r6   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r   r   r   r   r   N)r   _static_request_asyncr   r	   r   s      r7   _cls_close_asynczDispute._cls_close_async&  s~       ++.55'00 6    ,        	
 	
 		
r6   c                 
   K   dS r   r5   r   s     r7   close_asynczDispute.close_async:  s       	r6   c                 
   K   dS r   r5   r   s     r7   r   zDispute.close_asyncF  s       	r6   r   c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r   r   r   r   r   r   r   N)r   _request_asyncr   r	   r   r   s     r7   r   zDispute.close_asyncQ  s       %%.55'77 6    &        	
 	
 		
r6   r   c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |S )2
        Returns a list of your disputes.
        r   r   %Expected list object from API, got %s)r   	class_url
isinstancer   	TypeErrorr   r0   r   r   results      r7   listzDispute.liste  sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r6   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )r   r   r   Nr   )r   r   r   r   r   r   r0   r   s      r7   
list_asynczDispute.list_asyncy  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r6   r   c                     |                                  dt          |          }t          d|                     d||                    S )S  
        When you get a dispute, contacting your customer is always the best first step. If that doesn't work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your [dashboard](https://dashboard.stripe.com/disputes), but if you prefer, you can use the API to submit evidence programmatically.

        Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our [guide to dispute types](https://docs.stripe.com/docs/disputes/categories).
        /r   r   r   )r   r	   r   r   r   r   r   urls       r7   modifyzDispute.modify  sX     +b///:    
 
 	
r6   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r   r   r   r   r   N)r   r	   r   r   r   s       r7   modify_asynczDispute.modify_async  sz       +b///:++ ,        
 
 	
r6   r   c                 @     | |fi |}|                                  |S ):
        Retrieves the dispute with the given ID.
        )refreshr   r   r   instances       r7   retrievezDispute.retrieve  s2     3r$$V$$r6   c                 P   K    | |fi |}|                                  d{V  |S )r   N)refresh_asyncr   s       r7   retrieve_asynczDispute.retrieve_async  sH       3r$$V$$$$&&&&&&&&&r6   )r   r   r   N)$r0   r1   r2   __doc__r   r
   r   r4   r   rq   r   r   r   r   r   r3   rR   r   r   classmethodr   r   r   staticmethodr   r   r   r   r   r   r   r   r   r   r   rD   r5   r6   r7   r   r      s          1:K'),-999FE FE FE FE FE< FE FE FEP6K 6K 6K 6K 6K, 6K 6K 6Kp8
 8
 8
 8
 8
| 8
 8
 8
t KKK 34444 H%%%% LLL MMM !%?@!    %%%%GGG  NNN 38n "#&&& I __=>>>> %%9::::KKK 		 	 	 	 

%+,@%A
	
 
 
 [
&  &'; <	   \ X f%9: y    X ,''
34
	
 
 
 ('
& 

%+,@%A
	
 
 
 [
&  &'; <	   \ X 34	   X ,--
34
	
 
 
 .-
& 12	I	   [& 12	I	   [& 

 &'< =
	
 
 
 [
$ 

 &'< =
	
 
 
 [
$  &'> ?	   [  &'> ?	   [ +"6 r6   r   N))stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr   r	   typingr
   r   r   r   r   r   typing_extensionsr   r   r   stripe._balance_transactionr   stripe._charger   stripe._filer   stripe._payment_intentr   #stripe.params._dispute_close_paramsr   "stripe.params._dispute_list_paramsr   $stripe.params._dispute_modify_paramsr   &stripe.params._dispute_retrieve_paramsr   r   r5   r6   r7   <module>r     s   5 4 4 4 4 4 * * * * * * = = = = = = . . . . . . A A A A A A : : : : : : : : A A A A A A A A A A A A A A A A < < < < < < < < < < M>>>>>>%%%%%%!!!!!!444444FFFFFFDDDDDDHHHHHHLLLLLLv
 v
 v
 v
 v
	"$9)$Dv
 v
 v
 v
 v
r6   