Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Bank Accounts


Bank Accounts

These bank accounts are payment methods on Customer objects.

On the other hand External Accounts are transfer destinations on Account objects for connected accounts. They can be bank accounts or debit cards as well, and are documented in the links above.

Related guide: Bank debits and transfers

Was this section helpful? Yes No

Create a bank account

POST / v1 / customers /:id / sources

Update a bank account

POST / v1 / customers /:id / sources /:id

Retrieve a bank account

GET / v1 / customers /:id / bank_accounts /:id

List all bank accounts

GET / v1 / customers /:id / bank_accounts

Delete a bank account

DELETE / v1 / customers /:id / sources /:id

Verify a bank account

POST / v1 / customers /:id / sources /:id / verify

The Bank Account object

Attributes

  • id string Unique identifier for the object.
  • account _ holder _ name nullable string The name of the person or business that owns the bank account.
  • account _ holder _ type nullable string The type of entity that holds the account. This can be either individual or company.
  • bank _ name nullable string Name of the bank associated with the routing number (e.g., the related setting the related setting).
  • country string Two-letter ISO code representing the country the bank account is located in.
  • currency enum Three-letter ISO code for the currency paid out to the bank account.
  • customer nullable string Expandable The ID of the customer that the bank account is associated with.
  • fingerprint nullable string Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
  • last4 string The last four digits of the bank account number.
  • metadata nullable 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.
  • routing _ number nullable string The routing transit number for the bank account.

More attributes

  • object string, value is "bank_account"
  • account nullable string Expandable Available conditionally
  • account _ type nullable string
  • available _ payout _ methods nullable array of enums
  • status string

The Bank Account object

{ "id": "ba_1MvoIJ2eZvKYlo2CO9f0MabO", "object": "bank_account", "account_holder_name": "Jane Austen", "account_holder_type": "company", "account_type": null, "bank_name": "STRIPE TEST BANK", "country": "US", "currency": "usd", "customer": "cus_9s6XI9OFIdpjIg", "fingerprint": "1JWtPxqbdX5Gamtc", "last4": "6789", "metadata": {}, "routing_number": "110000000", "status": "new"}

Create a bank account

POST / v1 / customers /:id / sources

When you create a new bank account, you must specify a Customer object on which to create it.

Parameters

  • source object | string Required Either a token, like the ones returned by Stripe.js, or a dictionary containing a user’s bank account details (with the options shown below).
  • metadata 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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

Returns

Returns the bank account object.

Response

{ "id": "ba_1MvoIJ2eZvKYlo2CO9f0MabO", "object": "bank_account", "account_holder_name": "Jane Austen", "account_holder_type": "company", "account_type": null, "bank_name": "STRIPE TEST BANK", "country": "US", "currency": "usd", "customer": "cus_9s6XI9OFIdpjIg", "fingerprint": "1JWtPxqbdX5Gamtc", "last4": "6789", "metadata": {}, "routing_number": "110000000", "status": "new"}
Last verified 2026-09-24

Is this helpful?