NAME

Net::API::Stripe::Connect::Transfer - A Stripe Account-to-Account Transfer Object

SYNOPSIS

my $trans = $stripe->transfer({
    amount => 2000,
    currency => 'jpy',
    description => 'Campaign contribution payment',
    destination => $account_object,
    metadata => { transaction_id => 123 },
});

See documentation in Net::API::Stripe for example to make api calls to Stripe to create those objects.

VERSION

v0.100.0

DESCRIPTION

A Transfer object is created when you move funds between Stripe accounts as part of Connect.

Before April 6, 2017, transfers also represented movement of funds from a Stripe account to a card or bank account. This behavior has since been split out into a Payout object (Net::API::Stripe::Payout / https://stripe.com/docs/api/transfers#payout_object), with corresponding payout endpoints. For more information, read about the transfer/payout split (https://stripe.com/docs/transfer-payout-split).

CONSTRUCTOR

new( %ARG )

Creates a new Net::API::Stripe::Connect::Transfer object. It may also take an hash like arguments, that also are method of the same name.

METHODS

id string

Unique identifier for the object.

object string, value is "transfer"

String representing the object’s type. Objects of the same type share the same value.

amount integer

Amount in JPY to be transferred.

amount_reversed integer

Amount in JPY reversed (can be less than the amount attribute on the transfer if a partial reversal was issued).

balance_transaction string (expandable)

Balance transaction that describes the impact of this transfer on your account balance.

When expanded, this is a Net::API::Stripe::Balance::Transaction object.

created timestamp

Time that this record of the transfer was first created.

currency currency

Three-letter ISO currency code, in lowercase. Must be a supported currency.

description string

An arbitrary string attached to the object. Often useful for displaying to users.

destination string (expandable)

ID of the Stripe account the transfer was sent to.

When expanded, this is a Net::API::Stripe::Connect::Account object.

destination_payment string (expandable)

If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.

When expanded, this is a Net::API::Stripe::Connect::Transfer object.

livemode boolean

Has the value true if the object exists in live mode or the value false if the object exists in test mode.

metadata hash

A set of key-value pairs that you can attach to a transfer object. It can be useful for storing additional information about the transfer in a structured format.

reversals list

A list of reversals that have been applied to the transfer.

This is a Net::API::Stripe::Connect::Transfer::Reversals object.

reversed boolean

Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false.

source_transaction string (expandable)

ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance.

When expanded, this is a Net::API::Stripe::Charge object.

source_type string

The source balance this transfer came from. One of card or bank_account.

source_types hash

This is undocumented, but found in Stripe API response.

transfer_group string

A string that identifies this transaction as part of a group. See the Connect documentation for details.

API SAMPLE

{
"id": "tr_fake123456789",
"object": "transfer",
"amount": 1100,
"amount_reversed": 0,
"balance_transaction": "txn_fake123456789",
"created": 1571197172,
"currency": "jpy",
"description": null,
"destination": "acct_fake123456789",
"destination_payment": "py_fake123456789",
"livemode": false,
"metadata": {},
"reversals": {
    "object": "list",
    "data": [],
    "has_more": false,
    "url": "/v1/transfers/tr_fake123456789/reversals"
},
"reversed": false,
"source_transaction": null,
"source_type": "card",
"transfer_group": null
}

HISTORY

v0.1

Initial version

STRIPE HISTORY

2017-04-06

Splits the Transfer object into Payout and Transfer. The Payout object represents money moving from a Stripe account to an external account (bank or debit card). The Transfer object now only represents money moving between Stripe accounts on a Connect platform. For more details, see https://stripe.com/docs/transfer-payout-split.

AUTHOR

Jacques Deguest <jack@deguest.jp>

SEE ALSO

Stripe API documentation:

https://stripe.com/docs/api/transfers, https://stripe.com/docs/connect/charges-transfers

COPYRIGHT & LICENSE

Copyright (c) 2019-2020 DEGUEST Pte. Ltd.

You can use, copy, modify and redistribute this package and associated files under the same terms as Perl itself.