
    <@g1                         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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 d dlmZ d dl m!Z! d dl"m#Z#  G d ded   ed         Z$y)    )ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)BalanceTransaction)Charge)File)PaymentIntentc                      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 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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d0<   	 eed1<   	 e eef   ed2<   	 e!e   ed3<   	 ed   ed4<   	 e!ed5      ed6<   	 e!e   ed7<   eed8<   	 ed9   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(dA      d;e#d<   d=d fdB       Z'e"ded;e#d<   d=d fdC       Z)e%e&ded;e#d<   d=d fdD              Z*e%d;e#d<   d=d fdE       Z* e(dF      d;e#d<   d=d fdG       Z*e"d;e#dH   d=e+d    fdI       Z,e"d;e#dH   d=e+d    fdJ       Z-e"d/ed;e#dK   d=d fdL       Z.e"d/ed;e#dK   d=d fdM       Z/e"d/ed;e#dN   d=d fdO       Z0e"d/ed;e#dN   d=d fdP       Z1e	e
edQZ2yR)S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://stripe.com/docs/disputes)
    disputeOBJECT_NAMEc                   R   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	y )!Dispute.Evidencec                   d    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y)	!Dispute.Evidence.EnhancedEvidencec                   h    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	y)	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	y)MDispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransactionc                   x    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<   y)]Dispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.DisputedTransaction.ShippingAddresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     N/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_dispute.pyShippingAddressr'   +   f    &sm+ "*#.  (},  (}, &.c]2  (},r5   r7   customer_account_idcustomer_device_fingerprintcustomer_device_idcustomer_email_addresscustomer_purchase_ipmerchandiseservicesmerchandise_or_servicesproduct_descriptionshipping_addressN)
r/   r0   r1   r   r7   r   r2   r3   r   _inner_class_typesr4   r5   r6   DisputedTransactionr%   *   s    , 4 *2#6 2:#> )15 -5SM9 +33-7 .6 9:.  *2#6 '/&?? +=o)N&r5   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y)TDispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransactionc                   x    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<   y)dDispute.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction.ShippingAddressr(   r)   r*   r+   r,   r-   Nr.   r4   r5   r6   r7   rI   j   r8   r5   r7   charger9   r:   r;   r<   r=   rB   rC   N)	r/   r0   r1   r   r7   r2   r3   r   rD   r4   r5   r6   PriorUndisputedTransactionrG   i   s    , 4  K *2#6 2:#> )15 -5SM9 +33-7 *2#6 '/&?? +=o)N&r5   rK   disputed_transactionprior_undisputed_transactions)rL   rM   N)
r/   r0   r1   r   rE   rK   r   r3   r   rD   r4   r5   r6   VisaCompellingEvidence3r#   )   sW    =O, =O~;O ;Oz '//B&CC 044N/OO -@5O&"r5   rN   c                       e Zd ZU eed<   y)0Dispute.Evidence.EnhancedEvidence.VisaCompliancefee_acknowledgedN)r/   r0   r1   boolr3   r4   r5   r6   VisaCompliancerP      s    "&&r5   rS   visa_compelling_evidence_3visa_compliancerT   rU   N	r/   r0   r1   r   rN   rS   r   r3   rD   r4   r5   r6   EnhancedEvidencer!   (   sD    H, HT  )11H(II%n55.E#1"r5   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)
r/   r0   r1   r   rX   r   r2   r3   r   rD   r4   r5   r6   Evidencer   '   s&   V	| V	p &c]*	 "#&	 &of&=>>	 )15	  (},	 !))@ AA	 !)-	  }$	 'sm+	 %_V%<==	 )11H(II	 '/sm3	 &c]*	 ,+%c]*	 /&122	   788	 #+3-/	 %-SM1	 sm#	  ((?@@	 #3-'	 #3-'	  }$	 !))@ AA	 #+3-/	 %_V%<==	 %SM)	 23CDr5   rq   c                   l    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	y)	Dispute.EvidenceDetailsc                   d    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y)	+Dispute.EvidenceDetails.EnhancedEligibilityc                   6    e Zd ZU eed      ed<   	 ed   ed<   y)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)r/   r0   r1   r   r   r3   r4   r5   r6   rN   rw   1  s9    "&A#   C r5   rN   c                       e Zd ZU ed   ed<   y):Dispute.EvidenceDetails.EnhancedEligibility.VisaCompliance)rQ   requires_fee_acknowledgementr   N)r/   r0   r1   r   r3   r4   r5   r6   rS   r   E  s    F r5   rS   rT   rU   rV   NrW   r4   r5   r6   EnhancedEligibilityru   0  sA    , (  )11H(II%n55.E#1"r5   r   due_byenhanced_eligibilityhas_evidencepast_duesubmission_countN)
r/   r0   r1   r   r   r   intr3   rR   rD   r4   r5   r6   EvidenceDetailsrs   /  sZ    "	, "	H 	 21	 	 	 56IJr5   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y)Dispute.PaymentMethodDetailsc                   $    e Zd ZU eed      ed<   y)&Dispute.PaymentMethodDetails.AmazonPay)
chargebackclaimdispute_typeN)r/   r0   r1   r   r   r3   r4   r5   r6   	AmazonPayr   h  s    "7+@#ABBr5   r   c                   <    e Zd ZU eed<   	 ed   ed<   	 ee   ed<   y)!Dispute.PaymentMethodDetails.Cardbrand)r   inquiry	case_typenetwork_reason_codeN)r/   r0   r1   r2   r3   r   r   r4   r5   r6   Cardr   n  s0    J 677 "*#.r5   r   c                       e Zd ZU ee   ed<   y)#Dispute.PaymentMethodDetails.Klarnareason_codeNr.   r4   r5   r6   Klarnar   |  s    !#&r5   r   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)#Dispute.PaymentMethodDetails.Paypalcase_idr   Nr.   r4   r5   r6   Paypalr     s"    c]" "#&r5   r   
amazon_paycardklarnapaypal)r   r   r   r   typeN)r/   r0   r1   r   r   r   r   r   r   r3   r   rD   r4   r5   r6   PaymentMethodDetailsr   g  s    	 		< 		\ 		\ 	 Y''tn    >??	 $	
r5   r   c                   $    e Zd ZU eee      ed<   y)Dispute.CloseParamsexpandNr/   r0   r1   r   r   r2   r3   r4   r5   r6   CloseParamsr         DI&&	r5   r   c                       e Zd ZU ee   ed<   	 ed   ed<   	 ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y	)
Dispute.ListParamsrJ   zDispute.ListParamsCreated|intcreatedending_beforer   limitpayment_intentstarting_afterN)r/   r0   r1   r   r2   r3   r   r   r4   r5   r6   
ListParamsr     s    C  	 <==	 #3''	 DI&&	 3	 $C((	 $C((	r5   r   c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)Dispute.ListParamsCreatedgtgteltlteN)r/   r0   r1   r   r   r3   r4   r5   r6   ListParamsCreatedr     sH    	 	 	 	r5   r   c                   Z    e Zd ZU ed   ed<   	 eee      ed<   	 ed   ed<   	 ee   ed<   y)Dispute.ModifyParamsDispute.ModifyParamsEvidenceevidencer   zLiteral['']|Dict[str, str]metadatasubmitN)r/   r0   r1   r   r3   r   r2   rR   r4   r5   r6   ModifyParamsr     sN    <==	 DI&&	 :;;	 D!!	r5   r   c                      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<   	 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<   	 ed   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<   	 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<   y)r   rY   rZ   r[   r\   r]   r^   r<   r_   r=   r`   ra   rb   rc   z8Literal['']|Dispute.ModifyParamsEvidenceEnhancedEvidencerd   rB   re   rf   rg   rh   ri   rj   rC   rk   rl   rm   rn   ro   rp   N)r/   r0   r1   r   r2   r3   r4   r5   r6   ModifyParamsEvidencezDispute.ModifyParamsEvidence  s   (--	 %S))	 )--	 )4C(88	  +3//	 !,C 00	 !,C 00	 #3''	 *#..	 (,,	 )4C(88	 '2#&66	 )--	 'F
 	
	 )--	 S!!	 #3''	 #.c"22	 %0$44	 "#&&	  +3//	 &c**	 &c**	 #3''	 !,C 00	 #.c"22	 (,,	 (,,	r5   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y),Dispute.ModifyParamsEvidenceEnhancedEvidenceCDispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3rT   :Dispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompliancerU   Nr/   r0   r1   r   r3   r4   r5   r6   $ModifyParamsEvidenceEnhancedEvidencer   W  s.    $/Q%
 	
	 %H
 	
	r5   r   c                   6    e Zd ZU ed   ed<   	 eed      ed<   y)r   VDispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionrL   ]Dispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionrM   N)r/   r0   r1   r   r3   r   r4   r5   r6   ;ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3zCDispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3e  s8     *d
 	
	 (3o(
 	

	r5   r   c                       e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 eed      ed<   	 ed   ed	<   	 ed
   ed<   y)r   Literal['']|strr9   r:   r;   r<   r=   r>   rA   rB   eDispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddressrC   N)r/   r0   r1   r   r3   r   r4   r5   r6   NModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionzVDispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionw  s     )):;;	 &11B%CC	 ((9::	 !,,= >>	 **;<<	 "--."
 	
	 )):;;	 &s
 	
	r5   r   c                   x    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)	r   r   r(   r)   r*   r+   r,   r-   Nr   r4   r5   r6   ]ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddresszeDispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress  t     +,,	 .//	 ,--	 ,--	 !!233	 ,--	r5   r   c                       e Zd ZU eed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed	   ed
<   y)r   rJ   r   r9   r:   r;   r<   r=   rB   lDispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddressrC   N)r/   r0   r1   r2   r3   r   r4   r5   r6   UModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionz]Dispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction  s     	 )):;;	 &11B%CC	 ((9::	 !,,= >>	 **;<<	 )):;;	 &z
 	
	r5   r   c                   x    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)	r   r   r(   r)   r*   r+   r,   r-   Nr   r4   r5   r6   dModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddresszlDispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress  r   r5   r   c                       e Zd ZU ee   ed<   y)r   rQ   N)r/   r0   r1   r   rR   r3   r4   r5   r6   2ModifyParamsEvidenceEnhancedEvidenceVisaCompliancez:Dispute.ModifyParamsEvidenceEnhancedEvidenceVisaCompliance  s    %d++	r5   r   c                   $    e Zd ZU eee      ed<   y)Dispute.RetrieveParamsr   Nr   r4   r5   r6   RetrieveParamsr     r   r5   r   amountr   balance_transactionsr   rJ   r   currencyrT   enhanced_eligibility_typesr   evidence_detailsidis_charge_refundablelivemoder   r   objectr   r   payment_method_detailsreason)lostneeds_responseunder_reviewwarning_closedwarning_needs_responsewarning_under_reviewwonr   paramsr   returnc                 p    t        d| j                  ddj                  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      r6   
_cls_closezDispute._cls_closeQ  sJ     .55'0 6     	
 		
r5   c                      yr   Nr4   r   r   s     r6   closezDispute.closee  s     	r5   c                      yr  r4   selfr   s     r6   r  zDispute.closeq  s     	r5   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r   r   r   r   r   r   r   )r   _requestr   r
   getr  s     r6   r  zDispute.closez  sP     MM.55'7 6    	
 		
r5   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r   r   r   r   r   r   N)r   _static_request_asyncr   r
   r   s      r6   _cls_close_asynczDispute._cls_close_async  sX      ++.55'0 6   ,  	
 		
s   7AA
	Ac                    K   ywr  r4   r  s     r6   close_asynczDispute.close_async  s      	   c                    K   ywr  r4   r  s     r6   r  zDispute.close_async  s      	r  r  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r   r   r   r   r   r   r   N)r   _request_asyncr   r
   r  r  s     r6   r  zDispute.close_async  s`      %%.55'7 6   &  	
 		
s   AAA
		Ar   c                     | j                  d| j                         |      }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   r/   r   r   results      r6   listzDispute.list  s]     $$MMO % 

 &*-7<((* 
 r5   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)r  r  r   Nr  )r  r  r  r   r  r   r/   r  s      r6   
list_asynczDispute.list_async  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r   c                 z    | j                         dt        |      }t        d| j                  d||            S )N  
        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://stripe.com/docs/disputes/categories).
        /r   r   r   )r  r
   r   r   r   r   r   urls       r6   modifyzDispute.modify  sD     +b/:   
 	
r5   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r!  r"  r   r   r   N)r  r
   r   r  r#  s       r6   modify_asynczDispute.modify_async  sR      +b/:++ ,  
 	
s   <A	A
	A	r   c                 8     | |fi |}|j                          |S ):
        Retrieves the dispute with the given ID.
        )refreshr   r   r   instances       r6   retrievezDispute.retrieve  s$     r$V$r5   c                 T   K    | |fi |}|j                          d{    |S 7 w)r)  N)refresh_asyncr+  s       r6   retrieve_asynczDispute.retrieve_async&  s3      r$V$$$&&& 	's   (&()r   r   r   N)3r/   r0   r1   __doc__r   r   r   r3   r   rq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r2   rR   r   r   classmethodr   r  r   staticmethodr  r	   r  r  r   r  r  r%  r'  r-  r0  rD   r4   r5   r6   r   r      s    1:K'),-9FE< FEP6K, 6Kp2
| 2
hn ^ <I $~ $ry rhy $&&P8$$L8Y   K 344 H%% L M !%W-I%J KK %%G  N 38n "#& I __=>> %%9::K 	  

%+,A%B
	
 
&  &'< =	   f%:; 	   ,'
45
	
 (
& 

%+,A%B
	
 
&  &'< =	   45	  ,-
45
	
 .
& 23	I	 & 23	I	 & 

 &'= >
	
 
$ 

 &'= >
	
 
$  &'? @	   &'? @	  +"6r5   r   N)%stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr	   r
   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   stripe._balance_transactionr   stripe._charger   stripe._filer   stripe._payment_intentr   r   r4   r5   r6   <module>rA     sY    5 * = 2 . A : A A  >%!4[	"$9)$D[r5   