File Coverage

lib/Net/API/Stripe/Connect/CountrySpec.pm
Criterion Covered Total %
statement 19 27 70.3
branch n/a
condition n/a
subroutine 7 15 46.6
pod 8 8 100.0
total 34 50 68.0


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