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, with corresponding payout endpoints. For more information, read about the transfer/payout split.
Related guide: Creating separate charges and transfers
Attributes
- idstring
Unique identifier for the object.
- amountinteger
Amount in the smallest currency unit to be transferred.
- currencyenum
Three-letter ISO currency code, in lowercase. Must be a supported currency.
- descriptionnullable string
An arbitrary string attached to the object. Often useful for displaying to users.
- destinationnullable stringExpandable
ID of the Stripe account the transfer was sent to.
- metadataobject
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
More attributes
- objectstring
- amount_
reversedinteger - balance_
transactionnullable stringExpandable - createdtimestamp
- destination_
paymentnullable stringExpandable - livemodeboolean
- reversalsobject
- reversedboolean
- source_
transactionnullable stringExpandable - source_
typenullable string - transfer_
groupnullable string
{ "id": "tr_1MiN3gLkdIwHu7ixNCZvFdgA", "object": "transfer", "amount": 400, "amount_reversed": 0, "balance_transaction": "txn_1MiN3gLkdIwHu7ixxapQrznl", "created": 1678043844, "currency": "usd", "description": null, "destination": "acct_1MTfjCQ9PRzxEwkZ", "destination_payment": "py_1MiN3gQ9PRzxEwkZWTPGNq9o", "livemode": false, "metadata": {}, "reversals": { "object": "list", "data": [], "has_more": false, "total_count": 0, "url": "/v1/transfers/tr_1MiN3gLkdIwHu7ixNCZvFdgA/reversals" }, "reversed": false, "source_transaction": null, "source_type": "card", "transfer_group": "ORDER_95"}To send funds from your Stripe account to a connected account, you create a new transfer object. Your Stripe balance must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.
Parameters
- currencyenumRequired
Three-letter ISO code for currency in lowercase. Must be a supported currency.
- destinationstringRequired
The ID of a connected Stripe account. See the Connect documentation for details.
- amountintegerRequired
A positive integer in the smallest currency unit representing how much to transfer.
- descriptionstring
An arbitrary string attached to the object. Often useful for displaying to users.
- metadataobject
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata.
More parameters
- source_
transactionstring - source_
typestring - transfer_
groupstring
Returns
Returns a transfer object if there were no initial errors with the transfer creation (e.g., insufficient funds).
curl https://api.stripe.com/v1/transfers \ -u "sk_test_VePHdqK...NInc7u56JBrQsk_test_VePHdqKTYQjKNInc7u56JBrQ:" \ -d amount=400 \ -d currency=usd \ -d destination={{ACCOUNT_ID}} \ -d transfer_group=ORDER_95{ "id": "tr_1MiN3gLkdIwHu7ixNCZvFdgA", "object": "transfer", "amount": 400, "amount_reversed": 0, "balance_transaction": "txn_1MiN3gLkdIwHu7ixxapQrznl", "created": 1678043844, "currency": "usd", "description": null, "destination": "acct_1MTfjCQ9PRzxEwkZ", "destination_payment": "py_1MiN3gQ9PRzxEwkZWTPGNq9o", "livemode": false, "metadata": {}, "reversals": { "object": "list", "data": [], "has_more": false, "total_count": 0, "url": "/v1/transfers/tr_1MiN3gLkdIwHu7ixNCZvFdgA/reversals" }, "reversed": false, "source_transaction": null, "source_type": "card", "transfer_group": "ORDER_95"}