You are obliged to validate the transmitted IBANs in good time. This helps to streamline the process for all of us involved.

You can validate the IBAN individually when the user enters it, or in batch mode before the file is transferred.

Validate a Single IBAN

The endpoint to validate a single IBAN is POST /api/v2/Payment/Containers/me/validateSingleIban:

Request
POST /api/v2/Payment/Containers/me/validateSingleIban HTTP/1.1
Host: connect-testing.secupay-ag.de
Content-Type: application/json
Authorization: Bearer htlu0l0m22rsesvh20f7i5d22i
 
{
"iban": "DE37503240001000000524"
}

Apart from technical conditions, the service will always respond with HTTP status 200 OK, regardless whether the IBAN is valid or not.

If valid, also BIC and bank institute name are present:

Response Valid IBAN
HTTP/1.1 200 OK
Content-Type: application/json
 
{
"id": null,
"valid": true,
"iban": "DE37503240001000000524",
"bic": "FTSBDEFAXXX",
"bankname": "ABN AMRO Bank, Frankfurt Branch"
}

If invalid, these data cannot be present:

Response Invalid IBAN
HTTP/1.1 200 OK
Content-Type: application/json
 
{
"id": null,
"valid": false,
"iban": "DE37503240001000000523",
"bic": null
}

Validate IBANs in Batch Mode

The endpoint to validate an IBAN is POST /api/v2/Payment/Containers/me/validateIban:

Request
POST /api/v2/Payment/Containers/me/validateIban HTTP/1.1
Host: connect-testing.secupay-ag.de
Content-Type: application/json
Authorization: Bearer htlu0l0m22rsesvh20f7i5d22i
 
[
{
"id": 1,
"iban": "DE37503240001000000524"
},
{
"id": 2,
"iban": "DE99999999999999999999"
}
]

It responds basically like the endpoint for single IBANs. The id is used to match the individual validation jobs contained:

Response Valid IBAN
HTTP/1.1 200 OK
Content-Type: application/json
 
[
{
"id": 1,
"valid": true,
"iban": "DE37503240001000000524",
"bic": "FTSBDEFAXXX",
"bankname": "ABN AMRO Bank, Frankfurt Branch"
},
{
"id": 2,
"valid": false,
"iban": "DE99999999999999999999",
"bic": null
}
]