Customers
delete/v1/customers/{customer}/bank_accounts/{id}

Delete a customer source

Delete a specified source for a given customer.

Path parameters

NameDescription
customer*
id*

Request body

FieldTypeDescription
expandarray<string>

Specifies which fields in the response should be expanded.

Response

anyOf option 1: account | bank_account | card | source

anyOf option 1: account

FieldTypeDescription
business_profileaccount_business_profile

Business information about the account.

business_typestring

The business type.

capabilitiesaccount_capabilities
charges_enabledboolean

Whether the account can process charges.

companylegal_entity_company
controlleraccount_unification_account_controller
countrystring

The account's country.

createdinteger (unix-time)

Time at which the account was connected. Measured in seconds since the Unix epoch.

default_currencystring

Three-letter ISO currency code representing the default currency for the account. This must be a currency that Stripe supports in the account's country.

details_submittedboolean

Whether account details have been submitted. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to an onboarding flow to finish submitting account details.

emailstring

An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform.

external_accountsobject

External accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where controller[is_controller] is true.

4 nested fields
FieldTypeDescription
data*array<bank_account | card>

The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.

has_more*boolean

True if this list has another page of items after this one that can be fetched.

object*string

String representing the object's type. Objects of the same type share the same value. Always has the value list.

url*string

The URL where this list can be accessed.

future_requirementsaccount_future_requirements
groupsaccount_group_membership

The groups associated with the account.

id*string

Unique identifier for the object.

individualperson
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.

object*string

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

payouts_enabledboolean

Whether the funds in this account can be paid out.

requirementsaccount_requirements
settingsaccount_settings

Options for customizing how the account functions within Stripe.

tos_acceptanceaccount_tos_acceptance
typestring

The Stripe account type. Can be standard, express, custom, or none.

anyOf option 2: bank_account

FieldTypeDescription
accountstring | account

The account this bank account belongs to. Only applicable on Accounts (not customers or recipients) This property is only available when returned as an External Account where controller.is_controller is true.

account_holder_namestring

The name of the person or business that owns the bank account.

account_holder_typestring

The type of entity that holds the account. This can be either individual or company.

account_typestring

The bank account type. This can only be checking or savings in most countries. In Japan, this can only be futsu or toza.

available_payout_methodsarray<string>

A set of available payout methods for this bank account. Only values from this set should be passed as the method when creating a payout.

bank_namestring

Name of the bank associated with the routing number (e.g., WELLS FARGO).

country*string

Two-letter ISO code representing the country the bank account is located in.

currency*string (currency)

Three-letter ISO code for the currency paid out to the bank account.

customerstring | customer | deleted_customer

The ID of the customer that the bank account is associated with.

default_for_currencyboolean

Whether this bank account is the default external account for its currency.

fingerprintstring

Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.

future_requirementsexternal_account_requirements

Information about the upcoming new requirements for the bank account, including what information needs to be collected, and by when.

id*string

Unique identifier for the object.

last4*string

The last four digits of the bank account number.

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.

object*string

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

requirementsexternal_account_requirements

Information about the requirements for the bank account, including what information needs to be collected.

routing_numberstring

The routing transit number for the bank account.

status*string

For bank accounts, possible values are new, validated, verified, verification_failed, tokenized_account_number_deactivated or errored. A bank account that hasn't had any activity or validation performed is new. If Stripe can determine that the bank account exists, its status will be validated. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be verified. If the verification failed for any reason, such as microdeposit failure, the status will be verification_failed. If the status is tokenized_account_number_deactivated, the account utilizes a tokenized account number which has been deactivated due to expiration or revocation. This account will need to be reverified to continue using it for money movement. If a payout sent to this bank account fails, we'll set the status to errored and will not continue to send scheduled payouts until the bank details are updated. For external accounts, possible values are new, errored, verification_failed, and tokenized_account_number_deactivated. If a payout fails, the status is set to errored and scheduled payouts are stopped until account details are updated. In the US and India, if we can't verify the owner of the bank account, we'll set the status to verification_failed. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply.

anyOf option 3: card

FieldTypeDescription
accountstring | account
address_citystring

City/District/Suburb/Town/Village.

address_countrystring

Billing address country, if provided when creating card.

address_line1string

Address line 1 (Street address/PO Box/Company name).

address_line1_checkstring

If address_line1 was provided, results of the check: pass, fail, unavailable, or unchecked.

address_line2string

Address line 2 (Apartment/Suite/Unit/Building).

address_statestring

State/County/Province/Region.

address_zipstring

ZIP or postal code.

address_zip_checkstring

If address_zip was provided, results of the check: pass, fail, unavailable, or unchecked.

allow_redisplaystring

This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”.

available_payout_methodsarray<string>

A set of available payout methods for this card. Only values from this set should be passed as the method when creating a payout.

brand*string

Card brand. Can be American Express, Cartes Bancaires, Diners Club, Discover, Eftpos Australia, Girocard, JCB, MasterCard, UnionPay, Visa, or Unknown.

countrystring

Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.

currencystring (currency)

Three-letter ISO code for currency in lowercase. Must be a supported currency. Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available when returned as an External Account where controller.is_controller is true.

customerstring | customer | deleted_customer

The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.

cvc_checkstring

If a CVC was provided, results of the check: pass, fail, unavailable, or unchecked. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see Check if a card is valid without a charge.

default_for_currencyboolean

Whether this card is the default external account for its currency. This property is only available for accounts where controller.requirement_collection is application, which includes Custom accounts.

dynamic_last4string

(For tokenized numbers only.) The last four digits of the device account number.

exp_month*integer

Two-digit number representing the card's expiration month.

exp_year*integer

Four-digit number representing the card's expiration year.

fingerprintstring

Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*

funding*string

Card funding type. Can be credit, debit, prepaid, or unknown.

id*string

Unique identifier for the object.

iinstring

Issuer identification number of the card.

last4*string

The last four digits of the card.

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.

namestring

Cardholder name.

networkstoken_card_networks
object*string

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

regulated_statusstring

Status of a card based on the card issuer.

anyOf option 4: source

FieldTypeDescription
ach_credit_transfersource_type_ach_credit_transfer
ach_debitsource_type_ach_debit
acss_debitsource_type_acss_debit
alipaysource_type_alipay
allow_redisplaystring

This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”.

amountinteger

A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for single_use sources.

au_becs_debitsource_type_au_becs_debit
bancontactsource_type_bancontact
cardsource_type_card
card_presentsource_type_card_present
client_secret*string

The client secret of the source. Used for client-side retrieval using a publishable key.

code_verificationsource_code_verification_flow
created*integer (unix-time)

Time at which the object was created. Measured in seconds since the Unix epoch.

currencystring (currency)

Three-letter ISO code for the currency associated with the source. This is the currency for which the source will be chargeable once ready. Required for single_use sources.

customerstring

The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer.

epssource_type_eps
flow*string

The authentication flow of the source. flow is one of redirect, receiver, code_verification, none.

giropaysource_type_giropay
id*string

Unique identifier for the object.

idealsource_type_ideal
klarnasource_type_klarna
livemode*boolean

If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.

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.

multibancosource_type_multibanco
object*string

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

ownersource_owner

Information about the owner of the payment instrument that may be used or required by particular source types.

p24source_type_p24
receiversource_receiver_flow
redirectsource_redirect_flow
sepa_debitsource_type_sepa_debit

anyOf option 2: deleted_bank_account | deleted_card

anyOf option 1: deleted_bank_account

FieldTypeDescription
currencystring

Three-letter ISO code for the currency paid out to the bank account.

deleted*boolean

Always true for a deleted object

id*string

Unique identifier for the object.

object*string

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

anyOf option 2: deleted_card

FieldTypeDescription
currencystring

Three-letter ISO code for the currency paid out to the bank account.

deleted*boolean

Always true for a deleted object

id*string

Unique identifier for the object.

object*string

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