File Coverage

blib/lib/Net/API/Stripe/Connect/CountrySpec.pm
Criterion Covered Total %
statement 7 15 46.6
branch n/a
condition n/a
subroutine 3 11 27.2
pod 8 8 100.0
total 18 34 52.9


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Connect/CountrySpec.pm
3             ## Version v0.100.0
4             ## Copyright(c) 2019 DEGUEST Pte. Ltd.
5             ## Author: Jacques Deguest <@sitael.tokyo.deguest.jp>
6             ## Created 2019/11/02
7             ## Modified 2020/05/15
8             ##
9             ##----------------------------------------------------------------------------
10             ## https://stripe.com/docs/api/country_specs/object
11             package Net::API::Stripe::Connect::CountrySpec;
12             BEGIN
13             {
14 1     1   817 use strict;
  1         2  
  1         27  
15 1     1   9 use parent qw( Net::API::Stripe::Generic );
  1         2  
  1         4  
16 1     1   194 our( $VERSION ) = 'v0.100.0';
17             };
18              
19 0     0 1   sub id { shift->_set_get_scalar( 'id', @_ ); }
20              
21 0     0 1   sub object { shift->_set_get_scalar( 'object', @_ ); }
22              
23 0     0 1   sub default_currency { shift->_set_get_scalar( 'default_currency', @_ ); }
24              
25 0     0 1   sub supported_bank_account_currencies { shift->_set_get_hash( 'supported_bank_account_currencies', @_ ); }
26              
27 0     0 1   sub supported_payment_currencies { shift->_set_get_array( 'supported_payment_currencies', @_ ); }
28              
29 0     0 1   sub supported_payment_methods { shift->_set_get_array( 'supported_payment_methods', @_ ); }
30              
31 0     0 1   sub supported_transfer_countries { shift->_set_get_array( 'supported_transfer_countries', @_ ); }
32              
33 0     0 1   sub verification_fields { shift->_set_get_object( 'verification_fields', 'Net::API::Stripe::Connect::CountrySpec::VerificationFields', @_ ); }
34              
35             1;
36              
37             __END__
38              
39             __END__
40              
41             =encoding utf8
42              
43             =head1 NAME
44              
45             Net::API::Stripe::Connect::CountrySpec - A Stripe Country Spec Object
46              
47             =head1 SYNOPSIS
48              
49             my $spec = $stripe->country_spec({
50             default_currency => 'jpy',
51             supported_bank_account_currencies =>
52             {
53             eur => [qw( be fr de it lu nl dk ie gr pt es at fi sw cy cz ee hu lv lt mt pl sk si bg ro hr va )],
54             jpy => [qw( jp )],
55             twd => [qw( tw )],
56             },
57             });
58              
59             =head1 VERSION
60              
61             v0.100.0
62              
63             =head1 DESCRIPTION
64              
65             Stripe needs to collect certain pieces of information about each account created. These requirements can differ depending on the account's country. The Country Specs API makes these rules available to your integration.
66              
67             =head1 CONSTRUCTOR
68              
69             =over 4
70              
71             =item B<new>( %ARG )
72              
73             Creates a new L<Net::API::Stripe::Connect::CountrySpec> object.
74             It may also take an hash like arguments, that also are method of the same name.
75              
76             =back
77              
78             =head1 METHODS
79              
80             =over 4
81              
82             =item B<id> string
83              
84             Unique identifier for the object. Represented as the ISO country code for this country.
85              
86             =item B<object> string, value is "country_spec"
87              
88             String representing the object’s type. Objects of the same type share the same value.
89              
90             =item B<default_currency> string
91              
92             The default currency for this country. This applies to both payment methods and bank accounts.
93              
94             =item B<supported_bank_account_currencies> hash
95              
96             Currencies that can be accepted in the specific country (for transfers).
97              
98             =item B<supported_payment_currencies> array containing strings
99              
100             Currencies that can be accepted in the specified country (for payments).
101              
102             =item B<supported_payment_methods> array containing strings
103              
104             Payment methods available in the specified country. You may need to enable some payment methods (e.g., ACH) on your account before they appear in this list. The stripe payment method refers to charging through your platform.
105              
106             =item B<supported_transfer_countries> array containing strings
107              
108             Countries that can accept transfers from the specified country.
109              
110             =item B<verification_fields> hash
111              
112             Lists the types of verification data needed to keep an account open.
113              
114             This is a L<Net::API::Stripe::Connect::CountrySpec::VerificationFields> object.
115              
116             =back
117              
118             =head1 API SAMPLE
119              
120             {
121             "id": "US",
122             "object": "country_spec",
123             "default_currency": "usd",
124             "supported_bank_account_currencies": {
125             "usd": [
126             "US"
127             ]
128             },
129             "supported_payment_currencies": [
130             "usd",
131             "aed",
132             "afn",
133             "..."
134             ],
135             "supported_payment_methods": [
136             "ach",
137             "card",
138             "stripe"
139             ],
140             "supported_transfer_countries": [
141             "US"
142             ],
143             "verification_fields": {
144             "company": {
145             "additional": [
146             "relationship.representative"
147             ],
148             "minimum": [
149             "business_profile.mcc",
150             "business_profile.url",
151             "business_type",
152             "company.address.city",
153             "company.address.line1",
154             "company.address.postal_code",
155             "company.address.state",
156             "company.name",
157             "company.phone",
158             "company.tax_id",
159             "external_account",
160             "relationship.owner",
161             "relationship.representative",
162             "tos_acceptance.date",
163             "tos_acceptance.ip"
164             ]
165             },
166             "individual": {
167             "additional": [
168             "individual.id_number"
169             ],
170             "minimum": [
171             "business_profile.mcc",
172             "business_profile.url",
173             "business_type",
174             "external_account",
175             "individual.address.city",
176             "individual.address.line1",
177             "individual.address.postal_code",
178             "individual.address.state",
179             "individual.dob.day",
180             "individual.dob.month",
181             "individual.dob.year",
182             "individual.email",
183             "individual.first_name",
184             "individual.last_name",
185             "individual.phone",
186             "individual.ssn_last_4",
187             "tos_acceptance.date",
188             "tos_acceptance.ip"
189             ]
190             }
191             }
192             }
193              
194             =head1 HISTORY
195              
196             =head2 v0.1
197              
198             Initial version
199              
200             =head1 AUTHOR
201              
202             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
203              
204             =head1 SEE ALSO
205              
206             Stripe API documentation:
207              
208             L<https://stripe.com/docs/api/country_specs>, L<https://stripe.com/docs/connect/required-verification-information>
209              
210             =head1 COPYRIGHT & LICENSE
211              
212             Copyright (c) 2019-2020 DEGUEST Pte. Ltd.
213              
214             You can use, copy, modify and redistribute this package and associated
215             files under the same terms as Perl itself.
216              
217             =cut