File Coverage

lib/Net/API/Stripe/Treasury/InboundTransfer.pm
Criterion Covered Total %
statement 7 27 25.9
branch n/a
condition n/a
subroutine 3 23 13.0
pod 20 20 100.0
total 30 70 42.8


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Treasury/InboundTransfer.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::Treasury::InboundTransfer;
11             BEGIN
12             {
13 2     2   21633715 use strict;
  2         18  
  2         83  
14 2     2   12 use parent qw( Net::API::Stripe::Generic );
  2         5  
  2         13  
15 2     2   1117 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 amount { return( shift->_set_get_number( 'amount', @_ ) ); }
23              
24 0     0 1   sub cancelable { return( shift->_set_get_boolean( 'cancelable', @_ ) ); }
25              
26 0     0 1   sub created { return( shift->_set_get_datetime( 'created', @_ ) ); }
27              
28 0     0 1   sub currency { return( shift->_set_get_number( 'currency', @_ ) ); }
29              
30 0     0 1   sub description { return( shift->_set_get_scalar( 'description', @_ ) ); }
31              
32 0     0 1   sub failure_details { return( shift->_set_get_object( 'failure_details', 'Net::API::Stripe::Error', @_ ) ); }
33              
34 0     0 1   sub financial_account { return( shift->_set_get_scalar( 'financial_account', @_ ) ); }
35              
36 0     0 1   sub hosted_regulatory_receipt_url { return( shift->_set_get_scalar( 'hosted_regulatory_receipt_url', @_ ) ); }
37              
38 0     0 1   sub linked_flows { return( shift->_set_get_class( 'linked_flows',
39             { received_debit => { type => "scalar" } }, @_ ) ); }
40              
41 0     0 1   sub livemode { return( shift->_set_get_boolean( 'livemode', @_ ) ); }
42              
43 0     0 1   sub metadata { return( shift->_set_get_hash( 'metadata', @_ ) ); }
44              
45 0     0 1   sub origin_payment_method { return( shift->_set_get_scalar( 'origin_payment_method', @_ ) ); }
46              
47 0     0 1   sub origin_payment_method_details { return( shift->_set_get_object( 'origin_payment_method_details', 'Net::API::Stripe::Payment::Method', @_ ) ); }
48              
49 0     0 1   sub returned { return( shift->_set_get_boolean( 'returned', @_ ) ); }
50              
51 0     0 1   sub statement_descriptor { return( shift->_set_get_scalar( 'statement_descriptor', @_ ) ); }
52              
53 0     0 1   sub status { return( shift->_set_get_scalar( 'status', @_ ) ); }
54              
55 0     0 1   sub status_transitions { return( shift->_set_get_class( 'status_transitions',
56             {
57             failed_at => { type => "datetime" },
58             succeeded_at => { type => "datetime" },
59             }, @_ ) ); }
60              
61 0     0 1   sub transaction { return( shift->_set_get_scalar_or_object( 'transaction', 'Net::API::Stripe::Treasury::Transaction', @_ ) ); }
62              
63             1;
64             # NOTE: POD
65             __END__
66              
67             =encoding utf8
68              
69             =head1 NAME
70              
71             Net::API::Stripe::Treasury::InboundTransfer - The InboundTransfer object
72              
73             =head1 SYNOPSIS
74              
75             =head1 VERSION
76              
77             v0.1.0
78              
79             =head1 DESCRIPTION
80              
81             Use L<InboundTransfers|https://stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers> to add funds to your L<FinancialAccount|https://stripe.com/docs/api/treasury/financial_accounts> via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit.
82              
83             =head1 METHODS
84              
85             =head2 id string
86              
87             Unique identifier for the object.
88              
89             =head2 object string
90              
91             String representing the object's type. Objects of the same type share the same value.
92              
93             =head2 amount integer
94              
95             Amount (in cents) transferred.
96              
97             =head2 cancelable boolean
98              
99             Returns C<true> if the InboundTransfer is able to be canceled.
100              
101             =head2 created timestamp
102              
103             Time at which the object was created. Measured in seconds since the Unix epoch.
104              
105             =head2 currency currency
106              
107             Three-letter L<ISO currency code|https://www.iso.org/iso-4217-currency-codes.html>, in lowercase. Must be a L<supported currency|https://stripe.com/docs/currencies>.
108              
109             =head2 description string
110              
111             An arbitrary string attached to the object. Often useful for displaying to users.
112              
113             =head2 failure_details object
114              
115             Details about this InboundTransfer's failure. Only set when status is C<failed>.
116              
117             This is a L<Net::API::Stripe::Error> object.
118              
119             =head2 financial_account string
120              
121             The FinancialAccount that received the funds.
122              
123             =head2 hosted_regulatory_receipt_url string
124              
125             A L<hosted transaction receipt|https://stripe.com/docs/treasury/moving-money/regulatory-receipts> URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
126              
127             =head2 linked_flows hash
128              
129             Other flows linked to a InboundTransfer.
130              
131             It has the following properties:
132              
133             =over 4
134              
135             =item C<received_debit> string
136              
137             If funds for this flow were returned after the flow went to the C<succeeded> state, this field contains a reference to the ReceivedDebit return.
138              
139             =back
140              
141             =head2 livemode boolean
142              
143             Has the value C<true> if the object exists in live mode or the value C<false> if the object exists in test mode.
144              
145             =head2 metadata hash
146              
147             Set of L<key-value pairs|https://stripe.com/docs/api/metadata> that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
148              
149             =head2 origin_payment_method string
150              
151             The origin payment method to be debited for an InboundTransfer.
152              
153             =head2 origin_payment_method_details object
154              
155             Details about the PaymentMethod for an InboundTransfer.
156              
157             This is a L<Net::API::Stripe::Payment::Method> object.
158              
159             =head2 returned boolean
160              
161             Returns C<true> if the funds for an InboundTransfer were returned after the InboundTransfer went to the C<succeeded> state.
162              
163             =head2 statement_descriptor string
164              
165             Statement descriptor shown when funds are debited from the source. Not all payment networks support C<statement_descriptor>.
166              
167             =head2 status string
168              
169             Status of the InboundTransfer: C<processing>, C<succeeded>, C<failed>, and C<canceled>. An InboundTransfer is C<processing> if it is created and pending. The status changes to C<succeeded> once the funds have been "confirmed" and a C<transaction> is created and posted. The status changes to C<failed> if the transfer fails.
170              
171             =head2 status_transitions hash
172              
173             Hash containing timestamps of when the object transitioned to a particular C<status>.
174              
175             It has the following properties:
176              
177             =over 4
178              
179             =item C<failed_at> timestamp
180              
181             Timestamp describing when an InboundTransfer changed status to C<failed>.
182              
183             =item C<succeeded_at> timestamp
184              
185             Timestamp describing when an InboundTransfer changed status to C<succeeded>.
186              
187             =back
188              
189             =head2 transaction expandable
190              
191             The Transaction associated with this object.
192              
193             When expanded this is an L<Net::API::Stripe::Treasury::Transaction> object.
194              
195             =head1 API SAMPLE
196              
197             [
198             {
199             "amount" : "10000",
200             "cancelable" : 1,
201             "created" : "1662261086",
202             "currency" : "usd",
203             "description" : "InboundTransfer from my external bank account",
204             "failure_details" : null,
205             "financial_account" : "fa_1Le9F32eZvKYlo2CjbQcDQUE",
206             "hosted_regulatory_receipt_url" : "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKN6u0JgGMgYX_o2noYA6NpN4jXrpZ4wHFa5zF22DiASaNO0VqFyFqmmxq76HgJ6U3fMErijpEIwaJZheg_11U9lfHZvHaQ",
207             "id" : "ibt_1Le9F42eZvKYlo2CxDLDB04R",
208             "linked_flows" : {
209             "received_debit" : null
210             },
211             "livemode" : 0,
212             "metadata" : {},
213             "object" : "treasury.inbound_transfer",
214             "origin_payment_method" : "pm_1Le9F32eZvKYlo2CpHGQxg2C",
215             "origin_payment_method_details" : {
216             "billing_details" : {
217             "address" : {
218             "city" : "San Francisco",
219             "country" : "US",
220             "line1" : "1234 Fake Street",
221             "line2" : null,
222             "postal_code" : "94102",
223             "state" : "CA"
224             },
225             "email" : null,
226             "name" : "Jane Austen"
227             },
228             "type" : "us_bank_account",
229             "us_bank_account" : {
230             "account_holder_type" : "company",
231             "account_type" : "checking",
232             "bank_name" : "STRIPE TEST BANK",
233             "fingerprint" : "1JWtPxqbdX5Gamtc",
234             "last4" : "6789",
235             "network" : "ach",
236             "routing_number" : "110000000"
237             }
238             },
239             "returned" : 0,
240             "statement_descriptor" : "transfer",
241             "status" : "processing",
242             "status_transitions" : {
243             "failed_at" : null,
244             "succeeded_at" : null
245             },
246             "transaction" : "trxn_1Le9F32eZvKYlo2C2dtkse82"
247             }
248             ]
249              
250             =head1 HISTORY
251              
252             =head2 v0.1.0
253              
254             Initial version
255              
256             =head1 AUTHOR
257              
258             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
259              
260             =head1 SEE ALSO
261              
262             L<Stripe API documentation|https://stripe.com/docs/api/treasury/inbound_transfers>
263              
264             =head1 COPYRIGHT & LICENSE
265              
266             Copyright (c) 2019-2022 DEGUEST Pte. Ltd.
267              
268             You can use, copy, modify and redistribute this package and associated
269             files under the same terms as Perl itself.
270              
271             =cut