Volver al blog
Producto

Validacion IBAN: mucho mas que un simple checksum

Josselin Liebe
Josselin Liebe

La mayoria de las librerias de validacion IBAN solo ejecutan un checksum modulo-97. Eso detecta errores tipograficos, pero no dice nada sobre si el banco existe, cual es su codigo BIC o si participa en SEPA. La API IBAN Validation de Veille (GET /v1/vat/iban) va mas alla devolviendo los detalles completos del banco junto con la verificacion matematica.

Lo que devuelve la API

Para cualquier IBAN, obtienes: valid (booleano), bank_name, bic (codigo SWIFT), country_code, country_name, el desglose estructural (bank_code, branch_code, account_number, bban) e in_sepa_zone.

Integracion rapida

Python

import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.veille.io/v1"

response = requests.get(
    f"{BASE_URL}/vat/iban",
    params={"query": "FR7630006000011234567890189"},
    headers={"x-api-key": API_KEY},
)
data = response.json()

if data["valid"] and data["in_sepa_zone"]:
    print(f"Compatible con SEPA : {data['bank_name']} (BIC: {data['bic']})")
else:
    print("IBAN invalido o fuera de la zona SEPA")

TypeScript

const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://api.veille.io/v1";
const headers = { "x-api-key": API_KEY };

const response = await fetch(
  `${BASE_URL}/vat/iban?query=FR7630006000011234567890189`,
  { headers }
);
const data = await response.json();

if (data.valid && data.in_sepa_zone) {
  console.log(`Compatible con SEPA : ${data.bank_name} (BIC: ${data.bic})`);
} else {
  console.log("IBAN invalido o fuera de la zona SEPA");
}

Campos de respuesta principales

  • valid : validacion estructural y checksum completa
  • bank_name : la entidad detras del IBAN
  • bic : codigo BIC/SWIFT para el enrutamiento
  • in_sepa_zone : si el banco soporta transferencias SEPA
  • bank_code / branch_code / account_number : desglose del BBAN

5 casos de uso

  1. Validacion en formulario de pago : verificar el IBAN y mostrar el nombre del banco antes del envio para reducir transferencias fallidas.
  2. Debito directo SEPA : confirmar la pertenencia a la zona SEPA antes de configurar un mandato para evitar rechazos.
  3. Pagos a proveedores : resolver automaticamente el BIC desde el IBAN para pre-rellenar los datos de transferencia.
  4. Onboarding KYC : verificar que el pais del banco coincide con el pais de residencia declarado por el cliente.
  5. Sistemas de pago : validar los IBANs de freelancers o creadores antes de programar pagos para evitar transacciones fallidas.