The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

##----------------------------------------------------------------------------
## Stripe API - ~/lib/Net/API/Stripe/Treasury/ReceivedCredit.pm
## Version v0.1.0
## Copyright(c) 2022 DEGUEST Pte. Ltd.
## Author: Jacques Deguest <jack@deguest.jp>
## Created 2022/10/29
## Modified 2022/10/29
##
##----------------------------------------------------------------------------
BEGIN
{
use strict;
our( $VERSION ) = 'v0.1.0';
};
sub id { return( shift->_set_get_scalar( 'id', @_ ) ); }
sub object { return( shift->_set_get_scalar( 'object', @_ ) ); }
sub amount { return( shift->_set_get_number( 'amount', @_ ) ); }
sub created { return( shift->_set_get_datetime( 'created', @_ ) ); }
sub currency { return( shift->_set_get_number( 'currency', @_ ) ); }
sub description { return( shift->_set_get_scalar( 'description', @_ ) ); }
sub failure_code { return( shift->_set_get_scalar( 'failure_code', @_ ) ); }
sub financial_account { return( shift->_set_get_scalar( 'financial_account', @_ ) ); }
sub hosted_regulatory_receipt_url { return( shift->_set_get_scalar( 'hosted_regulatory_receipt_url', @_ ) ); }
sub initiating_payment_method_details { return( shift->_set_get_class( 'initiating_payment_method_details',
{
balance => { type => "scalar" },
billing_details => { package => "Net::API::Stripe::Billing::Details", type => "object" },
financial_account => {
package => "Net::API::Stripe::Connect::ExternalAccount::Card",
type => "object",
},
issuing_card => { type => "scalar" },
type => { type => "scalar" },
us_bank_account => {
package => "Net::API::Stripe::Connect::ExternalAccount::Bank",
type => "object",
},
}, @_ ) ); }
sub linked_flows { return( shift->_set_get_class( 'linked_flows',
{
credit_reversal => { type => "scalar" },
issuing_authorization => { type => "scalar" },
issuing_transaction => { type => "scalar" },
source_flow => { type => "scalar" },
source_flow_details => {
definition => {
credit_reversal => {
package => "Net::API::Stripe::Treasury::CreditReversal",
type => "object",
},
outbound_payment => {
package => "Net::API::Stripe::Treasury::OutboundPayment",
type => "object",
},
payout => { type => "hash" },
type => { type => "scalar" },
},
type => "class",
},
source_flow_type => { type => "scalar" },
}, @_ ) ); }
sub livemode { return( shift->_set_get_boolean( 'livemode', @_ ) ); }
sub network { return( shift->_set_get_scalar( 'network', @_ ) ); }
sub reversal_details { return( shift->_set_get_class( 'reversal_details',
{
deadline => { type => "datetime" },
restricted_reason => { type => "scalar" },
}, @_ ) ); }
sub status { return( shift->_set_get_scalar( 'status', @_ ) ); }
sub transaction { return( shift->_set_get_scalar_or_object( 'transaction', 'Net::API::Stripe::Treasury::Transaction', @_ ) ); }
1;
# NOTE: POD
__END__
=encoding utf8
=head1 NAME
Net::API::Stripe::Treasury::ReceivedCredit - The ReceivedCredit object
=head1 SYNOPSIS
=head1 VERSION
v0.1.0
=head1 DESCRIPTION
ReceivedCredits represent funds sent to a L<FinancialAccount|https://stripe.com/docs/api/treasury/financial_accounts> (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount.
=head1 METHODS
=head2 id string
Unique identifier for the object.
=head2 object string
String representing the object's type. Objects of the same type share the same value.
=head2 amount integer
Amount (in cents) transferred.
=head2 created timestamp
Time at which the object was created. Measured in seconds since the Unix epoch.
=head2 currency currency
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>.
=head2 description string
An arbitrary string attached to the object. Often useful for displaying to users.
=head2 failure_code string
Reason for the failure. A ReceivedCredit might fail because the receiving FinancialAccount is closed or frozen.
=head2 financial_account string
The FinancialAccount that received the funds.
=head2 hosted_regulatory_receipt_url string
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.
=head2 initiating_payment_method_details hash
Details about the PaymentMethod used to send a ReceivedCredit.
It has the following properties:
=over 4
=item C<balance> string
Set when C<type> is C<balance>.
=item C<billing_details> hash
The contact details of the person or business referenced by the received payment method details.
When expanded, this is a L<Net::API::Stripe::Billing::Details> object.
=item C<financial_account> hash
Set when C<type> is C<financial_account>. This is a L<FinancialAccount|https://stripe.com/docs/api/treasury/financial_accounts> ID.
When expanded, this is a L<Net::API::Stripe::Connect::ExternalAccount::Card> object.
=item C<issuing_card> string
Set when C<type> is C<issuing_card>. This is an L<Issuing Card|https://stripe.com/docs/api/issuing/cards> ID.
=item C<type> string
Polymorphic type matching the originating money movement's source. This can be an external account, a Stripe balance, or a FinancialAccount.
=item C<us_bank_account> hash
Set when C<type> is C<us_bank_account>.
When expanded, this is a L<Net::API::Stripe::Connect::ExternalAccount::Bank> object.
=back
=head2 linked_flows hash
Other flows linked to a ReceivedCredit.
It has the following properties:
=over 4
=item C<credit_reversal> string
The CreditReversal created as a result of this ReceivedCredit being reversed.
=item C<issuing_authorization> string
Set if the ReceivedCredit was created due to an L<Issuing Authorization|https://stripe.com/docs/api/issuing/authorizations> object.
=item C<issuing_transaction> string
Set if the ReceivedCredit is also viewable as an L<Issuing transaction|https://stripe.com/docs/api/issuing/transactions> object.
=item C<source_flow> string
ID of the source flow. Set if C<network> is C<stripe> and the source flow is visible to the user. Examples of source flows include OutboundPayments, payouts, or CreditReversals.
=item C<source_flow_details> hash
The expandable object of the source flow.
=over 8
=item C<credit_reversal> hash
When expanded, this is a L<Net::API::Stripe::Treasury::CreditReversal> object.
=item C<outbound_payment> hash
Details about an L<OutboundPayment|https://stripe.com/docs/api/treasury/outbound_payments>.
When expanded, this is a L<Net::API::Stripe::Treasury::OutboundPayment> object.
=item C<payout> hash
Details about a L<Payout|https://stripe.com/docs/api/payouts>.
=item C<type> string
The type of the source flow that originated the ReceivedCredit.
=back
=item C<source_flow_type> string
The type of flow that originated the ReceivedCredit (for example, C<outbound_payment>).
=back
=head2 livemode boolean
Has the value C<true> if the object exists in live mode or the value C<false> if the object exists in test mode.
=head2 network string
The rails used to send the funds.
=head2 reversal_details hash
Details describing when a ReceivedCredit may be reversed.
It has the following properties:
=over 4
=item C<deadline> timestamp
Time before which a ReceivedCredit can be reversed.
=item C<restricted_reason> string
Set if a ReceivedCredit cannot be reversed.
=back
=head2 status string
Status of the ReceivedCredit. ReceivedCredits are created either C<succeeded> (approved) or C<failed> (declined). If a ReceivedCredit is declined, the failure reason can be found in the C<failure_code> field.
=head2 transaction expandable
The Transaction associated with this object.
When expanded this is an L<Net::API::Stripe::Treasury::Transaction> object.
=head1 API SAMPLE
[
{
"amount" : "1234",
"created" : "1662261086",
"currency" : "usd",
"description" : "Stripe Test",
"failure_code" : null,
"financial_account" : "fa_1Le9F32eZvKYlo2CjbQcDQUE",
"id" : "rc_1Le9F42eZvKYlo2CM2wIU5bz",
"initiating_payment_method_details" : {
"billing_details" : {
"address" : {
"city" : null,
"country" : null,
"line1" : null,
"line2" : null,
"postal_code" : null,
"state" : null
},
"email" : null,
"name" : "Jane Austen"
},
"type" : "us_bank_account",
"us_bank_account" : {
"bank_name" : "STRIPE TEST BANK",
"last4" : "6789",
"routing_number" : "110000000"
}
},
"linked_flows" : {
"credit_reversal" : null,
"issuing_authorization" : null,
"issuing_transaction" : null,
"source_flow" : null,
"source_flow_type" : null
},
"livemode" : 0,
"network" : "ach",
"object" : "treasury.received_credit",
"reversal_details" : {
"deadline" : "1662508800",
"restricted_reason" : null
},
"status" : "succeeded",
"transaction" : "trxn_1Le9F32eZvKYlo2C2dtkse82"
}
]
=head1 HISTORY
=head2 v0.1.0
Initial version
=head1 AUTHOR
Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
=head1 SEE ALSO
=head1 COPYRIGHT & LICENSE
Copyright (c) 2019-2022 DEGUEST Pte. Ltd.
You can use, copy, modify and redistribute this package and associated
files under the same terms as Perl itself.
=cut