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