POST
/v1/treasury/outbound_transfersCreate an outbound transfer
Creates a new OutboundTransfer from a FinancialAccount to a PaymentMethod belonging to the same entity. Supply amount, currency, and financial_account, then identify the destination with either destination_payment_method or destination_payment_method_data.
- RetriesRetries up to 2×, 500ms backoff, 30s timeout.
- IdempotentThe SDK sends
Idempotency-Key, so a retried request is only applied once.
OutboundTransfer creation details for moving funds from a FinancialAccount.
amountintegerrequired
Amount (in cents) to be transferred.
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.
destination_payment_methodstringoptional
The PaymentMethod to use as the payment instrument for the OutboundTransfer.
destination_payment_method_dataobjectoptional
Hash used to generate the PaymentMethod to be used for this OutboundTransfer. Exclusive with `destination_payment_method`.
destination_payment_method_optionsobjectoptional
Hash describing payment method configuration details.
expandarray<string>optional
Specifies which fields in the response should be expanded.
financial_accountstringrequired
The FinancialAccount to pull funds from.
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`.
statement_descriptorstringoptional
Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters for `ach` transfers or 140 characters for `us_domestic_wire` transfers. The default value is "transfer". Can only include -#.$&*, spaces, and alphanumeric characters.
200Returns the created OutboundTransfer, including its amount, currency, source FinancialAccount, destination payment method details, expected arrival date, status, and transaction details.
amountintegerrequired
Amount (in cents) transferred.
cancelablebooleanrequired
Returns `true` if the object can be canceled, and `false` otherwise.
createdintegerrequired
Time at which the object was created. Measured in seconds since the Unix epoch.
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.
destination_payment_methodstringoptional
The PaymentMethod used as the payment instrument for an OutboundTransfer.
destination_payment_method_detailsobjectrequired
expected_arrival_dateintegerrequired
The date when funds are expected to arrive in the destination account.
financial_accountstringrequired
The FinancialAccount that funds were pulled from.
hosted_regulatory_receipt_urlstringoptional
A [hosted transaction receipt](https://docs.stripe.com/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
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.
returned_detailsobjectoptional
Details about a returned OutboundTransfer. Only set when the status is `returned`.
statement_descriptorstringrequired
Information about the OutboundTransfer to be sent to the recipient account.
statusstringrequired
Current status of the OutboundTransfer: `processing`, `failed`, `canceled`, `posted`, `returned`. An OutboundTransfer is `processing` if it has been created and is pending. The status changes to `posted` once the OutboundTransfer has been "confirmed" and funds have left the account, or to `failed` or `canceled`. If an OutboundTransfer fails to arrive at its destination, its status will change to `returned`.
status_transitionsobjectrequired
tracking_detailsobjectoptional
Details about network-specific tracking information if available.
transactionstringrequired
The Transaction associated with this object.
defaultError response.
errorobjectrequired
Error handling
amount, currency, and financial_account are required. destination_payment_method_data is exclusive with destination_payment_method, and its type must be financial_account; statement_descriptor defaults to transfer when omitted and must follow the documented length and character constraints.