--- title: "Update bank account" description: "Update the information of an existing bank account at merchant level." url: "https://docs.adyen.com/account-management-api/manage-bank-accounts-and-payouts/updatebankaccount" source_url: "https://docs.adyen.com/account-management-api/manage-bank-accounts-and-payouts/updatebankaccount.md" canonical: "https://docs.adyen.com/account-management-api/manage-bank-accounts-and-payouts/updatebankaccount" last_modified: "2026-05-24T12:54:32+02:00" language: "en" --- # Update bank account Update the information of an existing bank account at merchant level. [View source](/account-management-api/manage-bank-accounts-and-payouts/updatebankaccount.md) Use the `updateBankAccount` endpoint to update or delete existing bank account information. The information is updated or deleted based on the data that you submit. For example: | Type of data | Operation | | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | | New data | Update operation. The new data replace the corresponding existing data. | | Empty string | Delete operation. The empty string replaces the corresponding existing data, i.e. the information on record is deleted. | | Same value or no new value | No change. The corresponding existing data is kept. | | Any optional fields not included in the update | No change. The corresponding existing data is kept. | The following fields require a [4-eye policy](http://whatis.techtarget.com/definition/four-eyes-principle) review: * bankAccountsDeleteUnconfirmed * bankAccountsUpdateUnconfirmed A bank account is defined by the  `merchantCode` and the `currency`. There cannot be multiple bank accounts with the same currency set up. These are the only required fields for an update. If a value for a field is not set, the old value is retained. ## Request parameters To update bank account information for a merchant account, make a POST `/updateBankAccount` request specifying: | Name | | Type | Required | Description | | ----------------- | ---------------------- | ------ | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `accountKey` | | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | DEPRECATED Not used anymore. Do not use. | | `merchantCode` | | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | A merchant code string holds a value to identify a merchant.Format:- Either: `MerchantAccount.Merchant_Code` - Or: `Merchant_Code` | | `bankAccountData` | | Class | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | A container object for bank account data.- `bankCity` - `bankCode` - `bankName` - `bic` - `branchCode` - `checkCode` - `countryCode` - `currency` - `foundationAccount` - `iban` - `number` - `owner` - `ownerCity` | | | \|-`bankCity` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The (main) city the bank operates from. `bankCity` is an optional field for EUR transactions.\`\``bankCity` is a *mandatory* field for:- All non-EUR transactions - All EUR transactions without an IBAN code. | | | \|-`bankCode` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The code identifying the bank. The field format is specific to the country/region.`bankCode` is mandatory *only* for the following countries/regions:- Canada - Hong Kong - New Zealand - Singapore - Taiwan | | | \|-`bankName` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The name of the bank.`bankName` is a *mandatory* field for:- All non-EUR transactions | | | \|-`bic` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362). Unique identifier for the bank. | | | \|-`branchCode` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The code identifying the bank branch office. The field format is specific to the country/region.`branchCode` is mandatory *only* for the following countries/regions:- Australia - Canada - Great Britain - Indonesia - Hong Kong - New Zealand - Singapore - South-Africa - Taiwan - United States | | | \|-`checkCode` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Code check. It corresponds to checking digits in an IBAN code. If it is included in a transaction, its value is validated against the corresponding IBAN code. `checkCode` should never be included in transactions involving non-IBAN compliant countries/regions. | | | \|-`countryCode` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The `country` value format needs to adhere to the [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) standard. An invalid country code results in a transaction/request rejection. You can [look up country codes](https://www.iso.org/obp/ui/) on the ISO website.This field is mandatory in the following cases:- The transaction does not include an IBAN.  - If it is not possible to retrieve the country code from the IBAN code. | | | \|-`currency` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217). This is a non editable, read-only field. | | | \|-`foundationAccount` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The foundation account number (FAN). A unique identifier. This is a non editable, read-only field. It is relevant only in the call response. | | | \|-`iban` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number). | | | \|-`number` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The [bank account](https://en.wikipedia.org/wiki/Bank_account) number. | | | \|-`owner` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Name of the bank account owner. | | | \|-`ownerCity` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Name of the city where the bank account holder resides. This is a mandatory field when:- The transaction does not include an IBAN. - The transaction is non-EUR. | ## Response parameters If there are no errors in the request, the call returns a `pspReference.`If any issues occur during the process, the call returns one or more warning or error messages. | Name | Type | Returned by default | Description | | -------------- | ------ | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `pspReference` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | A reference to uniquely identify the request. | | `warnings` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Warning message about problems encountered while trying to update the specified bank account details. Returned when the update operation does not work as expected. | | `errors` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Error message(s) about problems encountered while trying to update the specified bank account details. Returned when the update operation fails. | ## Examples ### Request #### JSON ```json { "merchantCode":"TestMerchant", "bankAccountData":{ "bic":"RABONL2U", "countryCode":"NL", "currency":"EUR", "iban":"NL39RABO123456789", "number":"123456789", "owner":"TestOwnerEUR" } } ``` #### Soap ```xml RABONL2U NL EUR NL39RABO123456789 123456789 TestOwnerEUR TestMerchant ``` ### Response #### JSON ```json { "pspReference":"9914526949630181" } ``` #### Soap ```xml 9914526949630181   ``` ### Response in case of an error #### JSON ```json { "errors": { "string":"validation errors: branchCode=not present, iban=not valid for DE" }, "pspReference":"9914140757570032" } ``` #### Soap ```xml validation errors: branchCode=not present, iban=not valid for DE 9914140757570032 ```