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 cents 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 cents 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).
{ "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"}
Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
This request accepts only metadata as an argument.
Parameters
- 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
.
Returns
Returns the transfer object if the update succeeded. This call will raise an error if update parameters are invalid.
{ "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": { "order_id": "6735" }, "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"}
Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.
Parameters
No parameters.
Returns
Returns a transfer object if a valid identifier was provided, and raises an error otherwise.
{ "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"}