File Coverage

lib/Net/API/Stripe/Treasury/TransactionEntry.pm
Criterion Covered Total %
statement 7 20 35.0
branch n/a
condition n/a
subroutine 3 16 18.7
pod 13 13 100.0
total 23 49 46.9


line stmt bran cond sub pod time code
1             ##----------------------------------------------------------------------------
2             ## Stripe API - ~/lib/Net/API/Stripe/Treasury/TransactionEntry.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::TransactionEntry;
11             BEGIN
12             {
13 2     2   21266980 use strict;
  2         15  
  2         72  
14 2     2   10 use parent qw( Net::API::Stripe::Generic );
  2         5  
  2         12  
15 2     2   923 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 balance_impact { return( shift->_set_get_class( 'balance_impact',
23             {
24             cash => { type => "number" },
25             inbound_pending => { type => "number" },
26             outbound_pending => { type => "number" },
27             }, @_ ) ); }
28              
29 0     0 1   sub created { return( shift->_set_get_datetime( 'created', @_ ) ); }
30              
31 0     0 1   sub currency { return( shift->_set_get_number( 'currency', @_ ) ); }
32              
33 0     0 1   sub effective_at { return( shift->_set_get_datetime( 'effective_at', @_ ) ); }
34              
35 0     0 1   sub financial_account { return( shift->_set_get_scalar( 'financial_account', @_ ) ); }
36              
37 0     0 1   sub flow { return( shift->_set_get_scalar( 'flow', @_ ) ); }
38              
39 0     0 1   sub flow_details { return( shift->_set_get_class( 'flow_details',
40             {
41             credit_reversal => {
42             package => "Net::API::Stripe::Treasury::CreditReversal",
43             type => "object",
44             },
45             debit_reversal => {
46             package => "Net::API::Stripe::Treasury::DebitReversal",
47             type => "object",
48             },
49             inbound_transfer => {
50             package => "Net::API::Stripe::Treasury::InboundTransfer",
51             type => "object",
52             },
53             issuing_authorization => { type => "hash" },
54             outbound_payment => {
55             package => "Net::API::Stripe::Treasury::OutboundPayment",
56             type => "object",
57             },
58             outbound_transfer => {
59             package => "Net::API::Stripe::Treasury::OutboundTransfer",
60             type => "object",
61             },
62             received_credit => {
63             package => "Net::API::Stripe::Treasury::ReceivedCredit",
64             type => "object",
65             },
66             received_debit => {
67             package => "Net::API::Stripe::Treasury::ReceivedDebit",
68             type => "object",
69             },
70             type => { type => "scalar" },
71             }, @_ ) ); }
72              
73 0     0 1   sub flow_type { return( shift->_set_get_scalar( 'flow_type', @_ ) ); }
74              
75 0     0 1   sub livemode { return( shift->_set_get_boolean( 'livemode', @_ ) ); }
76              
77 0     0 1   sub transaction { return( shift->_set_get_scalar_or_object( 'transaction', 'Net::API::Stripe::Treasury::Transaction', @_ ) ); }
78              
79 0     0 1   sub type { return( shift->_set_get_scalar( 'type', @_ ) ); }
80              
81             1;
82             # NOTE: POD
83             __END__
84              
85             =encoding utf8
86              
87             =head1 NAME
88              
89             Net::API::Stripe::Treasury::TransactionEntry - The TransactionEntry object
90              
91             =head1 SYNOPSIS
92              
93             =head1 VERSION
94              
95             v0.1.0
96              
97             =head1 DESCRIPTION
98              
99             TransactionEntries represent individual units of money movements within a single L<Transaction|https://stripe.com/docs/api/treasury/transactions>.
100              
101             =head1 METHODS
102              
103             =head2 id string
104              
105             Unique identifier for the object.
106              
107             =head2 object string
108              
109             String representing the object's type. Objects of the same type share the same value.
110              
111             =head2 balance_impact hash
112              
113             The current impact of the TransactionEntry on the FinancialAccount's balance.
114              
115             It has the following properties:
116              
117             =over 4
118              
119             =item C<cash> integer
120              
121             The change made to funds the user can spend right now.
122              
123             =item C<inbound_pending> integer
124              
125             The change made to funds that are not spendable yet, but will become available at a later time.
126              
127             =item C<outbound_pending> integer
128              
129             The change made to funds in the account, but not spendable because they are being held for pending outbound flows.
130              
131             =back
132              
133             =head2 created timestamp
134              
135             Time at which the object was created. Measured in seconds since the Unix epoch.
136              
137             =head2 currency currency
138              
139             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>.
140              
141             =head2 effective_at timestamp
142              
143             When the TransactionEntry will impact the FinancialAccount's balance.
144              
145             =head2 financial_account string
146              
147             The FinancialAccount associated with this object.
148              
149             =head2 flow string
150              
151             Token of the flow associated with the TransactionEntry.
152              
153             =head2 flow_details hash
154              
155             Details of the flow associated with the TransactionEntry.
156              
157             It has the following properties:
158              
159             =over 4
160              
161             =item C<credit_reversal> hash
162              
163             The CreditReversal object associated with the Transaction. Set if C<type=credit_reversal>.
164              
165             When expanded, this is a L<Net::API::Stripe::Treasury::CreditReversal> object.
166              
167             =item C<debit_reversal> hash
168              
169             The DebitReversal object associated with the Transaction. Set if C<type=debit_reversal>.
170              
171             When expanded, this is a L<Net::API::Stripe::Treasury::DebitReversal> object.
172              
173             =item C<inbound_transfer> hash
174              
175             The InboundTransfer object associated with the Transaction. Set if C<type=inbound_transfer>.
176              
177             When expanded, this is a L<Net::API::Stripe::Treasury::InboundTransfer> object.
178              
179             =item C<issuing_authorization> hash
180              
181             The Issuing authorization object associated with the Transaction. Set if C<type=issuing_authorization>.
182              
183             =item C<outbound_payment> hash
184              
185             The OutboundPayment object associated with the Transaction. Set if C<type=outbound_payment>.
186              
187             When expanded, this is a L<Net::API::Stripe::Treasury::OutboundPayment> object.
188              
189             =item C<outbound_transfer> hash
190              
191             The OutboundTransfer object associated with the Transaction. Set if C<type=outbound_transfer>.
192              
193             When expanded, this is a L<Net::API::Stripe::Treasury::OutboundTransfer> object.
194              
195             =item C<received_credit> hash
196              
197             The ReceivedCredit object associated with the Transaction. Set if C<type=received_credit>.
198              
199             When expanded, this is a L<Net::API::Stripe::Treasury::ReceivedCredit> object.
200              
201             =item C<received_debit> hash
202              
203             The ReceivedDebit object associated with the Transaction. Set if C<type=received_debit>.
204              
205             When expanded, this is a L<Net::API::Stripe::Treasury::ReceivedDebit> object.
206              
207             =item C<type> string
208              
209             Type of the flow that created the Transaction. Set to the same value as C<flow_type>.
210              
211             =back
212              
213             =head2 flow_type string
214              
215             Type of the flow associated with the TransactionEntry.
216              
217             =head2 livemode boolean
218              
219             Has the value C<true> if the object exists in live mode or the value C<false> if the object exists in test mode.
220              
221             =head2 transaction expandable
222              
223             The Transaction associated with this object.
224              
225             When expanded this is an L<Net::API::Stripe::Treasury::Transaction> object.
226              
227             =head2 type string
228              
229             The specific money movement that generated the TransactionEntry.
230              
231             =head1 API SAMPLE
232              
233             [
234             {
235             "balance_impact" : {
236             "cash" : "0",
237             "inbound_pending" : "0",
238             "outbound_pending" : "-1000"
239             },
240             "created" : "1662261086",
241             "currency" : "usd",
242             "effective_at" : "1662261086",
243             "financial_account" : "fa_1Le9F32eZvKYlo2CjbQcDQUE",
244             "flow" : "obt_1Le9F32eZvKYlo2CPQD5jo2F",
245             "flow_type" : "outbound_transfer",
246             "id" : "trxne_1Le9F42eZvKYlo2CjTLEfFll",
247             "livemode" : 0,
248             "object" : "treasury.transaction_entry",
249             "transaction" : "trxn_1Le9F32eZvKYlo2C2dtkse82",
250             "type" : "outbound_transfer"
251             }
252             ]
253              
254             =head1 HISTORY
255              
256             =head2 v0.1.0
257              
258             Initial version
259              
260             =head1 AUTHOR
261              
262             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
263              
264             =head1 SEE ALSO
265              
266             L<Stripe API documentation|https://stripe.com/docs/api/treasury/transaction_entries>
267              
268             =head1 COPYRIGHT & LICENSE
269              
270             Copyright (c) 2019-2022 DEGUEST Pte. Ltd.
271              
272             You can use, copy, modify and redistribute this package and associated
273             files under the same terms as Perl itself.
274              
275             =cut