Use OutboundPayments to send funds to another party’s external bank account or FinancialAccount. To send money to an account belonging to the same user, use an OutboundTransfer.
Simulate OutboundPayment state changes with the /v1/test_
endpoints. These methods can only be called on test mode objects.
Related guide: Moving money with Treasury using OutboundPayment 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.
- customernullable string
ID of the customer to whom an OutboundPayment is sent.
- descriptionnullable string
An arbitrary string attached to the object. Often useful for displaying to users.
- destination_
payment_ methodnullable string The PaymentMethod via which an OutboundPayment is sent. This field can be empty if the OutboundPayment was created using
destination_
.payment_ method_ data - destination_
payment_ method_ detailsnullable object Details about the PaymentMethod for an OutboundPayment.
- end_
user_ detailsnullable object Details about the end user.
- 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 OutboundPayment. Only set when the status is
returned
. - statement_
descriptorstring The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer).
- statusenum
Current status of the OutboundPayment:
processing
,failed
,posted
,returned
,canceled
. An OutboundPayment isprocessing
if it has been created and is pending. The status changes toposted
once the OutboundPayment has been “confirmed” and funds have left the account, or tofailed
orcanceled
. If an OutboundPayment 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": "obp_1MtaD72eZvKYlo2Cu5d5S1kX", "object": "treasury.outbound_payment", "amount": 10000, "cancelable": false, "created": 1680716009, "currency": "usd", "customer": "cus_4QFOF3xrvBT2nU", "description": "OutboundPayment to a 3rd party", "destination_payment_method": "pm_1MtaD82eZvKYlo2CtGr4OxTt", "destination_payment_method_details": { "type": "us_bank_account", "destination": "ba_1MtaD62eZvKYlo2C8vwjm7bc" }, "end_user_details": { "ip_address": null, "present": false }, "expected_arrival_date": 1680716009, "financial_account": "fa_1MtaD72eZvKYlo2CYKM3DnUI", "hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKOrhtqEGMgYgdA-GrKk6NZNsf-FXPEqqbHm44fwJ57pNybbkweviYUDJGYFOw4f9cAqpfvPKQZ6y0S2C5DYyRwmDs_36", "livemode": false, "metadata": {}, "returned_details": null, "statement_descriptor": "payment", "status": "processing", "status_transitions": { "canceled_at": null, "failed_at": null, "posted_at": null, "returned_at": null }, "transaction": "trxn_1MtaD72eZvKYlo2CmUu4Vs5c"}
Creates an OutboundPayment.
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.
- customerstring
ID of the customer to whom the OutboundPayment is sent. Must match the Customer attached to the
destination_
passed in.payment_ method - 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 OutboundPayment. Exclusive with
destination_
.payment_ method_ data - destination_
payment_ method_ dataobject Hash used to generate the PaymentMethod to be used for this OutboundPayment. Exclusive with
destination_
.payment_ method - destination_
payment_ method_ optionsobject Payment method-specific configuration for this OutboundPayment.
- end_
user_ detailsobject End user 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 The description that appears on the receiving end for this OutboundPayment (for example, bank statement for external bank transfer). Maximum 10 characters for
ach
payments, 140 characters forus_
payments, or 500 characters fordomestic_ wire stripe
network transfers. The default value is “payment”.
Returns
Returns an OutboundPayment object if there were no issues with OutboundPayment creation.
{ "id": "obp_1MtaD72eZvKYlo2Cu5d5S1kX", "object": "treasury.outbound_payment", "amount": 10000, "cancelable": false, "created": 1680716009, "currency": "usd", "customer": "cus_4QFOF3xrvBT2nU", "description": "OutboundPayment to a 3rd party", "destination_payment_method": "pm_1MtaD82eZvKYlo2CtGr4OxTt", "destination_payment_method_details": { "type": "us_bank_account", "destination": "ba_1MtaD62eZvKYlo2C8vwjm7bc" }, "end_user_details": { "ip_address": null, "present": false }, "expected_arrival_date": 1680716009, "financial_account": "fa_1MtaD72eZvKYlo2CYKM3DnUI", "hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKOrhtqEGMgYgdA-GrKk6NZNsf-FXPEqqbHm44fwJ57pNybbkweviYUDJGYFOw4f9cAqpfvPKQZ6y0S2C5DYyRwmDs_36", "livemode": false, "metadata": {}, "returned_details": null, "statement_descriptor": "payment", "status": "processing", "status_transitions": { "canceled_at": null, "failed_at": null, "posted_at": null, "returned_at": null }, "transaction": "trxn_1MtaD72eZvKYlo2CmUu4Vs5c"}
Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list.
Parameters
No parameters.
Returns
Returns an OutboundPayment object if a valid identifier was provided. Otherwise, returns an error.
{ "id": "obp_1MtaD72eZvKYlo2Cu5d5S1kX", "object": "treasury.outbound_payment", "amount": 10000, "cancelable": false, "created": 1680716009, "currency": "usd", "customer": "cus_4QFOF3xrvBT2nU", "description": "OutboundPayment to a 3rd party", "destination_payment_method": "pm_1MtaD82eZvKYlo2CtGr4OxTt", "destination_payment_method_details": { "type": "us_bank_account", "destination": "ba_1MtaD62eZvKYlo2C8vwjm7bc" }, "end_user_details": { "ip_address": null, "present": false }, "expected_arrival_date": 1680716009, "financial_account": "fa_1MtaD72eZvKYlo2CYKM3DnUI", "hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKOrhtqEGMgYgdA-GrKk6NZNsf-FXPEqqbHm44fwJ57pNybbkweviYUDJGYFOw4f9cAqpfvPKQZ6y0S2C5DYyRwmDs_36", "livemode": false, "metadata": {}, "returned_details": null, "statement_descriptor": "payment", "status": "processing", "status_transitions": { "canceled_at": null, "failed_at": null, "posted_at": null, "returned_at": null }, "transaction": "trxn_1MtaD72eZvKYlo2CmUu4Vs5c"}
Returns a list of OutboundPayments sent from the specified FinancialAccount.
Parameters
- financial_
accountstringRequired Returns objects associated with this FinancialAccount.
- createdobject
Only return OutboundPayments that were created during the given date interval.
- customerstring
Only return OutboundPayments sent to this customer.
- statusenum
Only return OutboundPayments that have the given status:
processing
,failed
,posted
,returned
, orcanceled
.
More parameters
- ending_
beforestring - limitinteger
- starting_
afterstring
Returns
A dictionary with a data
property that contains an array of up to limit
OutboundPayments, starting after OutboundPayments starting_
. Each entry in the array is a separate OutboundPayments object. If no more OutboundPayments are available, the resulting array is empty.
{ "object": "list", "url": "/v1/treasury/outbound_payments", "has_more": false, "data": [ { "id": "obp_1MtaD72eZvKYlo2Cu5d5S1kX", "object": "treasury.outbound_payment", "amount": 10000, "cancelable": false, "created": 1680716009, "currency": "usd", "customer": "cus_4QFOF3xrvBT2nU", "description": "OutboundPayment to a 3rd party", "destination_payment_method": "pm_1MtaD82eZvKYlo2CtGr4OxTt", "destination_payment_method_details": { "type": "us_bank_account", "destination": "ba_1MtaD62eZvKYlo2C8vwjm7bc" }, "end_user_details": { "ip_address": null, "present": false }, "expected_arrival_date": 1680716009, "financial_account": "fa_1MtaD72eZvKYlo2CYKM3DnUI", "hosted_regulatory_receipt_url": "https://payments.stripe.com/regulatory-receipt/CBQaFwoVYWNjdF8xMDMyRDgyZVp2S1lsbzJDKOrhtqEGMgYgdA-GrKk6NZNsf-FXPEqqbHm44fwJ57pNybbkweviYUDJGYFOw4f9cAqpfvPKQZ6y0S2C5DYyRwmDs_36", "livemode": false, "metadata": {}, "returned_details": null, "statement_descriptor": "payment", "status": "processing", "status_transitions": { "canceled_at": null, "failed_at": null, "posted_at": null, "returned_at": null }, "transaction": "trxn_1MtaD72eZvKYlo2CmUu4Vs5c" } ]}