Create a bank account

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

Parameters

  • sourceobject | stringRequired

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

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

Returns

Returns the bank account object.

POST /v1/customers/:id/sources
curl https://api.stripe.com/v1/customers/ba_1MvoIJ2eZvKYlo2CO9f0MabO/sources \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d source=btok_1MvoS32eZvKYlo2CDhGTErAe
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"
}

Update a bank account

Updates the account_holder_name, account_holder_type, and metadata of a bank account belonging to a customer. Other bank account details are not editable, by design.

Parameters

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

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

Returns

Returns the bank account object.

POST /v1/customers/:id/sources/:id
curl https://api.stripe.com/v1/customers/cus_9s6XI9OFIdpjIg/sources/ba_1MvoIJ2eZvKYlo2CO9f0MabO \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d "metadata[order_id]"=6735
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": {
"order_id": "6735"
},
"routing_number": "110000000",
"status": "new"
}

Retrieve a bank account

By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.

Parameters

No parameters.

Returns

Returns the bank account object.

GET /v1/customers/:id/bank_accounts/:id
cURL
curl https://api.stripe.com/v1/customers/cus_9s6XI9OFIdpjIg/bank_accounts/ba_1MvoIJ2eZvKYlo2CO9f0MabO \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:"
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"
}

List all bank accounts

You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional bank accounts.

Parameters

No parameters.

More parameters

  • ending_beforestring

  • limitinteger

  • starting_afterstring

Returns

Returns a list of the bank accounts stored on the customer.

GET /v1/customers/:id/bank_accounts
cURL
curl -G https://api.stripe.com/v1/customers/cus_9s6XI9OFIdpjIg/bank_accounts \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d limit=3
Response
{
"object": "list",
"url": "/v1/customers/cus_9s6XI9OFIdpjIg/bank_accounts",
"has_more": false,
"data": [
{
"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"
}
{...}
{...}
],
}

Delete a bank account

You can delete bank accounts from a Customer.

Parameters

No parameters.

Returns

DELETE /v1/customers/:id/sources/:id
curl -X DELETE https://api.stripe.com/v1/customers/cus_9s6XKzkNRiz8i3/sources/ba_1NkxyL2eZvKYlo2CwZgb2mzO \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:"
Response
{
"customer": "cus_9s6XKzkNRiz8i3",
"id": "ba_1NkxyL2eZvKYlo2CwZgb2mzO",
"object": "bank_account",
"deleted": true
}