Bank Accounts API

Applies to: Bank Accounts API

Use the Bank Accounts API to retrieve information about the bank accounts linked to a Square account.

Link to section

Overview

Sellers can link bank accounts to their Square accounts in the Square Dashboard or Square app. A seller needs to link a bank account in order to transfer money into or out of Square.

When a seller links a bank account in their dashboard, Square generates a BankAccount object. A BankAccount represents the connected account.

With the Bank Accounts API, you can:

  • Retrieve a list of all of a seller’s linked bank accounts with a call to ListBankAccounts
  • Retrieve a specific connected bank account with a call to GetBankAccount

These endpoints are useful if you want to display a seller’s bank account information in your application.

Link to section

How the Bank Accounts API works

Link to section

Requirements and Limitations

  • OAuth applications must have BANK_ACCOUNTS_READ permissions to use the Bank Accounts API
Link to section

BankAccount object

Square generates a BankAccount object when a seller links a bank account to their Square account. Calls to ListBankAccounts and GetBankAccount return BankAccount objects. The BankAccount represents the linked account.

The below example BankAccount represents a US bank account linked to a seller’s US Square account.

Note

For comprehensive details about every BankAccount field, see the BankAccount reference.

Link to section

International Bank Accounts

The primary_bank_identification_number and optional secondary_bank_identification_number field formats vary depending on the country where the bank is located, as detailed in the following table.

Country of the bankISO country codeprimary_bank_identification_numbersecondary_bank_identification_number
United StatesUSRouting numberN/A
JapanJPBank codeBranch code
United KingdomGBSort codeN/A
CanadaCAInstitution numberTransit number
AustraliaAUBSB codeN/A
SEPA countriesCountry code of the BICSwift BICN/A

See International Development for more information about building Square applications that support sellers in multiple countries.

Link to section

Operations

You can execute the following operations with the Bank Accounts API:

Link to section

Webhooks

You can subscribe to the following webhooks to get notified when there are changes to a BankAccount:

EventPermissionDescription
bank_account.disabledBANK_ACCOUNTS_READPublished when Square sets the status of a bank account to DISABLED.
bank_account.verifiedBANK_ACCOUNTS_READPublished when Square sets the status of a bank account to VERIFIED.
bank_account.createdBANK_ACCOUNTS_READPublished when you link a seller's or buyer's bank account to a Square account. Square sets the initial status to VERIFICATION_IN_PROGRESS and publishes the event.
Link to section

BankAccount.version and Webhooks

The BankAccount.version field is useful when processing webhook events. The version is assigned when the BankAccount is created, and increments every time the BankAccount.status changes. The status changes when Square makes any update to the BankAccount, including when Square verifies, disables, or reenables the BankAccount.

See Square Webhooks for more information about using webhooks with Square, and the Webhook Events Reference for a list of all supported webhooks.