
    jof'u                        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$dS )    )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eed<   	 ed         ed<   	 ed         ed<   	 eed<   	 e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d0            Z  e!d1          d+ed,         d-d fd2            Z eded+ed,         d-d fd3            Z"eeded+ed,         d-d fd4                        Z#ed+ed,         d-d fd5            Z# e!d6          d+ed,         d-d fd7            Z#ed+ed8         d-e$d          fd9            Z%ed+ed8         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ded+ed>         d-d fd?            Z)eded+ed>         d-d fd@            Z*e	e
edAZ+dBS )C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                      e Zd ZU 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         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S )Dispute.Evidenceaccess_activity_logbilling_addressr   cancellation_policycancellation_policy_disclosurecancellation_rebuttalcustomer_communicationcustomer_email_addresscustomer_namecustomer_purchase_ipcustomer_signatureduplicate_charge_documentationduplicate_charge_explanationduplicate_charge_idproduct_descriptionreceiptrefund_policyrefund_policy_disclosurerefund_refusal_explanationservice_dateservice_documentationshipping_addressshipping_carriershipping_dateshipping_documentationshipping_tracking_numberuncategorized_fileuncategorized_textN)__name__
__module____qualname__r   str__annotations__r        I/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_dispute.pyEvidencer   '   s        %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)))	 	rA   rC   c                   J    e Zd ZU ee         ed<   	 eed<   	 eed<   	 eed<   dS )Dispute.EvidenceDetailsdue_byhas_evidencepast_duesubmission_countN)r;   r<   r=   r   intr?   boolr@   rA   rB   EvidenceDetailsrE      s\         	 	 	 	 	rA   rL   c                       e Zd ZU  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	d
         ed<   	 eeed
Z
dS )Dispute.PaymentMethodDetailsc                   2    e Zd ZU eed<   	 ee         ed<   dS )!Dispute.PaymentMethodDetails.Cardbrandnetwork_reason_codeN)r;   r<   r=   r>   r?   r   r@   rA   rB   CardrP      s6         JJJ "*#... rA   rS   c                   &    e Zd ZU ee         ed<   dS )#Dispute.PaymentMethodDetails.Klarnareason_codeNr;   r<   r=   r   r>   r?   r@   rA   rB   KlarnarU      s&         !#&&& rA   rX   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )#Dispute.PaymentMethodDetails.Paypalcase_idrV   NrW   r@   rA   rB   PaypalrZ      s=         c]""" "#&&& rA   r\   cardklarnapaypal)r]   r^   r_   typeN)r;   r<   r=   r   rS   rX   r\   r   r?   r   _inner_class_typesr@   rA   rB   PaymentMethodDetailsrN      s         	 	 	 	 	< 	 	 		 	 	 	 	\ 	 	 		 	 	 	 	\ 	 	 	 tn        01111	 '+fOOrA   rb   c                   2    e Zd ZU eee                  ed<   dS )Dispute.CloseParamsexpandNr;   r<   r=   r   r   r>   r?   r@   rA   rB   CloseParamsrd      +         DI&&&&	 	rA   rg   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<   d	S )
Dispute.ListParamschargezDispute.ListParamsCreated|intcreatedending_beforere   limitpayment_intentstarting_afterN)r;   r<   r=   r   r>   r?   r   rJ   r@   rA   rB   
ListParamsrj      s         C    	 <===="3''''	 DI&&&&	 3	 $C((((	 $C((((	 	rA   rq   c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )Dispute.ListParamsCreatedgtgteltlteN)r;   r<   r=   r   rJ   r?   r@   rA   rB   ListParamsCreatedrs      so         	 	 	 	 	rA   rx   c                   z    e Zd ZU ed         ed<   	 eee                  ed<   	 ed         ed<   	 ee         ed<   dS )Dispute.ModifyParamsDispute.ModifyParamsEvidenceevidencere   zLiteral['']|Dict[str, str]metadatasubmitN)r;   r<   r=   r   r?   r   r>   rK   r@   rA   rB   ModifyParamsrz      su         <====	 DI&&&&	 :;;;;	 D!!!!	 	rA   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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<   dS )r{   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   N)r;   r<   r=   r   r>   r?   r@   rA   rB   ModifyParamsEvidencezDispute.ModifyParamsEvidence  s        (----	 %S))))	 )----	 )4C(8888	  +3////	 !,C 0000	 !,C 0000	 #3''''	 *#....	 (,,,,	 )4C(8888	 '2#&6666	 )----	 )----	 S!!!!	 #3''''	 #.c"2222	 %0$4444	 "#&&&&	  +3////	 &c****	 &c****	 #3''''	 !,C 0000	 #.c"2222	 (,,,,	 (,,,,	 	rA   r   c                   2    e Zd ZU eee                  ed<   dS )Dispute.RetrieveParamsre   Nrf   r@   rA   rB   RetrieveParamsr   ~  rh   rA   r   amountr   balance_transactionsr   rk   rl   currencyr|   evidence_detailsidis_charge_refundablelivemoder}   rR   objectr   ro   payment_method_detailsreason)lostneeds_responseunder_reviewwarning_closedwarning_needs_responsewarning_under_reviewwonstatusparamsrd   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      rB   
_cls_closezDispute._cls_close  s\     .55'00 6       	
 	
 		
rA   c                     dS r   Nr@   r   r   s     rB   closezDispute.close  s	     	rA   c                     dS r   r@   selfr   s     rB   r   zDispute.close  s	     	rA   r   c                     t          d|                     dd                    t          |                     d                              |                    S )r   r   r   r   r   r   r   )r   _requestr   r
   getr   s     rB   r   zDispute.close  sd     MM.55'77 6      	
 	
 		
rA   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r   r   r   r   r   N)r   _static_request_asyncr   r
   r   s      rB   _cls_close_asynczDispute._cls_close_async  s~       ++.55'00 6    ,        	
 	
 		
rA   c                 
   K   dS r   r@   r   s     rB   close_asynczDispute.close_async  s       	rA   c                 
   K   dS r   r@   r   s     rB   r   zDispute.close_async%  s       	rA   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     rB   r   zDispute.close_async0  s       %%.55'77 6    &        	
 	
 		
rA   rj   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`   r;   r   r   results      rB   listzDispute.listD  sp     $$MMOO % 
 

 &*-- 	7<<(*  
 rA   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )r   r   r   Nr   )r   r   r   r   r   r`   r;   r   s      rB   
list_asynczDispute.list_asyncX  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 rA   rz   c                     |                                  dt          |          }t          d|                     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       rB   modifyzDispute.modifyl  sX     +b///:    
 
 	
rA   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r   r   r   r   r   N)r   r
   r   r   r   s       rB   modify_asynczDispute.modify_async  sz       +b///:++ ,        
 
 	
rA   r   c                 @     | |fi |}|                                  |S ):
        Retrieves the dispute with the given ID.
        )refreshr   r   r   instances       rB   retrievezDispute.retrieve  s2     3r$$V$$rA   c                 P   K    | |fi |}|                                  d{V  |S )r   N)refresh_asyncr   s       rB   retrieve_asynczDispute.retrieve_async  sH       3r$$V$$$$&&&&&&&&&rA   )r|   r   r   N),r;   r<   r=   __doc__r   r   r   r?   r   rC   rL   rb   r   rg   rq   r   rx   r   r   r   rJ   r   r   r>   rK   r   r   classmethodr   r   r   staticmethodr   r	   r   r   r   r   r   r   r   r   r   ra   r@   rA   rB   r   r      s          1:K'),-999l l l l l< l l l\    ,   $"P "P "P "P "P| "P "P "PH    n       ^   6    I   $    ~   $l l l l ly l l l\        KKK 34444 H%%%% LLL MMM %%%%GGG  NNN 38n "#&&& I __=>>>> %%9::::KKK 	    

%+,A%B
	
 
 
 [
&  &'< =	   \ X f%:; 	    X ,''
45
	
 
 
 ('
& 

%+,A%B
	
 
 
 [
&  &'< =	   \ X 45	   X ,--
45
	
 
 
 .-
& 23	I	   [& 23	I	   [& 

 &'= >
	
 
 
 [
$ 

 &'= >
	
 
 
 [
$  &'? @	   [  &'? @	   [ +"6 rA   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   r@   rA   rB   <module>r      s   5 4 4 4 4 4 * * * * * * = = = = = = 2 2 2 2 2 2 . . . . . . A A A A A A : : : : : : : : A A A A A A A A A A A A A A A A               5>>>>>>%%%%%%!!!!!!444444R
 R
 R
 R
 R
	"$9)$DR
 R
 R
 R
 R
rA   