File Coverage

lib/Net/API/Stripe/Identity/VerificationReport.pm
Criterion Covered Total %
statement 7 17 41.1
branch n/a
condition n/a
subroutine 3 13 23.0
pod 10 10 100.0
total 20 40 50.0


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Identity/VerificationReport.pm
3             ## Version v0.1.0
4             ## Copyright(c) 2022 DEGUEST Pte. Ltd.
5             ## Author: Jacques Deguest <jack@deguest.jp>
6             ## Created 2022/10/29
7             ## Modified 2022/10/29
8             ##
9             ##----------------------------------------------------------------------------
10             package Net::API::Stripe::Identity::VerificationReport;
11             BEGIN
12             {
13 2     2   21250097 use strict;
  2         17  
  2         69  
14 2     2   10 use parent qw( Net::API::Stripe::Generic );
  2         8  
  2         15  
15 2     2   962 our( $VERSION ) = 'v0.1.0';
16             };
17              
18 0     0 1   sub id { return( shift->_set_get_scalar( 'id', @_ ) ); }
19              
20 0     0 1   sub object { return( shift->_set_get_scalar( 'object', @_ ) ); }
21              
22 0     0 1   sub created { return( shift->_set_get_datetime( 'created', @_ ) ); }
23              
24 0     0 1   sub document { return( shift->_set_get_class( 'document',
25             {
26             address => { package => "Net::API::Stripe::Address", type => "object" },
27             dob => {
28             definition => {
29             day => { type => "number" },
30             month => { type => "number" },
31             year => { type => "number" },
32             },
33             type => "class",
34             },
35             error => {
36             definition => { code => { type => "scalar" }, reason => { type => "scalar" } },
37             type => "class",
38             },
39             expiration_date => {
40             definition => {
41             day => { type => "number" },
42             month => { type => "number" },
43             year => { type => "number" },
44             },
45             type => "class",
46             },
47             files => { type => "array" },
48             first_name => { type => "scalar" },
49             issued_date => {
50             definition => {
51             day => { type => "number" },
52             month => { type => "number" },
53             year => { type => "number" },
54             },
55             type => "class",
56             },
57             issuing_country => { type => "scalar" },
58             last_name => { type => "scalar" },
59             number => { type => "scalar" },
60             status => { type => "scalar" },
61             type => { type => "scalar" },
62             }, @_ ) ); }
63              
64 0     0 1   sub id_number { return( shift->_set_get_class( 'id_number',
65             {
66             dob => {
67             definition => {
68             day => { type => "number" },
69             month => { type => "number" },
70             year => { type => "number" },
71             },
72             type => "class",
73             },
74             error => {
75             definition => { code => { type => "scalar" }, reason => { type => "scalar" } },
76             type => "class",
77             },
78             first_name => { type => "scalar" },
79             id_number => { type => "scalar" },
80             id_number_type => { type => "scalar" },
81             last_name => { type => "scalar" },
82             status => { type => "scalar" },
83             }, @_ ) ); }
84              
85 0     0 1   sub livemode { return( shift->_set_get_boolean( 'livemode', @_ ) ); }
86              
87 0     0 1   sub options { return( shift->_set_get_class( 'options',
88             {
89             document => {
90             definition => {
91             allowed_types => { type => "array" },
92             require_id_number => { type => "boolean" },
93             require_live_capture => { type => "boolean" },
94             require_matching_selfie => { type => "boolean" },
95             },
96             type => "class",
97             },
98             id_number => { type => "hash" },
99             }, @_ ) ); }
100              
101 0     0 1   sub selfie { return( shift->_set_get_class( 'selfie',
102             {
103             document => { type => "scalar" },
104             error => {
105             definition => { code => { type => "scalar" }, reason => { type => "scalar" } },
106             type => "class",
107             },
108             selfie => { type => "scalar" },
109             status => { type => "scalar" },
110             }, @_ ) ); }
111              
112 0     0 1   sub type { return( shift->_set_get_scalar( 'type', @_ ) ); }
113              
114 0     0 1   sub verification_session { return( shift->_set_get_scalar( 'verification_session', @_ ) ); }
115              
116             1;
117             # NOTE: POD
118             __END__
119              
120             =encoding utf8
121              
122             =head1 NAME
123              
124             Net::API::Stripe::Identity::VerificationReport - The VerificationReport object
125              
126             =head1 SYNOPSIS
127              
128             =head1 VERSION
129              
130             v0.1.0
131              
132             =head1 DESCRIPTION
133              
134             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 C<type> and C<options> parameters used. You can find the result of each verification check performed in the appropriate sub-resource: C<document>, C<id_number>, C<selfie>.
135              
136             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 L<FileUpload|https://stripe.com/docs/api/files> API. To configure and create VerificationReports, use the L<VerificationSession|https://stripe.com/docs/api/identity/verification_sessions> API.
137              
138             Related guides: L<Accessing verification results|https://stripe.com/docs/identity/verification-sessions#results>.
139              
140             =head1 METHODS
141              
142             =head2 id string
143              
144             Unique identifier for the object.
145              
146             =head2 object string
147              
148             String representing the object's type. Objects of the same type share the same value.
149              
150             =head2 created timestamp
151              
152             Time at which the object was created. Measured in seconds since the Unix epoch.
153              
154             =head2 document hash
155              
156             Result of the document check for this report.
157              
158             It has the following properties:
159              
160             =over 4
161              
162             =item C<address> hash
163              
164             Address as it appears in the document.
165              
166             When expanded, this is a L<Net::API::Stripe::Address> object.
167              
168             =item C<dob> hash
169              
170             Date of birth as it appears in the document.
171              
172             =over 8
173              
174             =item C<day> integer
175              
176             Numerical day between 1 and 31.
177              
178             =item C<month> integer
179              
180             Numerical month between 1 and 12.
181              
182             =item C<year> integer
183              
184             The four-digit year.
185              
186              
187             =back
188              
189             =item C<error> hash
190              
191             Details on the verification error. Present when status is C<unverified>.
192              
193             =over 8
194              
195             =item C<code> string
196              
197             A short machine-readable string giving the reason for the verification failure.
198              
199             =item C<reason> string
200              
201             A human-readable message giving the reason for the failure. These messages can be shown to your users.
202              
203              
204             =back
205              
206             =item C<expiration_date> hash
207              
208             Expiration date of the document.
209              
210             =over 8
211              
212             =item C<day> integer
213              
214             Numerical day between 1 and 31.
215              
216             =item C<month> integer
217              
218             Numerical month between 1 and 12.
219              
220             =item C<year> integer
221              
222             The four-digit year.
223              
224              
225             =back
226              
227             =item C<files> string_array
228              
229             Array of L<File|https://stripe.com/docs/api/files> ids containing images for this document.
230              
231             =item C<first_name> string
232              
233             First name as it appears in the document.
234              
235             =item C<issued_date> hash
236              
237             Issued date of the document.
238              
239             =over 8
240              
241             =item C<day> integer
242              
243             Numerical day between 1 and 31.
244              
245             =item C<month> integer
246              
247             Numerical month between 1 and 12.
248              
249             =item C<year> integer
250              
251             The four-digit year.
252              
253              
254             =back
255              
256             =item C<issuing_country> string
257              
258             Issuing country of the document.
259              
260             =item C<last_name> string
261              
262             Last name as it appears in the document.
263              
264             =item C<number> string
265              
266             Document ID number.
267              
268             =item C<status> string
269              
270             Status of this C<document> check.
271              
272             =item C<type> string
273              
274             Type of the document.
275              
276             =back
277              
278             =head2 id_number hash
279              
280             Result of the id number check for this report.
281              
282             It has the following properties:
283              
284             =over 4
285              
286             =item C<dob> hash
287              
288             Date of birth.
289              
290             =over 8
291              
292             =item C<day> integer
293              
294             Numerical day between 1 and 31.
295              
296             =item C<month> integer
297              
298             Numerical month between 1 and 12.
299              
300             =item C<year> integer
301              
302             The four-digit year.
303              
304              
305             =back
306              
307             =item C<error> hash
308              
309             Details on the verification error. Present when status is C<unverified>.
310              
311             =over 8
312              
313             =item C<code> string
314              
315             A short machine-readable string giving the reason for the verification failure.
316              
317             =item C<reason> string
318              
319             A human-readable message giving the reason for the failure. These messages can be shown to your users.
320              
321              
322             =back
323              
324             =item C<first_name> string
325              
326             First name.
327              
328             =item C<id_number> string
329              
330             ID number.
331              
332             =item C<id_number_type> string
333              
334             Type of ID number.
335              
336             =item C<last_name> string
337              
338             Last name.
339              
340             =item C<status> string
341              
342             Status of this C<id_number> check.
343              
344             =back
345              
346             =head2 livemode boolean
347              
348             Has the value C<true> if the object exists in live mode or the value C<false> if the object exists in test mode.
349              
350             =head2 options hash
351              
352             Configuration options for this report.
353              
354             It has the following properties:
355              
356             =over 4
357              
358             =item C<document> hash
359              
360             Configuration options to apply to the C<document> check.
361              
362             =over 8
363              
364             =item C<allowed_types> array
365              
366             Array of strings of allowed identity document types. If the provided identity document isn’t one of the allowed types, the verification check will fail with a documentI<type>not_allowed error code.
367              
368             =item C<require_id_number> boolean
369              
370             Collect an ID number and perform an L<ID number check|https://stripe.com/docs/identity/verification-checks?type=id-number> with the document’s extracted name and date of birth.
371              
372             =item C<require_live_capture> boolean
373              
374             Disable image uploads, identity document images have to be captured using the device’s camera.
375              
376             =item C<require_matching_selfie> boolean
377              
378             Capture a face image and perform a L<selfie check|https://stripe.com/docs/identity/verification-checks?type=selfie> comparing a photo ID and a picture of your user’s face. L<Learn more|https://stripe.com/docs/identity/selfie>.
379              
380              
381             =back
382              
383             =item C<id_number> hash
384              
385             Configuration options to apply to the C<id_number> check.
386              
387             =over 8
388              
389             =item C<id_number>
390              
391             This is an empty hash.
392              
393              
394             =back
395              
396             =back
397              
398             =head2 selfie hash
399              
400             Result of the selfie check for this report.
401              
402             It has the following properties:
403              
404             =over 4
405              
406             =item C<document> string
407              
408             ID of the L<File|https://stripe.com/docs/api/files> holding the image of the identity document used in this check.
409              
410             =item C<error> hash
411              
412             Details on the verification error. Present when status is C<unverified>.
413              
414             =over 8
415              
416             =item C<code> string
417              
418             A short machine-readable string giving the reason for the verification failure.
419              
420             =item C<reason> string
421              
422             A human-readable message giving the reason for the failure. These messages can be shown to your users.
423              
424              
425             =back
426              
427             =item C<selfie> string
428              
429             ID of the L<File|https://stripe.com/docs/api/files> holding the image of the selfie used in this check.
430              
431             =item C<status> string
432              
433             Status of this C<selfie> check.
434              
435             =back
436              
437             =head2 type string
438              
439             Type of report.
440              
441             =head2 verification_session string
442              
443             ID of the VerificationSession that created this report.
444              
445             =head1 API SAMPLE
446              
447             [
448             {
449             "created" : "1662261086",
450             "document" : {
451             "address" : {
452             "city" : "San Francisco",
453             "country" : "US",
454             "line1" : "1234 Main St.",
455             "state" : "CA",
456             "zip" : "94111"
457             },
458             "error" : null,
459             "expiration_date" : {
460             "day" : "1",
461             "month" : "12",
462             "year" : "2025"
463             },
464             "files" : [
465             "file_MMt1QnXiGixEZxoe5FxvoMDx",
466             "file_MMt1VGyZxCEW3uV9YvuOI7yx"
467             ],
468             "first_name" : "Jenny",
469             "issued_date" : {
470             "day" : "1",
471             "month" : "12",
472             "year" : "2020"
473             },
474             "issuing_country" : "US",
475             "last_name" : "Rosen",
476             "status" : "verified",
477             "type" : "driving_license"
478             },
479             "id" : "vr_1Le9F42eZvKYlo2CHjM8lwqO",
480             "livemode" : 0,
481             "object" : "identity.verification_report",
482             "options" : {
483             "document" : {}
484             },
485             "type" : "document",
486             "verification_session" : "vs_MMt1qTAB3jMvz6aXZCfHgulL"
487             }
488             ]
489              
490             =head1 HISTORY
491              
492             =head2 v0.1.0
493              
494             Initial version
495              
496             =head1 AUTHOR
497              
498             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
499              
500             =head1 SEE ALSO
501              
502             L<Stripe API documentation|https://stripe.com/docs/api/identity/verification_reports>
503              
504             =head1 COPYRIGHT & LICENSE
505              
506             Copyright (c) 2019-2022 DEGUEST Pte. Ltd.
507              
508             You can use, copy, modify and redistribute this package and associated
509             files under the same terms as Perl itself.
510              
511             =cut