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_ nullable stringmethod 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_ nullable objectmethod_ details Details about the PaymentMethod for an OutboundPayment.
- end_
user_ nullable objectdetails Details about the end user.
- expected_
arrival_ timestampdate The date when funds are expected to arrive in the destination account.
- financial_
account stringThe FinancialAccount that funds were pulled from.
- hosted_
regulatory_ nullable stringreceipt_ url 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_
details nullable objectDetails about a returned OutboundPayment. Only set when the status is
returned
. - statement_
descriptor stringThe 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_
transitions objectHash containing timestamps of when the object transitioned to a particular
status
. - tracking_
details nullable objectDetails 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_
account stringRequiredThe 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_ stringmethod The PaymentMethod to use as the payment instrument for the OutboundPayment. Exclusive with
destination_
.payment_ method_ data - destination_
payment_ objectmethod_ data Hash used to generate the PaymentMethod to be used for this OutboundPayment. Exclusive with
destination_
.payment_ method - destination_
payment_ objectmethod_ options Payment method-specific configuration for this OutboundPayment.
- end_
user_ objectdetails 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_
descriptor stringThe 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_
account stringReturns 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_
before string - limitinteger
- starting_
after string
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" } ]}