Sample - Stripe API
POST/v1/transfers

Create a transfer

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.

  • RetriesRetries up to 2×, 500ms backoff, 30s timeout.
  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

9 body fields
amountintegeroptional
A positive integer in cents (or local equivalent) representing how much to transfer.
currencystringrequired
Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies).
descriptionstringoptional
An arbitrary string attached to the object. Often useful for displaying to users.
destinationstringrequired
The ID of a connected Stripe account. <a href="/docs/connect/separate-charges-and-transfers">See the Connect documentation</a> for details.
expandarray<string>optional
Specifies which fields in the response should be expanded.
metadataobjectoptional
Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`.
source_transactionstringoptional
You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://docs.stripe.com/connect/separate-charges-and-transfers#transfer-availability) for details.
source_typestringoptional
The source balance to use for this transfer. One of `bank_account`, `card`, or `fpx`. For most users, this will default to `card`.
Allowed:bank_accountcardfpx
transfer_groupstringoptional
A string that identifies this transaction as part of a group. See the [Connect documentation](https://docs.stripe.com/connect/separate-charges-and-transfers#transfer-options) for details.

2 status codes
200Successful response.
amountintegerrequired
Amount in cents (or local equivalent) to be transferred.
amount_reversedintegerrequired
Amount in cents (or local equivalent) reversed (can be less than the amount attribute on the transfer if a partial reversal was issued).
balance_transactionstringoptional
Balance transaction that describes the impact of this transfer on your account balance.
createdintegerrequired
Time that this record of the transfer was first created.
currencystringrequired
Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
descriptionstringoptional
An arbitrary string attached to the object. Often useful for displaying to users.
destinationstringoptional
ID of the Stripe account the transfer was sent to.
destination_paymentstringoptional
If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.
idstringrequired
Unique identifier for the object.
livemodebooleanrequired
If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
metadataobjectrequired
Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
objectstringrequired
String representing the object's type. Objects of the same type share the same value.
Allowed:transfer
reversalsobjectrequired
A list of reversals that have been applied to the transfer.
reversedbooleanrequired
Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false.
source_transactionstringoptional
ID of the charge that was used to fund the transfer. If null, the transfer was funded from the available balance.
source_typestringoptional
The source balance this transfer came from. One of `card`, `fpx`, or `bank_account`.
transfer_groupstringoptional
A string that identifies this transaction as part of a group. See the [Connect documentation](https://docs.stripe.com/connect/separate-charges-and-transfers#transfer-options) for details.
defaultError response.
errorobjectrequired

Error handling

Any other status is an error: Error response.