Retrieve bank account specifications for PayoutMethods v2

Fetch the specifications for a set of countries to know which credential fields are required, the validations for each fields, and how to translate these country-specific fields to the generic fields in the PayoutMethodBankAccount type.

Learn more about calling API v2 endpoints.

Parameters

  • countriesarray of strings

    The countries to fetch the bank account spec for.

Returns

Response attributes

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

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

  • countriesmap

    The list of specs by country.

  • livemodeboolean

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

400invalid_country_code

Returned in cases where the country code requested for the bank account spec is invalid.

GET /v2/money_management/payout_methods_bank_account_spec
curl -G https://api.stripe.com/v2/money_management/payout_methods_bank_account_spec \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-11-17.preview" \
-d "countries[0]"=US
Response
{
"object": "v2.money_management.payout_methods_bank_account_spec",
"countries": {
"US": {
"fields": [
{
"local_name": "account_number",
"local_name_human": {
"localization_key": "payout_methods.bank_account.account_number",
"content": "Account Number"
},
"max_length": 17,
"min_length": 1,
"placeholder": "000123456789",
"stripe_name": "account_number",
"validation_regex": "\\A\\d{1,17}\\z"
},
{
"local_name": "routing_number",
"local_name_human": {
"localization_key": "payout_methods.bank_account.routing_number",
"content": "Routing Number"
},
"max_length": 9,
"min_length": 9,
"placeholder": "110000000",
"stripe_name": "routing_number",
"validation_regex": "\\A(01|02|03|04|05|06|07|08|09|10|11|12|21|22|23|24|25|26|27|28|29|30|31|32)[0-9]{7}\\z"
}
]
}
},
"livemode": true
}

List all PayoutMethod objects v2

List objects that adhere to the PayoutMethod interface.

Learn more about calling API v2 endpoints.

Parameters

  • limitinteger

    The page size.

  • pagestring

    The requested page.

  • usage_statusobject

    Usage status filter.

Returns

Response attributes

  • dataarray of objects

    The list of payout methods.

  • next_page_urlnullable string

    The next page url.

  • previous_page_urlnullable string

    The previous page url.

GET /v2/money_management/payout_methods
curl https://api.stripe.com/v2/money_management/payout_methods \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-11-17.preview"
Response
{
"data": [
{
"id": "card_test_61SITa59fSaPfOGuU16QsOpAPpE97EJALhqt1U5mC1lg",
"object": "v2.money_management.payout_method",
"available_payout_speeds": [
"standard",
"instant"
],
"card": {
"archived": false,
"exp_month": "10",
"exp_year": "2028",
"last4": "5556"
},
"created": "2025-04-01T14:17:05.425Z",
"latest_outbound_setup_intent": null,
"type": "card",
"usage_status": {
"payments": "eligible",
"transfers": "eligible"
},
"livemode": true
},
{
"id": "gbba_test_61SITWKOFwHCpdRSV16QsOpAPpE97EJALhqt1U5mCDyS",
"object": "v2.money_management.payout_method",
"available_payout_speeds": [
"standard"
],
"bank_account": {
"archived": false,
"bank_name": "Test Bank",
"country": "GB",
"enabled_delivery_options": [
"local"
],
"last4": "2345",
"routing_number": "108800",
"supported_currencies": [
"gbp"
],
"bank_account_type": "checking"
},
"created": "2025-04-01T14:13:12.295Z",
"latest_outbound_setup_intent": "osi_test_61SITWK7KhLsQIGAK16QsOpAPpE97EJALhqt1U5mC4kq",
"type": "bank_account",
"usage_status": {
"payments": "requires_action",
"transfers": "eligible"
},
"livemode": true
},
{
"id": "gbba_test_61Qz1meKFu38uCGVY16QsOpAPpE97EJALhqt1U5mCBVQ",
"object": "v2.money_management.payout_method",
"available_payout_speeds": [
"standard"
],
"bank_account": {
"archived": false,
"bank_name": "Test Bank",
"country": "GB",
"enabled_delivery_options": [
"local"
],
"last4": "2345",
"routing_number": "108800",
"supported_currencies": [
"gbp"
],
"bank_account_type": "checking"
},
"created": "2024-08-19T22:13:24.332Z",
"latest_outbound_setup_intent": null,
"type": "bank_account",
"usage_status": {
"payments": "eligible",
"transfers": "eligible"
},
"livemode": true
}
],
"next_page_url": null,
"previous_page_url": null
}

Archive a PayoutMethod object v2

Archive a PayoutMethod object. Archived objects cannot be used as payout methods and will not appear in the payout method list.

Learn more about calling API v2 endpoints.

Parameters

  • idstringRequired

    ID of the payout method.

Returns

Response attributes

  • idstring

    ID of the PayoutMethod object.

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

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

  • available_payout_speedsarray of enums

    A set of available payout speeds for this payout method.

    Possible enum values
    instant

    Instant.

    standard

    Standard.

  • bank_accountnullable object

    The PayoutMethodBankAccount object details.

  • cardnullable object

    The PayoutMethodCard object details.

  • createdtimestamp

    Created timestamp.

  • latest_outbound_setup_intentnullable string

    ID of the underlying active OutboundSetupIntent object, if any.

  • livemodeboolean

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

  • typeenum

    The type of payout method.

    Possible enum values
    bank_account

    Bank account.

    card

    Card.

    crypto_wallet

    Crypto wallet.

  • usage_statusobject

    Indicates whether the payout method has met the necessary requirements for outbound money movement.

400bank_account_cannot_be_archived

Returned when the PayoutMethodBankAccount object is controlled by the Stripe Dashboard, and cannot be archived.

400invalid_payout_method

Returned in cases where the ID provided doesn’t correspond to a valid payout method.

404not_found

The resource wasn’t found.

POST /v2/money_management/payout_methods/:id/archive
curl -X POST https://api.stripe.com/v2/money_management/payout_methods/usba_test_61S8MLMQAjFLoPjqt16QsOpAPpE97EJALhqt1U5mCNB2/archive \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-11-17.preview"
Response
{
"id": "usba_test_61S8MLMQAjFLoPjqt16QsOpAPpE97EJALhqt1U5mCNB2",
"object": "v2.money_management.payout_method",
"available_payout_speeds": [
"standard"
],
"bank_account": {
"archived": true,
"bank_name": "Test Bank",
"country": "US",
"enabled_delivery_options": [
"local"
],
"last4": "6789",
"routing_number": "110000000",
"supported_currencies": [
"usd"
],
"bank_account_type": "checking"
},
"created": "2025-03-04T16:32:04.907Z",
"latest_outbound_setup_intent": "osi_test_61S8MLMXLJbg85kWm16QsOpAPpE97EJALhqt1U5mCXrk",
"type": "bank_account",
"usage_status": {
"payments": "eligible",
"transfers": "eligible"
},
"livemode": true
}

Unarchive a PayoutMethod object v2

Unarchive an PayoutMethod object.

Learn more about calling API v2 endpoints.

Parameters

  • idstringRequired

    ID of the Payout Method.

Returns

Response attributes

  • idstring

    ID of the PayoutMethod object.

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

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

  • available_payout_speedsarray of enums

    A set of available payout speeds for this payout method.

    Possible enum values
    instant

    Instant.

    standard

    Standard.

  • bank_accountnullable object

    The PayoutMethodBankAccount object details.

  • cardnullable object

    The PayoutMethodCard object details.

  • createdtimestamp

    Created timestamp.

  • latest_outbound_setup_intentnullable string

    ID of the underlying active OutboundSetupIntent object, if any.

  • livemodeboolean

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

  • typeenum

    The type of payout method.

    Possible enum values
    bank_account

    Bank account.

    card

    Card.

    crypto_wallet

    Crypto wallet.

  • usage_statusobject

    Indicates whether the payout method has met the necessary requirements for outbound money movement.

400bank_account_cannot_be_unarchived

Returned when the PayoutMethodBankAccount object is controlled by the Stripe Dashboard, and cannot be unarchived.

400invalid_payout_method

Returned in cases where the ID provided doesn’t correspond to a valid payout method.

404not_found

The resource wasn’t found.

POST /v2/money_management/payout_methods/:id/unarchive
curl -X POST https://api.stripe.com/v2/money_management/payout_methods/card_test_61SITa59fSaPfOGuU16QsOpAPpE97EJALhqt1U5mC1lg/unarchive \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-11-17.preview"
Response
{
"id": "card_test_61SITa59fSaPfOGuU16QsOpAPpE97EJALhqt1U5mC1lg",
"object": "v2.money_management.payout_method",
"available_payout_speeds": [
"standard",
"instant"
],
"card": {
"archived": false,
"exp_month": "10",
"exp_year": "2028",
"last4": "5556"
},
"created": "2025-04-01T14:17:05.425Z",
"latest_outbound_setup_intent": null,
"type": "card",
"usage_status": {
"payments": "eligible",
"transfers": "eligible"
},
"livemode": true
}

PayoutMethod event types v2

This is a list of all public thin events we currently send for updates to PayoutMethod, 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