IBAN di test per sviluppatori e QA

Cosa controllano davvero i validatori, gli errori che rompono la gestione degli IBAN e come portare gli IBAN di test nella tua pipeline.

Aggiornato il

Qualsiasi codice che accetta, memorizza o invia IBAN ha bisogno di dati di test: validazione dei moduli, flussi di onboarding, fixture del database, integrazioni di pagamento, test di carico. Gli IBAN reali dei clienti non devono finire in un ambiente di test, e gli IBAN scritti a mano hanno di rado cifre di controllo corrette. Un IBAN di test, a volte chiamato IBAN finto o fittizio, risolve entrambi i problemi: supera la validazione strutturale e nessuna banca lo ha mai emesso.

Cosa controlla un validatore

La validazione di un IBAN avviene a livelli. Ogni livello intercetta problemi diversi, e un IBAN di test ne supera solo una parte.

Controllo Cosa verifica Un IBAN di test generato
Caratteri Solo lettere e cifre, dopo aver tolto gli spazi Lo supera
Paese Le prime due lettere sono un paese che usa l'IBAN Lo supera
Lunghezza La lunghezza è quella del paese, per esempio 22 per la Germania Lo supera
Schema Ogni posizione del BBAN ha il tipo di carattere giusto (cifra o lettera) Lo supera
Cifre di controllo Il resto MOD-97 è uguale a 1 Lo supera
Cifre di controllo nazionali Regole nazionali dentro il BBAN, come il CIN italiano o la clé RIB francese Lo supera nei 27 paesi di cui calcoliamo l'algoritmo ufficiale; altrove sono casuali e può non superarlo
Elenco delle banche Il codice banca esiste Lo supera nei 84 paesi con codici banca reali in modalità realistica, quella predefinita; negli altri casi di solito no
Verifica del conto Il conto esiste e il nome corrisponde Non lo supera

Gli ultimi due controlli richiedono dati delle banche. Nel Regno Unito il Confirmation of Payee confronta il nome del titolare del conto con quello inserito da chi paga; nell'area dell'euro la verifica del beneficiario (Verification of Payee) fa lo stesso prima di un bonifico. Un IBAN casuale non può superare questi controlli, ed è giusto così. Le cifre di controllo nazionali nell'IBAN spiega il livello nazionale paese per paese.

I primi cinque controlli, più le cifre di controllo nazionali dove la regola è nota, non richiedono dati esterni. Il nostro validatore IBAN li esegue nel tuo browser e mostra quale non è superato. La nostra libreria JavaScript open source iban-check esegue tutti e cinque i controlli secondo il registro IBAN di SWIFT e restituisce un codice di errore che indica quale non è stato superato. Algeria e Marocco non sono nel registro, quindi rifiuta i loro IBAN. È su npm come iban-check.

Errori che rompono la gestione degli IBAN

Questi sono i bug che ricorrono di continuo nel codice che gestisce gli IBAN:

  • Una sola lunghezza per tutti i paesi. Gli IBAN tedeschi hanno 22 caratteri, ma quelli norvegesi 15 e quelli maltesi 31. Valida la lunghezza paese per paese, non con un unico numero fisso.
  • Solo cifre dopo il codice paese. Gli IBAN olandesi, britannici e molti altri contengono lettere nel BBAN (NL91ABNA0417164300). Una regex che ammette solo cifre li rifiuta.
  • Salvare il formato cartaceo. Salva gli IBAN in formato elettronico, senza spazi e in maiuscolo, e aggiungi gli spazi solo quando li mostri.
  • Trattare l'IBAN come un numero. Contiene lettere e il BBAN può iniziare con degli zeri. Salvalo come stringa.
  • Overflow degli interi nel MOD-97. Tranne che per Norvegia e Belgio, il numero convertito non entra in un intero a 64 bit (circa 19 cifre): quello di un IBAN tedesco ne ha 24. Usa la precisione arbitraria o il calcolo del resto a pezzi mostrato in Come funzionano le cifre di controllo dell'IBAN.
  • Caratteri invisibili da copia e incolla. Gli utenti incollano IBAN con spazi unificatori, tabulazioni o a capo. Togli ogni tipo di spazio bianco, non solo lo spazio normale.
  • Input in minuscolo. La gente scrive de89.... Converti in maiuscolo prima di validare.

Quale IBAN di test usare

Gli IBAN di test casuali vanno bene per la maggior parte dei test: validazione dei moduli, fixture, dati di seed, test di carico e screenshot. Usa diversi paesi, non solo il tuo, così metti alla prova la gestione di lunghezze e schemi; formati lunghi come quello maltese (31) e corti come quello norvegese (15) sono buoni casi limite. Per impostazione predefinita il generatore è in modalità realistica: solo cifre e, dove disponibile, il codice di una banca reale, con un numero di conto casuale, quindi il codice che verifica la banca la trova. Nemmeno un IBAN così è stato emesso da una banca, ma potrebbe coincidere per caso con un conto reale. Disattiva Realistici per avere IBAN completamente casuali: anche il codice banca è casuale, utile per testare una banca sconosciuta, e possono comparire lettere dove il formato le ammette.

I fornitori di servizi di pagamento pubblicano spesso i propri IBAN di test, che producono risultati specifici nella loro sandbox, come un addebito riuscito o uno fallito. Quando fai test end-to-end sul flusso di un fornitore, usa gli IBAN della sua documentazione.

Non usare mai l'IBAN di una persona reale in test, demo o documentazione, e non inviare mai denaro a un IBAN generato. La probabilità che un IBAN casuale corrisponda a un conto reale è molto bassa, ma non è zero.

Portare gli IBAN di test nella pipeline

Il generatore mostra un IBAN con i suoi segmenti spiegati. La sua opzione "Genera una lista" crea da 5 a 100 IBAN di un paese in una volta, da copiare o da scaricare in CSV, JSON, SQL o testo semplice, con una colonna per segmento. Per i test automatici:

  • L'API REST restituisce fino a 100 IBAN validi per richiesta per qualsiasi paese supportato, e valida anche gli IBAN. Serve una chiave API; vedi la documentazione API.
  • Il server MCP pubblico permette ad agenti AI e assistenti di programmazione di generare e validare IBAN di test senza chiave.
  • Il download di "Genera una lista" è un semplice URL che non richiede una chiave, quindi uno script può scaricare direttamente un file di fixture (30 download al minuto).
  • Per i test che devono girare offline, genera una volta un gruppo di IBAN e aggiungili al repository come fixture.
# 50 IBAN olandesi in CSV, senza chiave
curl -o fixtures.csv "https://generaterandomiban.com/export/nl?format=csv&count=50"

# 5 IBAN dall'API, con una chiave
curl -H "X-API-Key: YOUR_KEY" \
  "https://generaterandomiban.com/api/v1/generate/NL?count=5"

Fonti

Ti serve un IBAN di test?

Genera un IBAN valido per uno qualsiasi dei 91 paesi, copialo nel formato che ti serve e guarda cosa significa ogni segmento.

Apri il generatore