File Coverage

lib/Net/API/Stripe/Financial/Connections/Session.pm
Criterion Covered Total %
statement 7 16 43.7
branch n/a
condition n/a
subroutine 3 12 25.0
pod 9 9 100.0
total 19 37 51.3


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Financial/Connections/Session.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::Financial::Connections::Session;
11             BEGIN
12             {
13 2     2   21248394 use strict;
  2         13  
  2         69  
14 2     2   11 use parent qw( Net::API::Stripe::Generic );
  2         3  
  2         15  
15 2     2   640 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 account_holder { return( shift->_set_get_object( 'account_holder', 'Net::API::Stripe::Payment::Source', @_ ) ); }
23              
24 0     0 1   sub accounts { return( shift->_set_get_object( 'accounts', 'Net::API::Stripe::List', @_ ) ); }
25              
26 0     0 1   sub client_secret { return( shift->_set_get_scalar( 'client_secret', @_ ) ); }
27              
28 0     0 1   sub filters { return( shift->_set_get_class( 'filters',
29             { countries => { type => "array" } }, @_ ) ); }
30              
31 0     0 1   sub livemode { return( shift->_set_get_boolean( 'livemode', @_ ) ); }
32              
33 0     0 1   sub permissions { return( shift->_set_get_array( 'permissions', @_ ) ); }
34              
35 0     0 1   sub return_url { return( shift->_set_get_scalar( 'return_url', @_ ) ); }
36              
37             1;
38             # NOTE: POD
39             __END__
40              
41             =encoding utf8
42              
43             =head1 NAME
44              
45             Net::API::Stripe::Financial::Connections::Session - The Session object
46              
47             =head1 SYNOPSIS
48              
49             =head1 VERSION
50              
51             v0.1.0
52              
53             =head1 DESCRIPTION
54              
55             A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts.
56              
57              
58             =head1 METHODS
59              
60             =head2 id string
61              
62             Unique identifier for the object.
63              
64             =head2 object string
65              
66             String representing the object's type. Objects of the same type share the same value.
67              
68             =head2 account_holder object
69              
70             The account holder for whom accounts are collected in this session.
71              
72             This is a L<Net::API::Stripe::Payment::Source> object.
73              
74             =head2 accounts object
75              
76             The accounts that were collected as part of this Session.
77              
78             This is a L<Net::API::Stripe::List> object.
79              
80             =head2 client_secret string
81              
82             A value that will be passed to the client to launch the authentication flow.
83              
84             =head2 filters hash
85              
86             Filters applied to this session that restrict the kinds of accounts to collect.
87              
88             It has the following properties:
89              
90             =over 4
91              
92             =item C<countries> string_array
93              
94             List of countries from which to filter accounts.
95              
96             =back
97              
98             =head2 livemode boolean
99              
100             Has the value C<true> if the object exists in live mode or the value C<false> if the object exists in test mode.
101              
102             =head2 permissions array
103              
104             Permissions requested for accounts collected during this session.
105              
106             =head2 return_url string
107              
108             For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
109              
110             =head1 API SAMPLE
111              
112             [
113             {
114             "accountholder" : {
115             "account" : "acct_1KdUF8RhmIBPIfCO",
116             "type" : "account"
117             },
118             "client_secret" : "fcsess_client_secret_PZri8EdhlStQTdnecntKdjnx",
119             "filters" : {
120             "countries" : [
121             "US"
122             ]
123             },
124             "id" : "fcsess_1LE8to2eZvKYlo2CeCL5ftCO",
125             "linked_accounts" : {
126             "data" : [],
127             "has_more" : 0,
128             "object" : "list",
129             "url" : "/v1/linked_accounts"
130             },
131             "livemode" : 0,
132             "object" : "link_account_session",
133             "permissions" : [
134             "ownership",
135             "payment_method"
136             ]
137             }
138             ]
139              
140             =head1 HISTORY
141              
142             =head2 v0.1.0
143              
144             Initial version
145              
146             =head1 AUTHOR
147              
148             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
149              
150             =head1 SEE ALSO
151              
152             L<Stripe API documentation|https://stripe.com/docs/api/financial_connections/session>
153              
154             =head1 COPYRIGHT & LICENSE
155              
156             Copyright (c) 2019-2022 DEGUEST Pte. Ltd.
157              
158             You can use, copy, modify and redistribute this package and associated
159             files under the same terms as Perl itself.
160              
161             =cut