---
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 |  | DEPRECATED Not used anymore. Do not use. |
| `merchantCode` | | String |  | A merchant code string holds a value to identify a merchant.Format:- Either: `MerchantAccount.Merchant_Code`
- Or: `Merchant_Code` |
| `bankAccountData` | | Class |  | A container object for bank account data.- `bankCity`
- `bankCode`
- `bankName`
- `bic`
- `branchCode`
- `checkCode`
- `countryCode`
- `currency`
- `foundationAccount`
- `iban`
- `number`
- `owner`
- `ownerCity` |
| | \|-`bankCity` | String |  | 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 |  | 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 |  | The name of the bank.`bankName` is a *mandatory* field for:- All non-EUR transactions |
| | \|-`bic` | String |  | [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362). Unique identifier for the bank. |
| | \|-`branchCode` | String |  | 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 |  | 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 |  | 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 |  | The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217). This is a non editable, read-only field. |
| | \|-`foundationAccount` | String |  | 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 |  | The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number). |
| | \|-`number` | String |  | The [bank account](https://en.wikipedia.org/wiki/Bank_account) number. |
| | \|-`owner` | String |  | Name of the bank account owner. |
| | \|-`ownerCity` | String |  | 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 |  | A reference to uniquely identify the request. |
| `warnings` | String |  | 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 |  | 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
```