Creates an OutboundPayment.

Parameters

  • amountobjectRequired

    The “presentment amount” to be sent to the recipient.

  • fromobjectRequired

    From which FinancialAccount and BalanceType to pull funds from.

  • toobjectRequired

    To which payout method to send the OutboundPayment.

  • delivery_optionsobject

    Delivery options to be used to send the OutboundPayment.

  • descriptionstring

    An arbitrary string attached to the OutboundPayment. Often useful for displaying to users.

  • metadatamap

    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.

  • outbound_payment_quotestringPreview feature

    The quote for this OutboundPayment. Only required for countries with regulatory mandates to display fee estimates before OutboundPayment creation.

  • recipient_notificationobject

    Details about the notification settings for the OutboundPayment recipient.

Returns

Response attributes

  • idstring

    Unique identifier for the OutboundPayment.

  • objectstring, value is "v2.money_management.outbound_payment"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • amountobject

    The “presentment amount” for the OutboundPayment.

  • cancelableboolean

    Returns true if the OutboundPayment can be canceled, and false otherwise.

  • createdtimestamp

    Time at which the OutboundPayment was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.

  • delivery_optionsnullable object

    Delivery options to be used to send the OutboundPayment.

  • descriptionnullable string

    An arbitrary string attached to the OutboundPayment. Often useful for displaying to users.

  • expected_arrival_datenullable timestamp

    The date when funds are expected to arrive in the payout method. This field is not set if the payout method is in a failed, canceled, or returned state. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.

  • fromobject

    The FinancialAccount that funds were pulled from.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • metadatanullable map

    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.

  • outbound_payment_quotenullable stringPreview feature

    The quote for this OutboundPayment. Only required for countries with regulatory mandates to display fee estimates before OutboundPayment creation.

  • receipt_urlnullable string

    A link to the Stripe-hosted receipt for this OutboundPayment. The receipt link remains active for 60 days from the OutboundPayment creation date. After this period, the link will expire and the receipt url value will be null.

  • recipient_notificationobject

    Details about the OutboundPayment notification settings for recipient.

  • statement_descriptorstring

    The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). It will default to STRIPE if not set on the account settings.

  • statusenum

    Current status of the OutboundPayment: processing, failed, posted, returned, canceled. An OutboundPayment is processing if it has been created and is processing. The status changes to posted once the OutboundPayment has been “confirmed” and funds have left the account, or to failed or canceled. If an OutboundPayment fails to arrive at its payout method, its status will change to returned.

    Possible enum values
    canceled

    A user canceled the OutboundPayment before posting. Stripe returns the funds to the user by voiding the pending Transaction.

    failed

    The OutboundPayment failed to confirm. Stripe returns the funds to the user by voiding the pending Transaction.

    posted

    The OutboundPayment posted and funds have left the account. The underlying Transaction posts.

    processing

    The OutboundPayment starting state. Funds are “held” by a pending Transaction (but are still part of the current balance). The OutboundPayment might be cancelable by the user, depending on the value of the cancelable field.

    returned

    The OutboundPayment failed to successfully arrive at the destination. Funds return to the user with a second posted Transaction attached to the same flow.

  • status_detailsnullable object

    Status details for an OutboundPayment in a failed or returned state.

  • status_transitionsnullable object

    Hash containing timestamps of when the object transitioned to a particular status.

  • toobject

    To which payout method the OutboundPayment was sent.

  • trace_idobjectPreview feature

    A unique identifier that can be used to track this OutboundPayment with recipient bank. Banks might call this a “reference number” or something similar.

Error Codes
400account_not_configured_as_recipient

Error returned when the recipient account in the OutboundPayment request is not configured as a recipient.

400amount_too_large_for_payout_method

Error returned when the specified amount exceeds the payout method’s amount limits.

400amount_too_large_for_selected_delivery_option

Error returned when user selected a delivery option but the specified amount exceeds the method limits.

400card_payout_method_not_supported

Error returned when the provided Card payout method is not eligible for outbound payment or outbound transfer.

400cop_not_accepted

Error returned when the Confirmation of Payee is not accepted.

400default_payout_method_config_not_found

Error returned when a payout method is not provided in the OutboundPayment request and the recipient account does not have a default payout method.

400delivery_option_not_supported

Error returned when the selected delivery option is not supported for the payout method.

400from_balance_unsupported_currency

Error returned when the balance type in the OutboundPayment/OutboundTransfer request does not support the provided currency.

400fx_quote_expired

Error returned when rate locking in the used OBPQ is expired.

400insufficient_funds

Error returned when the balance of provided financial account and balance type in the OutboundPayment/OutboundTransfer request does not have enough funds.

400invalid_payout_method_country

Error returned when the payout method country does not match the recipient account country.

400large_rate_drift

Error returned when the FX rate drift beyond threshold.

400no_suitable_delivery_options_for_large_amount

Error returned when user does not specify the delivery option or provides automatic, and the amount exceeds all the possible delivery options for this payout method.

400outbound_payment_not_allowed

Error returned when the user is not allowed to make this OutboundPayment request.

400outbound_payment_quote_mismatch

Error returned when key money movement fields on outbound payment quote creation request don’t match outbound payment creation request, including from, to, amount and delivery_options.

400outbound_payment_quote_missing

Error returned when outbound payment quote is missing for CBPs that requires fee and amount estimates prior to OBP initiation.

400payout_method_expired

Error returned when the provided payout method is expired.

400payout_method_unsupported_currency

Error returned when the payout method does not support the request’s payout method currency.

400recipient_amount_limit_exceeded

Error returned when the recipient’s recent total amount in outbound payments has exceeded its limit.

400recipient_count_limit_exceeded

Error returned when the recipient’s recent outbound payment count has exceeded its limit.

400recipient_email_does_not_exist

Error returned when the user enables notifications in the OutboundPayment request, but an email is not set up on the recipient account.

400recipient_feature_not_active

Error returned when recipient does not have the active features required to receive funds from this OutboundPayment request.

400recipient_feature_not_active_for_suitable_delivery_option

Error returned when user does not specify the delivery option or provides automatic, and recipient feature is not active for suitable delivery option.

400storer_capability_missing

The required storer capabilities are missing.

400storer_capability_not_active

The required storer capabilities are not active.

400unsupported_currency

The currency is not supported for Financial Accounts.

404from_balance_type_not_found

Deprecated. Error returned when balance type of provided financial account in the OutboundPayment/OutboundTransfer request cannot be identified.

404from_financial_account_not_found

Error returned when financial account in the OutboundPayment/OutboundTransfer request cannot be identified.

404payout_method_invalid

Error returned when the payout method in the OutboundPayment/OutboundTransfer request cannot be identified.

404to_recipient_not_found

Error returned when the recipient account in the OutboundPayment request cannot be identified.

409idempotency_conflict

An idempotent retry results in resource conflicts.

409idempotency_error

An idempotent retry occurred with different request parameters.

POST /v2/money_management/outbound_payments
curl -X POST https://api.stripe.com/v2/money_management/outbound_payments \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-06-30.preview" \
--json '{
"from": {
"financial_account": "fa_test_65NybHaQx7KJxDc22rZ16NybHIZ4SQ3LORe4rpuNGDIXEO",
"currency": "usd"
},
"to": {
"recipient": "acct_test_61Nyc6oHjbwlpjhvd66Nyc6oZ4SQv89ZZAqvHiCECJ3g",
"payout_method": "usba_test_61Nyd9YFBVUzLyxXZ16Nyc6oZ4SQv89ZZAqvHiCEC9VQ",
"currency": "usd"
},
"amount": {
"value": 1000,
"currency": "usd"
},
"description": "Streamer earnings"
}'
Response
{
"id": "obp_test_65OAfT9tVl3u223h0he16NybHIZ4SQ3LORe4rpuNGDIKCO",
"object": "v2.money_management.outbound_payment",
"amount": {
"value": 1000,
"currency": "usd"
},
"from": {
"debited": {
"value": 1000,
"currency": "usd"
},
"financial_account": "fa_test_65NybHaQx7KJxDc22rZ16NybHIZ4SQ3LORe4rpuNGDIXEO"
},
"to": {
"credited": {
"value": 1000,
"currency": "usd"
},
"recipient": "acct_test_61Nyc6oHjbwlpjhvd66Nyc6oZ4SQv89ZZAqvHiCECJ3g",
"payout_method": "usba_test_61Nyd9YFBVUzLyxXZ16Nyc6oZ4SQv89ZZAqvHiCEC9VQ"
},
"delivery_options": {
"bank_account": "automatic"
},
"statement_descriptor": "Payment for streaming earnings",
"cancelable": true,
"description": "Streamer earnings",
"status": "processing",
"status_transitions": {},
"receipt_url": "https://payments.stripe.com/transaction_receipt/CCMaIwohd2tzcF90ZXN0XzZOeWJISVo0U1EzTE9SZTRycHVOR0RJKOPfpqIGMgZn4xRNQi06oQGUu_fPQJBHgptVXysoOIKNwdFbokEtoKYNk662ox8FRx8ldoJpnlZyFXloJjMW5AQ5dqSks8HidH5PkHyYO91-dYHRZ8kj93mfh2l_efexFDN6EmiZj21RiNDALXuagy2MHFmfrkh6ZiAnjp-MOgqg8IM1RA5Ry5IDL-21Xiair1jWxuVJb3inbrbntL3nk6yjUtXcd_QLofG-Sj2Yz9-NEA",
"created": "2023-04-26T23:12:35.952Z",
"expected_arrival_date": "2023-04-28T00:00:00Z",
"recipient_notification": {
"setting": "configured"
},
"livemode": false
}

Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment create or list response.

Parameters

  • idstringRequired

    The ID of the OutboundPayment to retrieve.

Returns

Response attributes

  • idstring

    Unique identifier for the OutboundPayment.

  • objectstring, value is "v2.money_management.outbound_payment"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • amountobject

    The “presentment amount” for the OutboundPayment.

  • cancelableboolean

    Returns true if the OutboundPayment can be canceled, and false otherwise.

  • createdtimestamp

    Time at which the OutboundPayment was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.

  • delivery_optionsnullable object

    Delivery options to be used to send the OutboundPayment.

  • descriptionnullable string

    An arbitrary string attached to the OutboundPayment. Often useful for displaying to users.

  • expected_arrival_datenullable timestamp

    The date when funds are expected to arrive in the payout method. This field is not set if the payout method is in a failed, canceled, or returned state. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.

  • fromobject

    The FinancialAccount that funds were pulled from.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • metadatanullable map

    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.

  • outbound_payment_quotenullable stringPreview feature

    The quote for this OutboundPayment. Only required for countries with regulatory mandates to display fee estimates before OutboundPayment creation.

  • receipt_urlnullable string

    A link to the Stripe-hosted receipt for this OutboundPayment. The receipt link remains active for 60 days from the OutboundPayment creation date. After this period, the link will expire and the receipt url value will be null.

  • recipient_notificationobject

    Details about the OutboundPayment notification settings for recipient.

  • statement_descriptorstring

    The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). It will default to STRIPE if not set on the account settings.

  • statusenum

    Current status of the OutboundPayment: processing, failed, posted, returned, canceled. An OutboundPayment is processing if it has been created and is processing. The status changes to posted once the OutboundPayment has been “confirmed” and funds have left the account, or to failed or canceled. If an OutboundPayment fails to arrive at its payout method, its status will change to returned.

    Possible enum values
    canceled

    A user canceled the OutboundPayment before posting. Stripe returns the funds to the user by voiding the pending Transaction.

    failed

    The OutboundPayment failed to confirm. Stripe returns the funds to the user by voiding the pending Transaction.

    posted

    The OutboundPayment posted and funds have left the account. The underlying Transaction posts.

    processing

    The OutboundPayment starting state. Funds are “held” by a pending Transaction (but are still part of the current balance). The OutboundPayment might be cancelable by the user, depending on the value of the cancelable field.

    returned

    The OutboundPayment failed to successfully arrive at the destination. Funds return to the user with a second posted Transaction attached to the same flow.

  • status_detailsnullable object

    Status details for an OutboundPayment in a failed or returned state.

  • status_transitionsnullable object

    Hash containing timestamps of when the object transitioned to a particular status.

  • toobject

    To which payout method the OutboundPayment was sent.

  • trace_idobjectPreview feature

    A unique identifier that can be used to track this OutboundPayment with recipient bank. Banks might call this a “reference number” or something similar.

Error Codes
404not_found

The resource wasn’t found.

GET /v2/money_management/outbound_payments/:id
curl https://api.stripe.com/v2/money_management/outbound_payments/obp_test_65OAfT9tVl3u223h0he16NybHIZ4SQ3LORe4rpuNGDIKCO \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-06-30.preview"
Response
{
"id": "obp_test_65OAfT9tVl3u223h0he16NybHIZ4SQ3LORe4rpuNGDIKCO",
"object": "v2.money_management.outbound_payment",
"from": {
"financial_account": "fa_test_65NybHaQx7KJxDc22rZ16NybHIZ4SQ3LORe4rpuNGDIXEO",
"debited": {
"value": 1000,
"currency": "usd"
}
},
"to": {
"credited": {
"value": 1000,
"currency": "usd"
},
"recipient": "acct_test_61Nyc6oHjbwlpjhvd66Nyc6oZ4SQv89ZZAqvHiCECJ3g",
"payout_method": "usba_test_61Nyd9YFBVUzLyxXZ16Nyc6oZ4SQv89ZZAqvHiCEC9VQ"
},
"delivery_options": {
"bank_account": "automatic"
},
"amount": {
"value": 1000,
"currency": "usd"
},
"statement_descriptor": "Payment for streaming earnings",
"cancelable": true,
"description": "Streamer earnings",
"status": "processing",
"status_transitions": {},
"receipt_url": "https://payments.stripe.com/transaction_receipt/CCMaIwohd2tzcF90ZXN0XzZOeWJISVo0U1EzTE9SZTRycHVOR0RJKMPgpqIGMgbztcBwNg46oQGUmYI69-O84chYtSQDFeO22gsaZPBsi9OkhxmOvY_z5ElXLqPGy_WUkLZ0XuCmjerVOR-ZnrOKDcHldqWvsxHXRaRnjq2SLu5V7tJaYWNe3_Vy2VhWmJ8H09qAOl8HxjS9prFckpisbEa_1u53hKgIXZVoI4FEOVWgFcf0-d7ev6zL728kPw-QcXbRkPi-wwaIXwxRNbyTpsBi6KzQ7PTqlg",
"created": "2023-04-26T23:12:35.952Z",
"expected_arrival_date": "2023-04-28T00:00:00Z",
"recipient_notification": {
"setting": "configured"
},
"livemode": false
}

Returns a list of OutboundPayments that match the provided filters.

Parameters

  • createdtimestamp

    Filter for objects created at the specified timestamp. Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z.

  • created_gttimestamp

    Filter for objects created after the specified timestamp. Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z.

  • created_gtetimestamp

    Filter for objects created on or after the specified timestamp. Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z.

  • created_lttimestamp

    Filter for objects created before the specified timestamp. Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z.

  • created_ltetimestamp

    Filter for objects created on or before the specified timestamp. Must be an RFC 3339 date & time value, for example: 2022-09-18T13:22:00Z.

  • limitinteger

    The maximum number of results to return.

  • pagestring

    The page token to use to retrieve the page being requested.

  • recipientstring

    Only return OutboundPayments sent to this recipient.

  • statusarray of enums

    Closed Enum. Only return OutboundPayments with this status.

    Possible enum values
    canceled

    A user canceled the OutboundPayment before posting. Stripe returns the funds to the user by voiding the pending Transaction.

    failed

    The OutboundPayment failed to confirm. Stripe returns the funds to the user by voiding the pending Transaction.

    posted

    The OutboundPayment posted and funds have left the account. The underlying Transaction posts.

    processing

    The OutboundPayment starting state. Funds are “held” by a pending Transaction (but are still part of the current balance). The OutboundPayment might be cancelable by the user, depending on the value of the cancelable field.

    returned

    The OutboundPayment failed to successfully arrive at the destination. Funds return to the user with a second posted Transaction attached to the same flow.

Returns

Response attributes

  • dataarray of objects

    The OutboundPayments retrieved.

  • next_page_urlnullable string

    The URL for the next page of results.

  • previous_page_urlnullable string

    The URL for the previous page of results.

Error Codes
400invalid_page_token

Error returned when the page token provided in the OutboundPayments/OutboundTransfers list request is invalid.

GET /v2/money_management/outbound_payments
curl -G https://api.stripe.com/v2/money_management/outbound_payments \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-06-30.preview" \
-d status=canceled
Response
{
"data": [
{
"id": "obp_test_65OAfUM3B6hTbQdW72y16NybHIZ4SQ3LORe4rpuNGDIWJM",
"object": "v2.money_management.outbound_payment",
"from": {
"financial_account": "fa_test_65NybHaQx7KJxDc22rZ16NybHIZ4SQ3LORe4rpuNGDIXEO",
"debited": {
"value": 1000,
"currency": "usd"
}
},
"to": {
"recipient": "acct_test_61Nyc6oHjbwlpjhvd66Nyc6oZ4SQv89ZZAqvHiCECJ3g",
"payout_method": "usba_test_61Nyd9YFBVUzLyxXZ16Nyc6oZ4SQv89ZZAqvHiCEC9VQ",
"credited": {
"value": 1000,
"currency": "usd"
}
},
"delivery_options": {
"bank_account": "automatic"
},
"amount": {
"value": 1000,
"currency": "usd"
},
"statement_descriptor": "Payment for streaming earnings",
"cancelable": false,
"description": "Streamer earnings",
"status": "canceled",
"status_transitions": {
"canceled_at": "2023-04-26T23:14:58.321Z"
},
"receipt_url": "https://payments.stripe.com/transaction_receipt/CCMaIwohd2tzcF90ZXN0XzZOeWJISVo0U1EzTE9SZTRycHVOR0RJKKHhpqIGMgZRo1m_xhE6oQGUeczbdUAAGdSgXTI6R9NnQ_eY4wM5AiYAzeF5toQDEwk6sb74cUc8RCZq5DyHcAlT1SVg7l1aD0tUo8EmPzAAkMo_E0csmP-ANJqI53kErMF1ZY4sY9Z-eV7hAGhk3ATl0HgwfNMWjueJJ4I93-wybLjOfQtozFwQgXbSjvN_nYTF4XMPa_IEwFrzAnLnedX5YVZcQIE8o84-GeLtYCsh6Q",
"created": "2023-04-26T23:13:51.767Z",
"expected_arrival_date": "2023-04-28T00:00:00Z",
"recipient_notification": {
"setting": "configured"
},
"livemode": false
},
{
"id": "obp_test_65OAfT9tVl3u223h0he16NybHIZ4SQ3LORe4rpuNGDIKCO",
"object": "v2.money_management.outbound_payment",
"from": {
"financial_account": "fa_test_65NybHaQx7KJxDc22rZ16NybHIZ4SQ3LORe4rpuNGDIXEO",
"debited": {
"value": 70,
"currency": "usd"
}
},
"to": {
"recipient": "acct_test_61Nyc6oHjbwlpjhvd66Nyc6oZ4SQv89ZZAqvHiCECJ3g",
"payout_method": "usba_test_61Nyd9YFBVUzLyxXZ16Nyc6oZ4SQv89ZZAqvHiCEC9VQ",
"credited": {
"value": 70,
"currency": "usd"
}
},
"delivery_options": {
"bank_account": "automatic"
},
"amount": {
"value": 70,
"currency": "usd"
},
"statement_descriptor": "Payment for streaming earnings",
"cancelable": true,
"description": "Streamer earnings",
"status": "processing",
"status_transitions": {},
"receipt_url": "https://payments.stripe.com/transaction_receipt/CCMaIwohd2tzcF90ZXN0XzZOeWJISVo0U1EzTE9SZTRycHVOR0RJKKHhpqIGMgaHLLakVjE6oQGUBP4uoz2TYLGepLSM0zU62Irj-5PfTqRlvJwjXRX5AM0K0WPzvIl8BNGa1XqDxL1bJ3-L4kioq0lFL3iPVNmPQ4PxQZzl82wJD8WFZUSkFVMeug5VPGcMYmXtiUYYc9Ir3v2IIjUf213H-Jg3-v0432XfxdHnlrVoN_1okeCtH80xJC24j64hX2_5RrB7bCmCiUPF8MsyChh218bP3YqxEQ",
"created": "2023-04-26T23:12:35.952Z",
"expected_arrival_date": "2023-04-28T00:00:00Z",
"recipient_notification": {
"setting": "configured"
},
"livemode": false
}
]
}

Cancels an OutboundPayment. Only processing OutboundPayments can be canceled.

Parameters

  • idstringRequired

    The ID of the OutboundPayment to cancel.

Returns

Response attributes

  • idstring

    Unique identifier for the OutboundPayment.

  • objectstring, value is "v2.money_management.outbound_payment"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • amountobject

    The “presentment amount” for the OutboundPayment.

  • cancelableboolean

    Returns true if the OutboundPayment can be canceled, and false otherwise.

  • createdtimestamp

    Time at which the OutboundPayment was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.

  • delivery_optionsnullable object

    Delivery options to be used to send the OutboundPayment.

  • descriptionnullable string

    An arbitrary string attached to the OutboundPayment. Often useful for displaying to users.

  • expected_arrival_datenullable timestamp

    The date when funds are expected to arrive in the payout method. This field is not set if the payout method is in a failed, canceled, or returned state. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z.

  • fromobject

    The FinancialAccount that funds were pulled from.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • metadatanullable map

    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.

  • outbound_payment_quotenullable stringPreview feature

    The quote for this OutboundPayment. Only required for countries with regulatory mandates to display fee estimates before OutboundPayment creation.

  • receipt_urlnullable string

    A link to the Stripe-hosted receipt for this OutboundPayment. The receipt link remains active for 60 days from the OutboundPayment creation date. After this period, the link will expire and the receipt url value will be null.

  • recipient_notificationobject

    Details about the OutboundPayment notification settings for recipient.

  • statement_descriptorstring

    The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). It will default to STRIPE if not set on the account settings.

  • statusenum

    Current status of the OutboundPayment: processing, failed, posted, returned, canceled. An OutboundPayment is processing if it has been created and is processing. The status changes to posted once the OutboundPayment has been “confirmed” and funds have left the account, or to failed or canceled. If an OutboundPayment fails to arrive at its payout method, its status will change to returned.

    Possible enum values
    canceled

    A user canceled the OutboundPayment before posting. Stripe returns the funds to the user by voiding the pending Transaction.

    failed

    The OutboundPayment failed to confirm. Stripe returns the funds to the user by voiding the pending Transaction.

    posted

    The OutboundPayment posted and funds have left the account. The underlying Transaction posts.

    processing

    The OutboundPayment starting state. Funds are “held” by a pending Transaction (but are still part of the current balance). The OutboundPayment might be cancelable by the user, depending on the value of the cancelable field.

    returned

    The OutboundPayment failed to successfully arrive at the destination. Funds return to the user with a second posted Transaction attached to the same flow.

  • status_detailsnullable object

    Status details for an OutboundPayment in a failed or returned state.

  • status_transitionsnullable object

    Hash containing timestamps of when the object transitioned to a particular status.

  • toobject

    To which payout method the OutboundPayment was sent.

  • trace_idobjectPreview feature

    A unique identifier that can be used to track this OutboundPayment with recipient bank. Banks might call this a “reference number” or something similar.

Error Codes
400outbound_payment_already_canceled

Error returned when user tries to cancel an OutboundPayment that was already canceled.

400outbound_payment_not_cancelable

Error returned when user tries to cancel an OutboundPayment that is not cancelable.

404not_found

The resource wasn’t found.

409idempotency_error

An idempotent retry occurred with different request parameters.

POST /v2/money_management/outbound_payments/:id/cancel
curl -X POST https://api.stripe.com/v2/money_management/outbound_payments/obp_test_65OAfUM3B6hTbQdW72y16NybHIZ4SQ3LORe4rpuNGDIWJM/cancel \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-06-30.preview"
Response
{
"id": "obp_test_65OAfUM3B6hTbQdW72y16NybHIZ4SQ3LORe4rpuNGDIWJM",
"object": "v2.money_management.outbound_payment",
"from": {
"financial_account": "fa_test_65NybHaQx7KJxDc22rZ16NybHIZ4SQ3LORe4rpuNGDIXEO",
"debited": {
"value": 1000,
"currency": "usd"
}
},
"to": {
"recipient": "acct_test_61Nyc6oHjbwlpjhvd66Nyc6oZ4SQv89ZZAqvHiCECJ3g",
"payout_method": "usba_test_61Nyd9YFBVUzLyxXZ16Nyc6oZ4SQv89ZZAqvHiCEC9VQ",
"credited": {
"value": 1000,
"currency": "usd"
}
},
"delivery_options": {
"bank_account": "automatic"
},
"amount": {
"value": 1000,
"currency": "usd"
},
"statement_descriptor": "Payment for streaming earnings",
"cancelable": false,
"description": "Streamer earnings",
"status": "canceled",
"status_transitions": {
"canceled_at": "2023-04-26T23:14:58.321Z"
},
"receipt_url": "https://payments.stripe.com/transaction_receipt/CCMaIwohd2tzcF90ZXN0XzZOeWJISVo0U1EzTE9SZTRycHVOR0RJKPLgpqIGMgZBx27xZEo6oQGUR30NbXwz1j0WmxEwLevKOXOcTPmzD_FcmosVpuqn-OYyZtJjGelbPMVU6VGQT36biU_sfx4lsdhauww6kFoxVbgqBsU-VAjmQdZEc-fVKIz9JBsMHJhyKFDpL3kCh8gXp0IF54EDL5i4FQNlRkov2Y6_MOKiwR98wDF3DygpktUvh9uL9W8qTlhLu0Gd3qRFszuKzWdLva2hs_4139yZbQ",
"created": "2023-04-26T23:13:51.767Z",
"expected_arrival_date": "2023-04-28T00:00:00Z",
"recipient_notification": {
"setting": "configured"
},
"livemode": false
}

This is a list of all public thin events we currently send for updates to OutboundPayment, which are continually evolving and expanding. The payload of thin events is unversioned. During processing, you must fetch the versioned event from the API or fetch the resource’s current state.

Event types

Type
Filter events by type

Attributes

  • idstring

    Unique identifier for the event.

  • objectstring, value is "v2.core.event"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • contextnullable string

    Authentication context needed to fetch the event or related object.

  • createdtimestamp

    Time at which the object was created.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • reasonnullable object

    Reason for the event.

  • related_objectnullable object

    Object containing the reference to API resource relevant to the event.

  • typestring, value is "v2.money_management.outbound_payment.canceled"

    The type of the event.

Fetched attributes

  • dataobject

    Additional data about the event.

Event payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.canceled"
}
Event handler
# Select a client library to see examples of
# parsing and retrieving event details.
Fetched payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.canceled",
"changes": {},
"data": {}
}

Attributes

  • idstring

    Unique identifier for the event.

  • objectstring, value is "v2.core.event"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • contextnullable string

    Authentication context needed to fetch the event or related object.

  • createdtimestamp

    Time at which the object was created.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • reasonnullable object

    Reason for the event.

  • related_objectnullable object

    Object containing the reference to API resource relevant to the event.

  • typestring, value is "v2.money_management.outbound_payment.created"

    The type of the event.

Fetched attributes

  • dataobject

    Additional data about the event.

Event payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.created"
}
Event handler
# Select a client library to see examples of
# parsing and retrieving event details.
Fetched payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.created",
"changes": {},
"data": {}
}

Attributes

  • idstring

    Unique identifier for the event.

  • objectstring, value is "v2.core.event"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • contextnullable string

    Authentication context needed to fetch the event or related object.

  • createdtimestamp

    Time at which the object was created.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • reasonnullable object

    Reason for the event.

  • related_objectnullable object

    Object containing the reference to API resource relevant to the event.

  • typestring, value is "v2.money_management.outbound_payment.failed"

    The type of the event.

Fetched attributes

  • dataobject

    Additional data about the event.

Event payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.failed"
}
Event handler
# Select a client library to see examples of
# parsing and retrieving event details.
Fetched payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.failed",
"changes": {},
"data": {}
}

Attributes

  • idstring

    Unique identifier for the event.

  • objectstring, value is "v2.core.event"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • contextnullable string

    Authentication context needed to fetch the event or related object.

  • createdtimestamp

    Time at which the object was created.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • reasonnullable object

    Reason for the event.

  • related_objectnullable object

    Object containing the reference to API resource relevant to the event.

  • typestring, value is "v2.money_management.outbound_payment.posted"

    The type of the event.

Fetched attributes

  • dataobject

    Additional data about the event.

Event payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.posted"
}
Event handler
# Select a client library to see examples of
# parsing and retrieving event details.
Fetched payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.posted",
"changes": {},
"data": {}
}

Attributes

  • idstring

    Unique identifier for the event.

  • objectstring, value is "v2.core.event"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • contextnullable string

    Authentication context needed to fetch the event or related object.

  • createdtimestamp

    Time at which the object was created.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • reasonnullable object

    Reason for the event.

  • related_objectnullable object

    Object containing the reference to API resource relevant to the event.

  • typestring, value is "v2.money_management.outbound_payment.returned"

    The type of the event.

Fetched attributes

  • dataobject

    Additional data about the event.

Event payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.returned"
}
Event handler
# Select a client library to see examples of
# parsing and retrieving event details.
Fetched payload
{
"context": null,
"created": "2025-01-01T00:00:00.000Z",
"id": "evt_65RCjj4EqW1sabcjs2Z16RCMoNQdSQkOWvfL6L5uU2K40u",
"livemode": true,
"object": "v2.core.event",
"reason": {
"type": "request",
"request": {
"id": "req_v24sUK2aV6o01RdVU",
"idempotency_key": "fe21992d-e123-3f8c-bc90-fec93712bcb2"
}
},
"related_object": {
"id": "obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me",
"type": "v2.money_management.outbound_payment",
"url": "/v2/money_management/outbound_payments/obp_65SDS7HTasdQYsDClFT16CGd2aE2kBpeAvvRnBUcS2me"
},
"type": "v2.money_management.outbound_payment.returned",
"changes": {},
"data": {}
}

Attributes

  • idstring

    Unique identifier for the event.

  • objectstring, value is "v2.core.event"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • contextnullable string

    Authentication context needed to fetch the event or related object.

  • createdtimestamp

    Time at which the object was created.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • reasonnullable object

    Reason for the event.

  • related_objectnullable object

    Object containing the reference to API resource relevant to the event.

  • typestring, value is "v2.money_management.outbound_payment.updated"

    The type of the event.

Fetched attributes

  • dataobject

    Additional data about the event.

Event handler
# Select a client library to see examples of
# parsing and retrieving event details.