Validate an IBAN

Validate an IBAN and retrieve bank name and BIC before payment submission.

curl -X POST "https://api.catalystpay.com/api/v1/iban-validate/" \
  -H "Authorization: Bearer rk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"iban": "DE89370400440532013000"}'
import requests

response = requests.post(
    "https://api.catalystpay.com/api/v1/iban-validate/",
    headers={"Authorization": "Bearer rk_your_api_key"},
    json={"iban": "DE89370400440532013000"},
)

result = response.json()
if result["valid"]:
    print(f"Bank: {result['bank_name']}, BIC: {result['bic']}")
else:
    print(f"Invalid: {result['error']}")
const response = await fetch(
  'https://api.catalystpay.com/api/v1/iban-validate/',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer rk_your_api_key',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ iban: 'DE89370400440532013000' }),
  }
);

const result = await response.json();
if (result.valid) {
  console.log(`Bank: ${result.bank_name}, BIC: ${result.bic}`);
} else {
  console.log(`Invalid: ${result.error}`);
}

Response (valid):

{
  "valid": true,
  "bank_name": "Commerzbank",
  "bic": "COBADEFFXXX"
}

Response (invalid):

{
  "valid": false,
  "error": "Invalid IBAN checksum"
}

This endpoint accepts both API key (Bearer rk_...) and session token (Bearer ps_...) authentication, so the hosted payment page can call it directly for real-time bank name confirmation.