File Coverage

lib/Net/API/Stripe/Connect/Account/Document.pm
Criterion Covered Total %
statement 19 34 55.8
branch n/a
condition n/a
subroutine 7 22 31.8
pod 15 15 100.0
total 41 71 57.7


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Connect/Account/Document.pm
3             ## Version v0.101.0
4             ## Copyright(c) 2019 DEGUEST Pte. Ltd.
5             ## Author: Jacques Deguest <jack@deguest.jp>
6             ## Created 2019/11/02
7             ## Modified 2022/10/29
8             ##
9             ##----------------------------------------------------------------------------
10             package Net::API::Stripe::Connect::Account::Document;
11             BEGIN
12             {
13 2     2   21355480 use strict;
  2         16  
  2         63  
14 2     2   11 use warnings;
  2         3  
  2         56  
15 2     2   10 use parent qw( Net::API::Stripe::Generic );
  2         4  
  2         10  
16 2     2   145 use vars qw( $VERSION );
  2         4  
  2         132  
17 2     2   41 our( $VERSION ) = 'v0.101.0';
18             };
19              
20 2     2   9 use strict;
  2         4  
  2         43  
21 2     2   12 use warnings;
  2         4  
  2         713  
22              
23 0     0 1   sub address { return( shift->_set_get_object( 'address', 'Net::API::Stripe::Address', @_ ) ); }
24              
25 0     0 1   sub back { return( shift->_set_get_scalar_or_object( 'back', 'Net::API::Stripe::File', @_ ) ); }
26              
27 0     0 1   sub details { return( shift->_set_get_scalar( 'details', @_ ) ); }
28              
29 0     0 1   sub details_code { return( shift->_set_get_scalar( 'details_code', @_ ) ); }
30              
31 0     0 1   sub dob { return( shift->_set_get_class( 'dob',
32             {
33             day => { type => "number" },
34             month => { type => "number" },
35             year => { type => "number" },
36             }, @_ ) ); }
37              
38 0     0 1   sub expiration_date { return( shift->_set_get_class( 'expiration_date',
39             {
40             day => { type => "number" },
41             month => { type => "number" },
42             year => { type => "number" },
43             }, @_ ) ); }
44              
45 0     0 1   sub files { return( shift->_set_get_array( 'files', @_ ) ); }
46              
47 0     0 1   sub first_name { return( shift->_set_get_scalar( 'first_name', @_ ) ); }
48              
49 0     0 1   sub front { return( shift->_set_get_scalar_or_object( 'front', 'Net::API::Stripe::File', @_ ) ); }
50              
51 0     0 1   sub issued_date { return( shift->_set_get_class( 'issued_date',
52             {
53             day => { type => "number" },
54             month => { type => "number" },
55             year => { type => "number" },
56             }, @_ ) ); }
57              
58 0     0 1   sub issuing_country { return( shift->_set_get_scalar( 'issuing_country', @_ ) ); }
59              
60 0     0 1   sub last_name { return( shift->_set_get_scalar( 'last_name', @_ ) ); }
61              
62 0     0 1   sub number { return( shift->_set_get_scalar( 'number', @_ ) ); }
63              
64 0     0 1   sub status { return( shift->_set_get_scalar( 'status', @_ ) ); }
65              
66 0     0 1   sub type { return( shift->_set_get_scalar( 'type', @_ ) ); }
67              
68             1;
69              
70             __END__
71              
72             =encoding utf8
73              
74             =head1 NAME
75              
76             Net::API::Stripe::Connect::Account::Document - An interface to Stripe API
77              
78             =head1 SYNOPSIS
79              
80             my $doc = $stripe->account->verification->document({
81             back => '/some/file/path/scan_back.jpg',
82             details => 'Low resolution jpeg',
83             # Set by Stripe
84             # details_code => 'document_not_readable',
85             front => '/some/file/path/scan_front.jpg',
86             });
87              
88             =head1 VERSION
89              
90             v0.101.0
91              
92             =head1 DESCRIPTION
93              
94             A document showing address, either a passport, local ID card, or utility bill from a well-known utility company.
95              
96             Tis is called from method B<document> in module L<Net::API::Stripe::Connect::Account::Verification>
97              
98             =head1 CONSTRUCTOR
99              
100             =head2 new( %ARG )
101              
102             Creates a new L<Net::API::Stripe::Connect::Account::Document> object.
103             It may also take an hash like arguments, that also are method of the same name.
104              
105             =head1 METHODS
106              
107             =head2 address object
108              
109             Address as it appears in the document.
110              
111             This is a L<Net::API::Stripe::Address> object.
112              
113             =head2 back string (expandable)
114              
115             The back of an ID returned by a file upload with a purpose value of identity_document.
116              
117             When expanded, this is a L<Net::API::Stripe::File> object.
118              
119             =head2 details string
120              
121             A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say “Identity document is too unclear to read”.
122              
123             =head2 details_code string
124              
125             One of document_corrupt, document_country_not_supported, document_expired, document_failed_copy, document_failed_other, document_failed_test_mode, document_fraudulent, document_failed_greyscale, document_incomplete, document_invalid, document_manipulated, document_missing_back, document_missing_front, document_not_readable, document_not_uploaded, document_photo_mismatch, document_too_large, or document_type_not_supported. A machine-readable code specifying the verification state for this document.
126              
127             =head2 dob hash
128              
129             Date of birth as it appears in the document.
130              
131             It has the following properties:
132              
133             =over 4
134              
135             =item C<day> integer
136              
137             Numerical day between 1 and 31.
138              
139             =item C<month> integer
140              
141             Numerical month between 1 and 12.
142              
143             =item C<year> integer
144              
145             The four-digit year.
146              
147             =back
148              
149             =head2 expiration_date hash
150              
151             Expiration date of the document.
152              
153             It has the following properties:
154              
155             =over 4
156              
157             =item C<day> integer
158              
159             Numerical day between 1 and 31.
160              
161             =item C<month> integer
162              
163             Numerical month between 1 and 12.
164              
165             =item C<year> integer
166              
167             The four-digit year.
168              
169             =back
170              
171             =head2 files string_array
172              
173             Array of L<File|https://stripe.com/docs/api/files> ids containing images for this document.
174              
175             =head2 first_name string
176              
177             First name as it appears in the document.
178              
179             =head2 front string (expandable)
180              
181             The front of an ID returned by a file upload with a purpose value of identity_document.
182              
183             When expanded, this is a L<Net::API::Stripe::File> object.
184              
185             =head2 issued_date hash
186              
187             Issued date of the document.
188              
189             It has the following properties:
190              
191             =over 4
192              
193             =item C<day> integer
194              
195             Numerical day between 1 and 31.
196              
197             =item C<month> integer
198              
199             Numerical month between 1 and 12.
200              
201             =item C<year> integer
202              
203             The four-digit year.
204              
205             =back
206              
207             =head2 issuing_country string
208              
209             Issuing country of the document.
210              
211             =head2 last_name string
212              
213             Last name as it appears in the document.
214              
215             =head2 number string
216              
217             Document ID number.
218              
219             =head2 status string
220              
221             Status of this C<document> check.
222              
223             =head2 type string
224              
225             Type of the document.
226              
227             =head1 API SAMPLE
228              
229             {
230             "id": "person_fake123456789",
231             "object": "person",
232             "account": "acct_fake123456789",
233             "created": 1580075612,
234             "dob": {
235             "day": null,
236             "month": null,
237             "year": null
238             },
239             "first_name_kana": null,
240             "first_name_kanji": null,
241             "gender": null,
242             "last_name_kana": null,
243             "last_name_kanji": null,
244             "metadata": {},
245             "relationship": {
246             "director": false,
247             "executive": false,
248             "owner": false,
249             "percent_ownership": null,
250             "representative": false,
251             "title": null
252             },
253             "requirements": {
254             "currently_due": [],
255             "eventually_due": [],
256             "past_due": [],
257             "pending_verification": []
258             },
259             "verification": {
260             "additional_document": {
261             "back": null,
262             "details": null,
263             "details_code": null,
264             "front": null
265             },
266             "details": null,
267             "details_code": null,
268             "document": {
269             "back": null,
270             "details": null,
271             "details_code": null,
272             "front": null
273             },
274             "status": "unverified"
275             }
276             }
277              
278             =head1 HISTORY
279              
280             =head2 v0.1
281              
282             Initial version
283              
284             =head1 AUTHOR
285              
286             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
287              
288             =head1 SEE ALSO
289              
290             Stripe API documentation:
291              
292             L<https://stripe.com/docs/api>
293              
294             =head1 COPYRIGHT & LICENSE
295              
296             Copyright (c) 2019-2020 DEGUEST Pte. Ltd.
297              
298             You can use, copy, modify and redistribute this package and associated
299             files under the same terms as Perl itself.
300              
301             =cut