> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.mangopay.com/api-reference/banking-aliases/create-iban-banking-alias/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server. # Create an IBAN Banking Alias POST https://api.sandbox.mangopay.com/v2.01/{ClientId}/wallets/{WalletId}/bankingaliases/iban Content-Type: application/json **Deprecated – Decommissioning planned for 2027** Mangopay plans to decommission the Banking Alias endpoints in 2027. Platforms using them should plan to re-integrate using the [Virtual Account](/api-reference/virtual-accounts/virtual-account-object) endpoints. Existing Banking Alias objects are available via the [GET View a Virtual Account](/api-reference/virtual-accounts/view-virtual-account) endpoint by using the Banking Alias `Id` and `WalletId` as path parameters. **Caution – Rely on `OwnerName` returned in response** Since September 15, 2025, Mangopay sets the `OwnerName` value by default based on the criteria [available here](/guides/vop/payins#banking-alias-categorization). Your platform must rely on the API response value (also available on the GET endpoints) and ensure it is easy to see and copy for the end user in your interfaces. **Note - Payee confirmation in the UK** When the user sets up the payee with their bank, Mangopay UK or Mangopay SA is displayed as the account holder name. You should communicate this to them to avoid confusion. Create an IBAN Banking Alias Reference: https://docs.mangopay.com/api-reference/banking-aliases/create-iban-banking-alias ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. If your platform is using a [proxy](/guides/sca/proxy-management) to take SCA-triggering action on behalf of users, you also need to integrate [mTLS authentication](/guides/sca/platform) and use the `api-mtls` base URL. ## Servers - `https://api.sandbox.mangopay.com` (Sandbox, default) - `https://api.mangopay.com` (Production) - `https://api-mtls.sandbox.mangopay.com` (mTLS Sandbox) - `https://api-mtls.mangopay.com` (mTLS Production) ## Request ### Path parameters - `ClientId` (string, required) — Platform's API account identifier, associated with the API key. - `WalletId` (string, required) — The unique identifier of the wallet. ### Body (application/json) This endpoint expects a CreateAnIBANBankingAliasRequest. - `OwnerName` (string, required) — The owner of the banking alias, which is set automatically by Mangopay since September 15, 2025 ([read more](/guides/vop/payins#banking-alias-categorization)). If the User owning the attached wallet has `UserCategory` of `OWNER` and the `KYCLevel` of `REGULAR`, then the `OwnerName` is set to the `FirstName` and `LastName` values for a [Natural User](/api-reference/users/natural-user-object-sca) or the `Name` value for a [Legal User](/api-reference/users/legal-user-object-sca). In this case, the `VirtualAccountPurpose` in the API response is `USER_OWNED` . If the User is not KYC verified and an `OWNER`, then the `OwnerName` is set to “MGP `PlatformTradingName`" in standard cases, or else “Mangopay” for Marketplace Payment Extension (MPE) workflows. In this case, the `VirtualAccountPurpose` in the API response is `COLLECTION`. **Caution:** Your platform must ensure that you use the `OwnerName` returned in the API response. - `Country` (string, required) — **Allowed values:** DE, DK, ES, FR, GB, LU, PL The country of the banking alias. The country must correspond to the currency of the wallet. - `Tag` (string, optional) — Max. length: 255 characters Custom data that you can add to this object, such as unique identifiers in your system. To store multiple values, you can serialize them into a single string, for example a JSON object: `"{\"id_1\":AB123,\"id_2\":DE456}"`. ## Response ### 200 Success - `OwnerName` (string, optional) — The owner of the banking alias, which is set automatically by Mangopay since September 15, 2025 ([read more](/guides/vop/payins#banking-alias-categorization)). If the User owning the attached wallet has `UserCategory` of `OWNER` and the `KYCLevel` of `REGULAR`, then the `OwnerName` is set to the `FirstName` and `LastName` values for a [Natural User](/api-reference/users/natural-user-object-sca) or the `Name` value for a [Legal User](/api-reference/users/legal-user-object-sca). In this case, the `VirtualAccountPurpose` in the API response is `USER_OWNED`. If the User is not KYC verified and an `OWNER`, then the `OwnerName` is set to “MGP `PlatformTradingName`" in standard cases, or else “Mangopay” for Marketplace Payment Extension (MPE) workflows. In this case, the `VirtualAccountPurpose` in the API response is `COLLECTION`. **Caution:** Your platform must ensure that you use the `OwnerName` returned in the API response. - `IBAN` (string, optional) — The IBAN (international bank account number) of the banking alias. - `BIC` (string, optional) — The BIC (international identifier of the bank) for the banking alias. - `CreditedUserId` (string, optional) — The unique identifier of the user whose wallet is credited, in other words, the Owner of the wallet for which the alias is created. **Note:** Once the banking alias is created, it is not possible to change the `CreditedUserId`. - `Country` (string, optional) — **Returned values:** DE, DK, ES, FR, GB, LU, PL The country of the banking alias. The country must correspond to the currency of the wallet. - `Tag` (string, optional) — Max. length: 255 characters Custom data that you can add to this object, such as unique identifiers in your system. To store multiple values, you can serialize them into a single string, for example a JSON object: `"{\"id_1\":AB123,\"id_2\":DE456}"`. - `CreationDate` (integer, optional) — Unix timestamp (UTC) of the date and time the object was created. - `Active` (boolean, optional) — Whether or not the banking alias is active. **Caution:** Setting this value to `false` is irreversible. - `Type` (string, optional) — **Returned values:** `IBAN`, `GB` The type of banking alias. The `GB` value is only returned if the `Country` is `GB`. - `Id` (string, optional) — Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details) The unique identifier of the object. - `WalletId` (string, optional) — The unique identifier of the wallet. - `LocalAccountDetails` (SortCodeAccountNumber, optional) — The banking alias details in local format returned if applicable for the `Country` (e.g. `GB`), otherwise `null` ## Errors ### 400 Bad Request Error Bad Request - `Message` (string, optional) — Description of the error. - `Type` (string, optional) — The category of the error. - `Id` (string, optional) — Unique identifier of the error instance, useful when contacting Mangopay for support. - `Date` (double, optional) — Unix timestamp (UTC) of the date and time the error was triggered. - `errors` (map from string to string, optional, nullable) — Object containing one or more field-level errors. ### 403 Forbidden Error Forbidden - `Message` (string, optional) — Description of the error. - `Type` (string, optional) — The category of the error. - `Id` (string, optional) — Unique identifier of the error instance, useful when contacting Mangopay for support. - `Date` (double, optional) — Unix timestamp (UTC) of the date and time the error was triggered. - `errors` (map from string to string, optional, nullable) — Object containing one or more field-level errors. ## Types ### SortCodeAccountNumber The banking alias details in local format returned if applicable for the `Country` (e.g. `GB`), otherwise `null` - `SortCode` (string, optional) — The sort code of the banking alias in local format. - `AccountNumber` (string, optional) — The account number of the banking alias in local format. ## Examples ### FR **Request** ```json { "body": { "Country": "FR", "OwnerName": "Alex Smith", "Tag": "Created using Mangopay API Postman Collection" } } ``` **Response** ```json { "OwnerName": "Alex Smith", "IBAN": "FR7674521100005657670994474", "BIC": "MPAYFRP1PIN", "CreditedUserId": "user_m_01HSB23417BFG7YXR7E371JSEA", "Country": "FR", "Tag": "Created using Mangopay API Postman Collection", "CreationDate": 1710846581, "Active": true, "Type": "IBAN", "Id": "wltbank_m_01HSB6E769Y3ZBYDJACSP3THGA", "WalletId": "wlt_m_01HSB6DE1YT1EMTH0K7ASYPG96" } ``` **SDK Code** ```python FR from pprint import pprint import mangopay mangopay.client_id='your-client-id' mangopay.apikey='your-api-key' from mangopay.api import APIRequest handler = APIRequest(sandbox=True) from mangopay.api import APIRequest handler = APIRequest(sandbox=True) from mangopay.resources import NaturalUser, Wallet, BankingAliasIBAN natural_user = NaturalUser.get('213753890') user_wallet = Wallet.get('215029593') iban_alias = BankingAliasIBAN( owner_name = f'{natural_user.first_name} {natural_user.last_name}', credited_user = natural_user, wallet_id = user_wallet.id, tag = 'Create using the Mangopay Python SDK', country = 'FR' ) create_iban_alias = iban_alias.save() pprint(create_iban_alias) ``` ```javascript FR const mangopayInstance = require('mangopay4-nodejs-sdk') const mangopay = new mangopayInstance({ clientId: 'your-client-id', clientApiKey: 'your-api-key', }) let myBankingAlias = { OwnerName: 'John', Tag: 'Created with Mangopay NodeJS SDK', Country: 'FR', Type: 'IBAN', WalletId: '172463559', } const createBankingAlias = async (bankingAlias) => { return await mangopay.BankingAliases.create(bankingAlias) .then((response) => { console.info(response) return response }) .catch((err) => { console.log(err) return false }) } createBankingAlias(myBankingAlias) ``` ```java FR import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.mangopay.MangoPayApi; import com.mangopay.core.enumerations.CountryIso; import com.mangopay.entities.BankingAlias; import com.mangopay.entities.UserNatural; public class CreateIbanBankingAlias { public static void main(String[] args) throws Exception { MangoPayApi mangopay = new MangoPayApi(); mangopay.getConfig().setClientId("your-client-id"); mangopay.getConfig().setClientPassword("your-api-key"); UserNatural user = mangopay.getUserApi().getNatural("user_m_01HT2NFK7Z2BRQNGNHMY30VVTT"); var walletId = "wlt_m_01J1YRFBF1EDX4TK2A5G0MNRSN"; BankingAlias bankingAlias = new BankingAlias(); bankingAlias.setOwnerName(String.format("%s %s", user.getFirstName(), user.getLastName())); bankingAlias.setCountry(CountryIso.FR); BankingAlias createBankingAlias = mangopay.getBankingAliases().create(walletId, bankingAlias); Gson prettyPrint = new GsonBuilder().setPrettyPrinting().create(); String prettyJson = prettyPrint.toJson(createBankingAlias); System.out.println(prettyJson); } } ``` ```csharp FR using MangoPay.SDK; using MangoPay.SDK.Entities.PUT; using Newtonsoft.Json; class Program { static async Task Main(string[] args) { MangoPayApi api = new MangoPayApi(); api.Config.ClientId = "your-client-id"; api.Config.ClientPassword = "your-api-key"; var userId = "user_m_01J2TZ261WZNDM0ZDRWGDYA4GN"; UserNaturalDTO user = await api.Users.GetNaturalAsync(userId); var walletId = "wlt_m_01J3D02K6ETV3BDP88C7PD2NDB"; var bankingAliasIban = new BankingAliasIbanPostDTO( user.FirstName + " " + user.LastName, CountryIso.FR ) { Tag = "Created using the Mangopay .NET SDK" }; var createBankingAlias = await api.BankingAlias.CreateIbanAsync(walletId, bankingAliasIban); string prettyPrint = JsonConvert.SerializeObject(createBankingAlias, Formatting.Indented); Console.WriteLine(prettyPrint); } } ``` ```php FR Config->ClientId = 'your-client-id'; $api->Config->ClientPassword = 'your-api-key'; $api->Config->TemporaryFolder = 'tmp/'; try { $walletId = '194311530'; $bankingAlias = new \MangoPay\BankingAliasIBAN(); $bankingAlias->OwnerName = 'Alex Smith'; $bankingAlias->Tag = 'Updated using Mangopay PHP SDK'; $bankingAlias->Country ='FR'; $bankingAlias->WalletId = $walletId; $response = $api->BankingAliases->Create($bankingAlias); print_r($response); } catch(MGPResponseException $e) { print_r($e); } catch(MGPException $e) { print_r($e); } ``` ```ruby FR require 'mangopay' MangoPay.configure do |client| client.preproduction = true client.client_id = 'your-client-id' client.client_apiKey = 'your-api-key' client.log_file = File.join(Dir.pwd, 'mangopay.log') end def createBankingAlias(bankingAliasObject, walletId) begin response = MangoPay::BankingAliasesIBAN.create(bankingAliasObject, walletId) puts response return response rescue MangoPay::ResponseError => error puts "Failed to create banking alias: #{error.message}" puts "Error details: #{error.details}" return false end end myBankingAlias = { OwnerName: 'John', Tag: 'Created with Mangopay NodeJS SDK', Country: 'FR', Type: 'IBAN', WalletId: '194311640' } myWallet = { Id: '194311640' } createBankingAlias(myBankingAlias, myWallet[:Id]) ``` ### GB **Request** ```json { "body": { "Country": "FR", "OwnerName": "Alex Smith", "Tag": "Created using Mangopay API Postman Collection" } } ``` **Response** ```json { "OwnerName": "Alex Smith", "IBAN": "GB78SAPY60838221394585", "BIC": null, "CreditedUserId": "user_m_01JADFDBCZS25REHAF6M0NJH5G", "Country": "GB", "Tag": "Created using Mangopay API Postman Collection", "CreationDate": 1730883439, "Active": true, "Type": "GB", "Id": "wltbank_01JC0B2JH632KTAGSM0ZBJYG7Q", "WalletId": "wlt_m_01JC0B1VZA7YG1J4YC21E60PZM", "LocalAccountDetails": { "SortCode": "608382", "AccountNumber": "21394585" } } ``` **SDK Code** ```python GB from pprint import pprint import mangopay mangopay.client_id='your-client-id' mangopay.apikey='your-api-key' from mangopay.api import APIRequest handler = APIRequest(sandbox=True) from mangopay.api import APIRequest handler = APIRequest(sandbox=True) from mangopay.resources import NaturalUser, Wallet, BankingAliasIBAN natural_user = NaturalUser.get('213753890') user_wallet = Wallet.get('215029593') iban_alias = BankingAliasIBAN( owner_name = f'{natural_user.first_name} {natural_user.last_name}', credited_user = natural_user, wallet_id = user_wallet.id, tag = 'Create using the Mangopay Python SDK', country = 'FR' ) create_iban_alias = iban_alias.save() pprint(create_iban_alias) ``` ```javascript GB const mangopayInstance = require('mangopay4-nodejs-sdk') const mangopay = new mangopayInstance({ clientId: 'your-client-id', clientApiKey: 'your-api-key', }) let myBankingAlias = { OwnerName: 'John', Tag: 'Created with Mangopay NodeJS SDK', Country: 'FR', Type: 'IBAN', WalletId: '172463559', } const createBankingAlias = async (bankingAlias) => { return await mangopay.BankingAliases.create(bankingAlias) .then((response) => { console.info(response) return response }) .catch((err) => { console.log(err) return false }) } createBankingAlias(myBankingAlias) ``` ```java GB import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.mangopay.MangoPayApi; import com.mangopay.core.enumerations.CountryIso; import com.mangopay.entities.BankingAlias; import com.mangopay.entities.UserNatural; public class CreateIbanBankingAlias { public static void main(String[] args) throws Exception { MangoPayApi mangopay = new MangoPayApi(); mangopay.getConfig().setClientId("your-client-id"); mangopay.getConfig().setClientPassword("your-api-key"); UserNatural user = mangopay.getUserApi().getNatural("user_m_01HT2NFK7Z2BRQNGNHMY30VVTT"); var walletId = "wlt_m_01J1YRFBF1EDX4TK2A5G0MNRSN"; BankingAlias bankingAlias = new BankingAlias(); bankingAlias.setOwnerName(String.format("%s %s", user.getFirstName(), user.getLastName())); bankingAlias.setCountry(CountryIso.FR); BankingAlias createBankingAlias = mangopay.getBankingAliases().create(walletId, bankingAlias); Gson prettyPrint = new GsonBuilder().setPrettyPrinting().create(); String prettyJson = prettyPrint.toJson(createBankingAlias); System.out.println(prettyJson); } } ``` ```csharp GB using MangoPay.SDK; using MangoPay.SDK.Entities.PUT; using Newtonsoft.Json; class Program { static async Task Main(string[] args) { MangoPayApi api = new MangoPayApi(); api.Config.ClientId = "your-client-id"; api.Config.ClientPassword = "your-api-key"; var userId = "user_m_01J2TZ261WZNDM0ZDRWGDYA4GN"; UserNaturalDTO user = await api.Users.GetNaturalAsync(userId); var walletId = "wlt_m_01J3D02K6ETV3BDP88C7PD2NDB"; var bankingAliasIban = new BankingAliasIbanPostDTO( user.FirstName + " " + user.LastName, CountryIso.FR ) { Tag = "Created using the Mangopay .NET SDK" }; var createBankingAlias = await api.BankingAlias.CreateIbanAsync(walletId, bankingAliasIban); string prettyPrint = JsonConvert.SerializeObject(createBankingAlias, Formatting.Indented); Console.WriteLine(prettyPrint); } } ``` ```php GB Config->ClientId = 'your-client-id'; $api->Config->ClientPassword = 'your-api-key'; $api->Config->TemporaryFolder = 'tmp/'; try { $walletId = '194311530'; $bankingAlias = new \MangoPay\BankingAliasIBAN(); $bankingAlias->OwnerName = 'Alex Smith'; $bankingAlias->Tag = 'Updated using Mangopay PHP SDK'; $bankingAlias->Country ='FR'; $bankingAlias->WalletId = $walletId; $response = $api->BankingAliases->Create($bankingAlias); print_r($response); } catch(MGPResponseException $e) { print_r($e); } catch(MGPException $e) { print_r($e); } ``` ```ruby GB require 'mangopay' MangoPay.configure do |client| client.preproduction = true client.client_id = 'your-client-id' client.client_apiKey = 'your-api-key' client.log_file = File.join(Dir.pwd, 'mangopay.log') end def createBankingAlias(bankingAliasObject, walletId) begin response = MangoPay::BankingAliasesIBAN.create(bankingAliasObject, walletId) puts response return response rescue MangoPay::ResponseError => error puts "Failed to create banking alias: #{error.message}" puts "Error details: #{error.details}" return false end end myBankingAlias = { OwnerName: 'John', Tag: 'Created with Mangopay NodeJS SDK', Country: 'FR', Type: 'IBAN', WalletId: '194311640' } myWallet = { Id: '194311640' } createBankingAlias(myBankingAlias, myWallet[:Id]) ```