
    +h8                         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mZ  G d ded         Zy	)
    )ListableAPIResource)
ListObject)RequestOptions)StripeObject)ClassVarListOptional)LiteralNotRequired	TypedDictUnpackTYPE_CHECKINGc                      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er! G d de      Z G d de      Z G d de      Z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d      ed<   	 ee   ed<   	 e	 	 	 d(dee   dee   d ee   d!ed"   d#ed    f
d$       Zeded!ed%   d#d fd&       Ze	e
eed'Zy))VerificationReportaA  
    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 guides: [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__     d/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/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&   ?   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/   M   s2    1  SM!r"   r6   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#   ExpirationDater8   ]   r-   r"   r9   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;   k   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@   rC   N)r   r   r   r   r$   r,   r6   r9   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"   rQ   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,   rU      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_otherr3   r4   Nr5   r!   r"   r#   r6   rW      s2    2  SM!r"   r6   r>   r?   rB   	id_number)br_cpfsg_nricus_ssnid_number_typerE   rG   rJ   )r>   r?   N)r   r   r   r   r,   r6   r	   r    r   r
   rP   r!   r"   r#   IdNumberrS      s    	, 		L 	  c]	 	 SM!	 C= 	 !)F!GHH	 C= 	 011	 &)59r"   r`   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.DocumentrK   allowed_typesrequire_id_numberrequire_live_capturerequire_matching_selfieN)r   r   r   r	   r   r
   r    boolr!   r"   r#   rQ   rd      sU    #WEFG   (~- #+4.0 &.d^3r"   rQ   c                       e Zd Zy)#VerificationReport.Options.IdNumberN)r   r   r   r!   r"   r#   r`   rk     s    r"   r`   documentr[   rl   r[   N)	r   r   r   r   rQ   r`   r	   r    rP   r!   r"   r#   Optionsrb      s=    	| 	(	| 	 8$$H%%*2Jr"   rn   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_otherr3   r4   Nr5   r!   r"   r#   r6   rr     s2    /  SM!r"   r6   rl   r?   selfierG   rJ   N)
r   r   r   r   r6   r	   r   r    r
   rP   r!   r"   r#   Selfierp   
  sa    	L 	" 3-	 	 	 011	 &u-r"   rx   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d
   ed<   	 ed   ed<   y)VerificationReport.ListParamsz(VerificationReport.ListParamsCreated|intcreatedr   ending_before	List[str]expandr+   limitstarting_afterz Literal['document', 'id_number']rO   verification_sessionNr   r   r   r   r    r!   r"   r#   
ListParamsrz   0  sy     !KLL&u--  ,, u%% (.. @AA #.e"44r"   r   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)$VerificationReport.ListParamsCreatedr+   gtgteltlteNr   r!   r"   r#   ListParamsCreatedr   K  sH    E"" U## E"" U##r"   r   c                       e Zd ZU ed   ed<   y)!VerificationReport.RetrieveParamsr}   r~   Nr   r!   r"   r#   RetrieveParamsr   ]  s    ,,r"   r   r{   rl   idr[   livemodeobjectoptionsrw   rm   rO   r   Napi_keystripe_versionstripe_accountparamsrz   returnc                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )z0
        List all verification reports.
        get)r   r   r   r   z%Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrorrO   r   )clsr   r   r   r   results         r#   listzVerificationReport.list  sf     $$MMO)) % 
 &*-7<((* 
 r"   r   c                 8     | |fi |}|j                          |S )z:
        Retrieves an existing VerificationReport
        )refresh)r   r   r   instances       r#   retrievezVerificationReport.retrieve  s$     r$V$r"   )rl   r[   r   rw   )NNN)r   r   r   __doc__r   r   r
   r    r   rQ   r`   rn   rx   r   r   r   r   r   r   r+   r	   r   ri   classmethodr   r   r   r   rP   r!   r"   r#   r   r      s     	' ./ 'K
< K
Z;:< ;:zK, K8". ".H 	 	6		 	$	^ 	 L x   	G !! N 233 gV 723
44 #3-'  "&(,(,	# ! !	
 89 
(	) 6  &'J K	  	r"   r   N)stripe.api_resources.abstractr    stripe.api_resources.list_objectr   stripe.request_optionsr   stripe.stripe_objectr   typingr   r   r	   typing_extensionsr
   r   r   r   r   r   r!   r"   r#   <module>r      s8    > 7 1 - + + d,-AB dr"   