Use OutboundTransfers to transfer funds from a FinancialAccount to a PaymentMethod belonging to the same entity. To send funds to a different party, use OutboundPayments instead. You can send funds over ACH rails or through a domestic wire transfer to a user’s own external bank account.
Simulate OutboundTransfer state changes with the /v1/test_
endpoints. These methods can only be called on test mode objects.
Related guide: Moving money with Treasury using OutboundTransfer objects
- POST/
Attributes
- idstring
Unique identifier for the object.
- objectstring
String representing the object’s type. Objects of the same type share the same value.
- amountinteger
Amount (in cents) transferred.
- cancelableboolean
Returns
true
if the object can be canceled, andfalse
otherwise. - createdtimestamp
Time at which the object was created. Measured in seconds since the Unix epoch.
- 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.
- destination_
payment_ methodnullable string The PaymentMethod used as the payment instrument for an OutboundTransfer.
- destination_
payment_ method_ detailsobject Details about the PaymentMethod for an OutboundTransfer
- expected_
arrival_ datetimestamp The date when funds are expected to arrive in the destination account.
- financial_
accountstring The FinancialAccount that funds were pulled from.
- hosted_
regulatory_ receipt_ urlnullable string A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe’s money transmission licenses.
- livemodeboolean
Has the value
true
if the object exists in live mode or the valuefalse
if the object exists in test mode. - 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.
- returned_
detailsnullable object Details about a returned OutboundTransfer. Only set when the status is
returned
. - statement_
descriptorstring Information about the OutboundTransfer to be sent to the recipient account.
- statusenum
Current status of the OutboundTransfer:
processing
,failed
,canceled
,posted
,returned
. An OutboundTransfer isprocessing
if it has been created and is pending. The status changes toposted
once the OutboundTransfer has been “confirmed” and funds have left the account, or tofailed
orcanceled
. If an OutboundTransfer fails to arrive at its destination, its status will change toreturned
. - status_
transitionsobject Hash containing timestamps of when the object transitioned to a particular
status
. - tracking_
detailsnullable object Details about network-specific tracking information if available.
- transactionstringExpandable
The Transaction associated with this object.
{ "id": "obt_1Mtaaz2eZvKYlo2CUu1tWGAl", "object": "treasury.outbound_transfer", "amount": 500, "cancelable": true, "created": 1680717489, "currency": "usd", "description": "OutboundTransfer to my external bank account", "destination_payment_method": "pm_1234567890", "destination_payment_method_details": { "billing_details": { "address": { "city": "San Francisco", "country": "US", "line1": "1234 Fake Street", "line2": null, "postal_code": "94102", "state": "CA" }, "email": null, "name": "Jane Austen" }, "type": "us_bank_account", "us_bank_account": { "account_holder_type": "company", "account_type": "checking", "bank_name": "STRIPE TEST BANK", "fingerprint": "AP24Iso0btGp4N10", "last4": "6789", "network": "ach", "routing_number": "110000000" } }, "expected_arrival_date": 1680825600, "financial_account": "fa_1Mtaaz2eZvKYlo2CUf56sIA1", "hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKLHttqEGMgYCCwVOvUY6NpO8ArWrjrz6Hxk3d8tQ4d_RvOqMTOeq6js5eE94-f-7DwBzjjD1wxIUhOyub1KFYH8QKxj9oA", "livemode": false, "metadata": {}, "returned_details": null, "statement_descriptor": "transfer", "status": "processing", "status_transitions": { "canceled_at": null, "failed_at": null, "posted_at": null, "returned_at": null }, "transaction": "trxn_1Mtaaz2eZvKYlo2Cn9D12psR"}
Creates an OutboundTransfer.
Parameters
- amountintegerRequired
Amount (in cents) to be transferred.
- currencyenumRequired
Three-letter ISO currency code, in lowercase. Must be a supported currency.
- financial_
accountstringRequired The FinancialAccount to pull funds from.
- descriptionstring
An arbitrary string attached to the object. Often useful for displaying to users.
- destination_
payment_ methodstring The PaymentMethod to use as the payment instrument for the OutboundTransfer.
- destination_
payment_ method_ optionsobject Hash describing payment method configuration details.
- 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
. - statement_
descriptorstring Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters for
ach
transfers or 140 characters forus_
transfers. The default value is “transfer”.domestic_ wire
Returns
Returns an OutboundTransfer object if there were no issues with OutboundTransfer creation. The status of the created OutboundTransfer object is initially marked as processing
.
{ "id": "obt_1Mtaaz2eZvKYlo2CUu1tWGAl", "object": "treasury.outbound_transfer", "amount": 500, "cancelable": true, "created": 1680717489, "currency": "usd", "description": "OutboundTransfer to my external bank account", "destination_payment_method": "pm_1234567890", "destination_payment_method_details": { "billing_details": { "address": { "city": "San Francisco", "country": "US", "line1": "1234 Fake Street", "line2": null, "postal_code": "94102", "state": "CA" }, "email": null, "name": "Jane Austen" }, "type": "us_bank_account", "us_bank_account": { "account_holder_type": "company", "account_type": "checking", "bank_name": "STRIPE TEST BANK", "fingerprint": "AP24Iso0btGp4N10", "last4": "6789", "network": "ach", "routing_number": "110000000" } }, "expected_arrival_date": 1680825600, "financial_account": "fa_1Mtaaz2eZvKYlo2CUf56sIA1", "hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKLHttqEGMgYCCwVOvUY6NpO8ArWrjrz6Hxk3d8tQ4d_RvOqMTOeq6js5eE94-f-7DwBzjjD1wxIUhOyub1KFYH8QKxj9oA", "livemode": false, "metadata": {}, "returned_details": null, "statement_descriptor": "transfer", "status": "processing", "status_transitions": { "canceled_at": null, "failed_at": null, "posted_at": null, "returned_at": null }, "transaction": "trxn_1Mtaaz2eZvKYlo2Cn9D12psR"}
Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list.
Parameters
No parameters.
Returns
Returns an OutboundTransfer object if a valid identifier was provided. Otherwise, returns an error.
{ "id": "obt_1Mtaaz2eZvKYlo2CUu1tWGAl", "object": "treasury.outbound_transfer", "amount": 500, "cancelable": true, "created": 1680717489, "currency": "usd", "description": "OutboundTransfer to my external bank account", "destination_payment_method": "pm_1234567890", "destination_payment_method_details": { "billing_details": { "address": { "city": "San Francisco", "country": "US", "line1": "1234 Fake Street", "line2": null, "postal_code": "94102", "state": "CA" }, "email": null, "name": "Jane Austen" }, "type": "us_bank_account", "us_bank_account": { "account_holder_type": "company", "account_type": "checking", "bank_name": "STRIPE TEST BANK", "fingerprint": "AP24Iso0btGp4N10", "last4": "6789", "network": "ach", "routing_number": "110000000" } }, "expected_arrival_date": 1680825600, "financial_account": "fa_1Mtaaz2eZvKYlo2CUf56sIA1", "hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKLHttqEGMgYCCwVOvUY6NpO8ArWrjrz6Hxk3d8tQ4d_RvOqMTOeq6js5eE94-f-7DwBzjjD1wxIUhOyub1KFYH8QKxj9oA", "livemode": false, "metadata": {}, "returned_details": null, "statement_descriptor": "transfer", "status": "processing", "status_transitions": { "canceled_at": null, "failed_at": null, "posted_at": null, "returned_at": null }, "transaction": "trxn_1Mtaaz2eZvKYlo2Cn9D12psR"}
Returns a list of OutboundTransfers sent from the specified FinancialAccount.
Parameters
- financial_
accountstringRequired Returns objects associated with this FinancialAccount.
- statusenum
Only return OutboundTransfers that have the given status:
processing
,canceled
,failed
,posted
, orreturned
.
More parameters
- ending_
beforestring - limitinteger
- starting_
afterstring
Returns
A dictionary with a data
property that contains an array of up to limit
OutboundTransfers, starting after OutboundTransfer starting_
. Each entry in the array is a separate OutboundTransfer object. If no more OutboundTransfers are available, the resulting array is empty.
{ "object": "list", "url": "/v1/treasury/outbound_transfers", "has_more": false, "data": [ { "id": "obt_1Mtaaz2eZvKYlo2CUu1tWGAl", "object": "treasury.outbound_transfer", "amount": 500, "cancelable": true, "created": 1680717489, "currency": "usd", "description": "OutboundTransfer to my external bank account", "destination_payment_method": "pm_1234567890", "destination_payment_method_details": { "billing_details": { "address": { "city": "San Francisco", "country": "US", "line1": "1234 Fake Street", "line2": null, "postal_code": "94102", "state": "CA" }, "email": null, "name": "Jane Austen" }, "type": "us_bank_account", "us_bank_account": { "account_holder_type": "company", "account_type": "checking", "bank_name": "STRIPE TEST BANK", "fingerprint": "AP24Iso0btGp4N10", "last4": "6789", "network": "ach", "routing_number": "110000000" } }, "expected_arrival_date": 1680825600, "financial_account": "fa_1Mtaaz2eZvKYlo2CUf56sIA1", "hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKLHttqEGMgYCCwVOvUY6NpO8ArWrjrz6Hxk3d8tQ4d_RvOqMTOeq6js5eE94-f-7DwBzjjD1wxIUhOyub1KFYH8QKxj9oA", "livemode": false, "metadata": {}, "returned_details": null, "statement_descriptor": "transfer", "status": "processing", "status_transitions": { "canceled_at": null, "failed_at": null, "posted_at": null, "returned_at": null }, "transaction": "trxn_1Mtaaz2eZvKYlo2Cn9D12psR" } {...} {...} ],}