¿Estás creando un formulario de pago o escribiendo pruebas unitarias? Puede que necesites valores con forma de IBAN y checksum válido para probar el formato y la validación. Que un valor supere MOD-97 no lo convierte automáticamente en una credencial de prueba de un proveedor de pagos ni lo hace seguro para enviarlo a un sistema de pagos real.
Usar IBAN de clientes en desarrollo es arriesgado:
- Un entorno de staging mal configurado podría iniciar transferencias reales.
- Un IBAN vinculado a una persona identificable puede ser un dato personal conforme a la legislación de privacidad aplicable.
- Copiar datos bancarios de producción al entorno de desarrollo puede incumplir las políticas de acceso, conservación y datos de prueba de tu organización.
IBAN de prueba de ejemplo por país
Los valores siguientes son ejemplos públicos de formato que superan las comprobaciones de longitud y MOD-97. No se garantiza que correspondan a cuentas no asignadas ni que sean aceptados por un sandbox. Úsalos únicamente en pruebas aisladas del validador, nunca en un sistema de pagos.
Europa occidental
| País | IBAN | Longitud |
|---|---|---|
| Alemania | DE89 3704 0044 0532 0130 00 |
22 |
| Francia | FR76 3000 6000 0112 3456 7890 189 |
27 |
| España | ES91 2100 0418 4502 0005 1332 |
24 |
| Italia | IT60 X054 2811 1010 0000 0123 456 |
27 |
| Países Bajos | NL91 ABNA 0417 1643 00 |
18 |
| Bélgica | BE68 5390 0754 7034 |
16 |
| Austria | AT61 1904 3002 3457 3201 |
20 |
| Irlanda | IE29 AIBK 9311 5212 3456 78 |
22 |
Europa septentrional
| País | IBAN | Longitud |
|---|---|---|
| Reino Unido | GB29 NWBK 6016 1331 9268 19 |
22 |
| Suecia | SE45 5000 0000 0583 9825 7466 |
24 |
| Dinamarca | DK50 0040 0440 1162 43 |
18 |
| Noruega | NO93 8601 1117 947 |
15 |
| Finlandia | FI21 1234 5600 0007 85 |
18 |
Europa oriental
| País | IBAN | Longitud |
|---|---|---|
| Polonia | PL61 1090 1014 0000 0712 1981 2874 |
28 |
| República Checa | CZ65 0800 0000 1920 0014 5399 |
24 |
| Hungría | HU42 1177 3016 1111 1018 0000 0000 |
28 |
| Rumanía | RO49 AAAA 1B31 0075 9384 0000 |
24 |
¿Necesitas fixtures de formato para países que no aparecen aquí? Usa nuestro generador de IBAN aleatorios. Actualmente admite 42 países, crea hasta 100 valores por lote en la web y los exporta como CSV, JSON o TXT. No comprueba si un código bancario está vigente, si existe una cuenta ni si un sandbox de un proveedor acepta el valor.
Cómo se generan los IBAN de prueba
El proceso consta de cuatro pasos:
- Elegir un país: determina la longitud y el formato del IBAN.
- Rellenar la posición del código bancario: respeta el patrón de caracteres del país; para probar una integración, usa un valor proporcionado por el proveedor.
- Generar un número de cuenta: dígitos aleatorios que coincidan con la longitud del país.
- Calcular los dígitos de control: mediante el algoritmo ISO/IEC 7064 MOD97-10.
Para una explicación detallada, consulta nuestra guía de validación de IBAN.
Pruebas unitarias con IBAN
Tu suite de pruebas debería cubrir:
Casos con checksum válido:
DE89370400440532013000✓GB29NWBK60161331926819✓FR7630006000011234567890189✓
Casos no válidos:
- Dígitos de control incorrectos:
DE00370400440532013000✗ - País no válido:
XX89370400440532013000✗ - Longitud incorrecta ✗
- Cadena vacía ✗
Casos límite:
- IBAN con espacios
- Letras minúsculas
- Formato mixto
IBAN de prueba de proveedores de pago
Los sandboxes de los proveedores de pago suelen reservar valores de cuenta concretos para escenarios de éxito, rechazo, verificación o estado pendiente. Esos valores y comportamientos dependen del proveedor y pueden cambiar. Cópialos de la documentación oficial vigente para la API, el país, el método de pago y el entorno de pruebas exactos que uses. Un resultado de RandomIBAN o un ejemplo público de formato SWIFT no debe presentarse como credencial de sandbox de Stripe, Adyen, Mangopay u otro proveedor si ese proveedor no lo documenta actualmente como tal.
Lista de comprobación para probar formularios
| Escenario | Resultado esperado |
|---|---|
| IBAN estándar con checksum válido | Aceptar la capa de checksum |
| IBAN con checksum válido y espacios | Aceptarlo después de limpiar el valor |
| IBAN con checksum válido en minúsculas | Aceptarlo después de normalizarlo |
| Dígitos de control incorrectos | Rechazarlo con un error claro |
| Longitud incorrecta para el país | Rechazarlo |
| Código de país no válido | Rechazarlo |
| Campo vacío | Error de campo obligatorio |
| Texto aleatorio | Error de formato |
Buenas prácticas
Sí:
- Usa fixtures sintéticos de IBAN válidos en formato y checksum.
- Prueba varios países, no solo IBAN alemanes.
- Prueba casos límite: los formatos más corto y más largo compatibles con este generador (Noruega, 15 caracteres; Malta, 31 caracteres).
- Separa los entornos de pruebas y producción.
- Documenta los IBAN de prueba en un diccionario compartido de datos de prueba.
No:
- Uses IBAN reales en las pruebas, ni siquiera el tuyo.
- Codifiques IBAN de prueba directamente en el código de producción.
- Supongas que todos los IBAN tienen la misma longitud (ISO 13616-1 permite hasta 34 caracteres; este generador admite actualmente formatos de 15 a 31 caracteres).
- Omita las pruebas específicas por país.
- Uses IBAN de prueba de un proveedor de pagos con otro proveedor.
Pruebas con varias monedas
| Moneda | País | Ejemplo de formato público |
|---|---|---|
| EUR | Alemania | DE89 3704 0044 0532 0130 00 |
| GBP | Reino Unido | GB29 NWBK 6016 1331 9268 19 |
| CHF | Suiza | CH93 0076 2011 6238 5295 7 |
| SEK | Suecia | SE45 5000 0000 0583 9825 7466 |
| NOK | Noruega | NO93 8601 1117 947 |
| PLN | Polonia | PL61 1090 1014 0000 0712 1981 2874 |
| CZK | República Checa | CZ65 0800 0000 1920 0014 5399 |
La moneda es una dimensión de la prueba; el IBAN por sí solo no demuestra ni selecciona la moneda de la transacción.
La regla práctica es usar fixtures sintéticos con acceso controlado para las pruebas locales de formato y los valores designados actualmente por el proveedor para las pruebas de integración en sandbox. Mantén ambas categorías fuera de producción. Con el generador de IBAN aleatorios puedes crear fixtures estructurales nuevos, dentro de sus límites documentados: 42 países compatibles y hasta 100 valores generados en la web por lote, con exportación a CSV, JSON y TXT.