
    _jP                         d dl mZ d dlmZ d dlmZ d dl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  G d d	ed	                   Zd
S )    )CreateableAPIResource)ExpandableField)StripeObject)ClassVarDictListOptionalcast)LiteralUnpackTYPE_CHECKING)PaymentMethod)PaymentEvaluationCreateParamsc                   @   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ee	         ed<   	 eed<   	 ee
         ed<   	 eee                  ed<   	 eed<   	 eed<   	 eed<   	 eeeef                  ed<   	 ed         ed<   	 ee         ed<   	 ee         ed<   	 eded         dd fd            Zeded         dd fd            Ze	e
eeeed Zd!S )"PaymentEvaluationa]  
    Payment Evaluations represent the risk lifecycle of an externally processed payment. It includes the Radar risk score from Stripe, payment outcome taken by the merchant or processor, and any post transaction events, such as refunds or disputes. See the [Radar API guide](https://docs.stripe.com/radar/multiprocessor) for integration steps.
    zradar.payment_evaluationOBJECT_NAMEc                       e Zd ZU eed<   dS )-PaymentEvaluation.ClientDeviceMetadataDetailsradar_sessionN__name__
__module____qualname__str__annotations__     d/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/radar/_payment_evaluation.pyClientDeviceMetadataDetailsr      s"         	 	r   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<   dS )!PaymentEvaluation.CustomerDetailscustomercustomer_accountemailnamephoneNr   r   r   r	   r   r   r   r   r   CustomerDetailsr!      s         3-	 #3-'''	 }	 sm	 }	 	r   r(   c                   H   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 G d	 d
e          Ze	e         e
d<   	 e	e         e
d<   	 ee
d<   	 e	e         e
d<   	 ed         e
d<   	 e	e         e
d<   	 e	e         e
d<   	 eeeeedZdS )PaymentEvaluation.Eventc                   >    e Zd ZU eed<   	 eed<   	 ed         ed<   dS )%PaymentEvaluation.Event.DisputeOpenedamountcurrency)account_not_availablecredit_not_processedcustomer_initiated	duplicate
fraudulentgeneralnoncompliantproduct_not_receivedproduct_unacceptablesubscription_canceledunrecognizedreasonNr   r   r   intr   r   r   r   r   r   DisputeOpenedr,   6   sR         KKK MMM 
     r   r=   c                   &    e Zd ZU ed         ed<   dS )1PaymentEvaluation.Event.EarlyFraudWarningReceived)made_with_lost_cardmade_with_stolen_cardotherunauthorized_use_of_card
fraud_typeNr   r   r   r   r   r   r   r   EarlyFraudWarningReceivedr?   P   s2         ,    r   rF   c                   >    e Zd ZU eed<   	 eed<   	 ed         ed<   dS ) PaymentEvaluation.Event.Refundedr-   r.   )r2   r3   rB   requested_by_customerr:   Nr;   r   r   r   RefundedrH   [   sP         KKK MMM K    r   rJ   c                   p    e Zd ZU  G d de          Zee         ed<   	 eed<   	 ed         ed<   	 deiZ	dS ).PaymentEvaluation.Event.UserInterventionRaisedc                       e Zd ZU eed<   dS )5PaymentEvaluation.Event.UserInterventionRaised.CustomtypeNr   r   r   r   CustomrN   l   s         			 r   rP   customkey)3dscaptcharQ   rO   N)
r   r   r   r   rP   r	   r   r   r   _inner_class_typesr   r   r   UserInterventionRaisedrL   k   s                 V$$$$ HHH 45555 #+F!3r   rV   c                   >    e Zd ZU eed<   	 eed                  ed<   dS )0PaymentEvaluation.Event.UserInterventionResolvedrR   )	abandonedfailedpassedoutcomeN)r   r   r   r   r   r	   r   r   r   r   UserInterventionResolvedrX      s=         HHH g&EFGGGG r   r]   dispute_openedearly_fraud_warning_receivedoccurred_atrefunded)r^   r_   ra   user_intervention_raiseduser_intervention_resolvedrO   rb   rc   N)r   r   r   r   r=   rF   rJ   rV   r]   r	   r   r<   r   rU   r   r   r   Eventr*   5   s        	 	 	 	 	L 	 	 	4		 		 		 		 		 		 		 			 	 	 	 	| 	 	 	 	4 	4 	4 	4 	4\ 	4 	4 	4*	 	 	 	 	| 	 	 	 !////	 '//H&IIII	 	 8$$$$	 *
 	
 	
 	
	 #++A"BBBB	 %--E$FFFF	 ,,E (>*B
 
r   rd   c                   L    e Zd ZU  G d de          Zeed<   	 eed<   	 deiZdS )PaymentEvaluation.Insightsc                   2    e Zd ZU ed         ed<   	 eed<   dS ),PaymentEvaluation.Insights.FraudulentDispute)blockcontinuerecommended_action
risk_scoreN)r   r   r   r   r   r<   r   r   r   FraudulentDisputerh      s8          '(; <<<< OOO r   rm   evaluated_atfraudulent_disputeN)r   r   r   r   rm   r<   r   rU   r   r   r   Insightsrf      sp         	 	 	 	 	 	 	 	 	 .---	 34EFr   rp   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e         ed
<   	 e
d         ed<   	 eeedZdS )PaymentEvaluation.Outcomec                   &    e Zd ZU ed         ed<   dS ))PaymentEvaluation.Outcome.MerchantBlocked)authentication_requiredblocked_for_fraudinvalid_paymentrB   r:   NrE   r   r   r   MerchantBlockedrt      s2             r   rx   c                   L    e Zd ZU  G d de          Zee         ed<   	 deiZdS )"PaymentEvaluation.Outcome.Rejectedc                   n    e Zd ZU ed         ed<   	 ed         ed<   	 ed         ed<   	 ed         ed<   dS )'PaymentEvaluation.Outcome.Rejected.Cardfailpassunavailable	uncheckedaddress_line1_checkaddress_postal_code_check	cvc_check)authentication_faileddo_not_honorexpiredincorrect_cvcincorrect_numberincorrect_postal_codeinsufficient_fundsinvalid_account	lost_cardrB   processing_errorreported_stolentry_again_laterr:   NrE   r   r   r   Cardr|      s         %,>&    ,3>,    ##MNNNN  '    r   r   cardNr   r   r   r   r   r	   r   rU   r   r   r   Rejectedrz      s`         " " " " "| " " "H 4.    #)$r   r   c                   L    e Zd ZU  G d de          Zee         ed<   	 deiZdS )#PaymentEvaluation.Outcome.Succeededc                   V    e Zd ZU ed         ed<   	 ed         ed<   	 ed         ed<   dS )(PaymentEvaluation.Outcome.Succeeded.Cardr}   r   r   r   NrE   r   r   r   r   r     sj         %,>&    ,3>,    ##MNNNN r   r   r   Nr   r   r   r   	Succeededr      s_             |   $ 4.    #)$r   r   merchant_blockedpayment_intent_idrejected	succeeded)rZ   r   r   r   rO   )r   r   r   N)r   r   r   r   rx   r   r   r	   r   r   r   rU   r   r   r   Outcomerr      s!        		 		 		 		 		l 		 		 		)	0 )	0 )	0 )	0 )	0| )	0 )	0 )	0V	0 	0 	0 	0 	0 	0 	0 	02 #?3333	 $C=(((	 8$$$$	 I&&&&	 KLLLL	 !0 "
 
r   r   c                       e Zd ZU  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         ed
<   	 e
e         ed<   	 e
e         ed<   	 e
e	         ed<   	 eeedZdS ) PaymentEvaluation.PaymentDetailsc                   d    e Zd ZU  G d de          Zee         ed<   	 ed         ed<   	 deiZdS )5PaymentEvaluation.PaymentDetails.MoneyMovementDetailsc                   V    e Zd ZU eed                  ed<   	 eed                  ed<   dS ):PaymentEvaluation.PaymentDetails.MoneyMovementDetails.Card)off_session
on_sessioncustomer_presence)one_off	recurringsetup_one_offsetup_recurringpayment_typeN)r   r   r   r	   r   r   r   r   r   r   r   5  sa         #+78$    '+    r   r   r   money_movement_typeN)	r   r   r   r   r   r	   r   r   rU   r   r   r   MoneyMovementDetailsr   4  sv             |   & 4.    ")000 #)$r   r   c                   d    e Zd ZU  G d de          Zee         ed<   	 ed         ed<   	 deiZdS )5PaymentEvaluation.PaymentDetails.PaymentMethodDetailsc                       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<   	 deiZdS )DPaymentEvaluation.PaymentDetails.PaymentMethodDetails.BillingDetailsc                       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 )LPaymentEvaluation.PaymentDetails.PaymentMethodDetails.BillingDetails.Addresscitycountryline1line2postal_codestateNr'   r   r   r   Addressr   T  s         "3-''' &c]*** $C=((( $C=((( "*#... $C=((( r   r   addressr$   r%   r&   N	r   r   r   r   r   r   r	   r   rU   r   r   r   BillingDetailsr   S  s             l   4 !     }$$$ sm###  }$$$ '0%9"""r   r   billing_detailsr   payment_methodN)	r   r   r   r   r   r	   r   r   rU   r   r   r   PaymentMethodDetailsr   R  sz         +: +: +: +: +: +: +: +:Z &n5555 ,O<<<< #4^!Dr   r   c                   p    e Zd ZU  G d de          Zeed<   	 ee         ed<   	 ee         ed<   	 deiZdS )0PaymentEvaluation.PaymentDetails.ShippingDetailsc                       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 )8PaymentEvaluation.PaymentDetails.ShippingDetails.Addressr   r   r   r   r   r   Nr'   r   r   r   r   r     s         sm### "#&&&  }$$$  }$$$ &c]***  }$$$ r   r   r   r%   r&   Nr   r   r   r   ShippingDetailsr     s             ,   4  3- C=    #,W!5r   r   r-   r.   descriptionmoney_movement_detailspayment_method_detailsshipping_detailsstatement_descriptor)r   r   r   N)r   r   r   r   r   r   r   r<   r   r   r	   rU   r   r   r   PaymentDetailsr   3  sJ        	0 	0 	0 	0 	0< 	0 	0 	0<6	E 6	E 6	E 6	E 6	E< 6	E 6	E 6	Ep'	6 '	6 '	6 '	6 '	6l '	6 '	6 '	6R 	 	 c]"""	 !))= >>>>	 !))= >>>>	 #?3333	 'sm+++	 ';&: /
 
r   r   client_device_metadata_details
created_atcustomer_detailseventsidinsightslivemodemetadataobjectr\   payment_detailsparamsr   returnc                 r    t          d|                     d|                                 |                    S )
        Request a Radar API fraud risk score from Stripe for a payment before sending it for external processor authorization.
        r   postr   )r
   _static_request	class_urlclsr   s     r   createzPaymentEvaluation.create  sB         
 
 	
r   c                    K   t          d|                     d|                                 |           d{V           S )r   r   r   r   N)r
   _static_request_asyncr   r   s     r   create_asynczPaymentEvaluation.create_async  sd       ++ ,        
 
 	
r   )r   r   r   r   r\   r   N)r   r   r   __doc__r   r   r   r   r   r   r(   rd   rp   r   r   r	   r<   r   r   boolr   classmethodr   r   r   rU   r   r   r   r   r      s         
 	# '"<=>       l       ,   ,}
 }
 }
 }
 }
 }
 }
 }
~G G G G G< G G G*h
 h
 h
 h
 h
, h
 h
 h
T`
 `
 `
 `
 `
 `
 `
 `
D %--H$IIII OOO //// T%[!!!! 	GGG  NNN tCH~&&&& .//// g n---- 
=>
	
 
 
 [
 
=>
	
 
 
 [
  +F+) r   r   N)stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._stripe_objectr   typingr   r   r   r	   r
   typing_extensionsr   r   r   stripe._payment_methodr   5stripe.params.radar._payment_evaluation_create_paramsr   r   r   r   r   <module>r      s   B A A A A A 4 4 4 4 4 4 . . . . . . 7 7 7 7 7 7 7 7 7 7 7 7 7 7 < < < < < < < < < < 444444     
Y Y Y Y Y-.AB Y Y Y Y Yr   