
    <@gD                     |    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
mZ d dlmZmZmZmZ  G d ded         Zy	)
    )
ListObject)ListableAPIResource)RequestOptions)StripeObject)ClassVarListOptional)LiteralNotRequired	TypedDictUnpackc                      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   ed<   	 eed<   	 ee	   ed<   	 ee
   ed<   	 eed<   	 ee   ed<   	 eed<   	 ed   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d%ed&   d'ed    fd(       Zed%ed&   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	e
eeeed-Zy.)/VerificationReporta@  
    A VerificationReport is the result of an attempt to collect and verify data from a user.
    The collection of verification checks performed is determined from the `type` and `options`
    parameters used. You can find the result of each verification check performed in the
    appropriate sub-resource: `document`, `id_number`, `selfie`.

    Each VerificationReport contains a copy of any data collected by the user as well as
    reference IDs which can be used to access collected images through the [FileUpload](https://stripe.com/docs/api/files)
    API. To configure and create VerificationReports, use the
    [VerificationSession](https://stripe.com/docs/api/identity/verification_sessions) API.

    Related guide: [Accessing verification results](https://stripe.com/docs/identity/verification-sessions#results).
    zidentity.verification_reportOBJECT_NAMEc                   p   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   e
d<   	 e	e   e
d<   	 e	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d      e
d<   	 eeeeedZy)VerificationReport.Documentc                   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)#VerificationReport.Document.Addresscitycountryline1line2postal_codestateN)__name__
__module____qualname__r	   str__annotations__     c/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/identity/_verification_report.pyAddressr      sf    3- c]" C=  C=  "#& C= r!   r#   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)VerificationReport.Document.DobdaymonthyearNr   r   r   r	   intr   r    r!   r"   Dobr%   9   3    # C=  3-r!   r+   c                   6    e Zd ZU eed      ed<   	 ee   ed<   y)!VerificationReport.Document.Error)document_expireddocument_type_not_supporteddocument_unverified_othercodereasonNr   r   r   r	   r
   r   r   r    r!   r"   Errorr.   G   s2    1  SM!r!   r5   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)*VerificationReport.Document.ExpirationDater&   r'   r(   Nr)   r    r!   r"   ExpirationDater7   W   r,   r!   r8   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)&VerificationReport.Document.IssuedDater&   r'   r(   Nr)   r    r!   r"   
IssuedDater:   e   r,   r!   r;   addressdoberrorexpiration_datefiles
first_nameissued_dateissuing_country	last_namenumber
unverifiedverifiedstatusdriving_licenseid_cardpassporttype)r<   r=   r>   r?   rB   N)r   r   r   r   r#   r+   r5   r8   r;   r	   r   r   r   r
   _inner_class_typesr    r!   r"   Documentr      s4   	l 	4	, 		L 	 	\ 		 	 '""	 c]	 	 ".11	 S	""	 SM!	 j))	 "#&	 C= 	 	 011	 wGHII	 -%
r!   rP   c                   b    e Zd ZU  G d de      Zee   ed<   	 ee   ed<   	 ed   ed<   	 deiZ	y)VerificationReport.Emailc                   6    e Zd ZU eed      ed<   	 ee   ed<   y)VerificationReport.Email.Error)email_unverified_otheremail_verification_declinedr2   r3   Nr4   r    r!   r"   r5   rT      0    K 
 SM!r!   r5   emailr>   rF   rI   N
r   r   r   r   r5   r	   r   r   r
   rO   r    r!   r"   EmailrR      sP    	L 	 }	 	 011	 &u-r!   rZ   c                       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   ed<   	 ee   ed<   	 ee	d	      ed
<   	 ee   ed<   	 e	d   ed<   	 eedZ
y)VerificationReport.IdNumberc                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)VerificationReport.IdNumber.Dobr&   r'   r(   Nr)   r    r!   r"   r+   r^      r,   r!   r+   c                   6    e Zd ZU eed      ed<   	 ee   ed<   y)!VerificationReport.IdNumber.Error)$id_number_insufficient_document_dataid_number_mismatchid_number_unverified_otherr2   r3   Nr4   r    r!   r"   r5   r`      s2    2  SM!r!   r5   r=   r>   rA   	id_number)br_cpfsg_nricus_ssnid_number_typerD   rF   rI   )r=   r>   N)r   r   r   r   r+   r5   r	   r   r   r
   rO   r    r!   r"   IdNumberr\      s    	, 		L 	  c]	 	 SM!	 C= 	 !)F!GHH	 C= 	 011	 &)59r!   ri   c                   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)	VerificationReport.Optionsc                   `    e Zd ZU eeed         ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)#VerificationReport.Options.DocumentrJ   allowed_typesrequire_id_numberrequire_live_capturerequire_matching_selfieN)r   r   r   r	   r   r
   r   boolr    r!   r"   rP   rm     sU    #WEFG   (~- #+4.0 &.d^3r!   rP   c                       e Zd Zy)#VerificationReport.Options.IdNumberN)r   r   r   r    r!   r"   ri   rt     s    r!   ri   documentrd   ru   rd   N)	r   r   r   r   rP   ri   r	   r   rO   r    r!   r"   Optionsrk     s=    	| 	(	| 	 8$$H%%*2Jr!   rw   c                   b    e Zd ZU  G d de      Zee   ed<   	 ee   ed<   	 ed   ed<   	 deiZ	y)VerificationReport.Phonec                   6    e Zd ZU eed      ed<   	 ee   ed<   y)VerificationReport.Phone.Error)phone_unverified_otherphone_verification_declinedr2   r3   Nr4   r    r!   r"   r5   r{   "  rW   r!   r5   r>   phonerF   rI   N)
r   r   r   r   r5   r	   r   r   r
   rO   r    r!   r"   Phonery   !  sP    	L 	 	 }	 011	 &u-r!   r   c                   t    e Zd ZU  G d de      Zee   ed<   	 ee   ed<   	 ee   ed<   	 ed   ed<   	 deiZ	y)	VerificationReport.Selfiec                   6    e Zd ZU eed      ed<   	 ee   ed<   y)VerificationReport.Selfie.Error)selfie_document_missing_photoselfie_face_mismatchselfie_manipulatedselfie_unverified_otherr2   r3   Nr4   r    r!   r"   r5   r   ?  s2    /  SM!r!   r5   ru   r>   selfierF   rI   NrY   r    r!   r"   Selfier   >  sa    	L 	" 3-	 	 	 011	 &u-r!   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d      ed	<   	 ee   ed
<   y)VerificationReport.ListParamsclient_reference_idz(VerificationReport.ListParamsCreated|intcreatedending_beforeexpandlimitstarting_afterrv   rN   verification_sessionN)	r   r   r   r   r   r   r   r*   r
   r    r!   r"   
ListParamsr   b  s    (--	 GHH	 #3''	 DI&&	 3	 $C((	 '"9:;;	 *#..	r!   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)$VerificationReport.ListParamsCreatedgtgteltlteN)r   r   r   r   r*   r   r    r!   r"   ListParamsCreatedr     sH    	 	 	 	r!   r   c                   $    e Zd ZU eee      ed<   y)!VerificationReport.RetrieveParamsr   N)r   r   r   r   r   r   r   r    r!   r"   RetrieveParamsr     s    DI&&	r!   r   r   r   ru   rX   idrd   livemodeobjectoptionsr~   r   )ru   rd   verification_flowrN   r   r   paramsr   returnc                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )0
        List all verification reports.
        getr   %Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrorrN   r   clsr   results      r"   listzVerificationReport.list  s]     $$MMO % 

 &*-7<((* 
 r!   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)r   r   r   Nr   )_static_request_asyncr   r   r   r   rN   r   r   s      r"   
list_asynczVerificationReport.list_async  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r   c                 8     | |fi |}|j                          |S ):
        Retrieves an existing VerificationReport
        )refreshr   r   r   instances       r"   retrievezVerificationReport.retrieve  s$     r$V$r!   c                 T   K    | |fi |}|j                          d{    |S 7 w)r   N)refresh_asyncr   s       r"   retrieve_asyncz!VerificationReport.retrieve_async  s3      r$V$$$&&& 	's   (&()ru   rX   rd   r   r~   r   N) r   r   r   __doc__r   r   r
   r   r   rP   rZ   ri   rw   r   r   r   r   r   r   r   r	   r   r*   rr   classmethodr   r   r   r   r   r   rO   r    r!   r"   r   r      sW    	' '"@AB K
< K
Z. .:;:< ;:zK, K8. .:". ".H ^  DI $  "#& L x   E? 	G !! N 233 gE? V >
??  }$ #3-' =>	(	) & =>	(	) &  &'J K	   &'J K	  r!   r   N)stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   typingr   r   r	   typing_extensionsr
   r   r   r   r   r    r!   r"   <module>r      s4    + = 2 . + + E EL,-AB Lr!   