Como validar um número IBAN: Guia passo a passo
Aprenda a validar números IBAN usando o algoritmo MOD-97. Guia completo com exemplos práticos, trechos de código e melhores práticas para implementar validação de IBAN em seus sistemas de pagamento.
Validar um IBAN é um passo crítico em qualquer sistema de processamento de pagamentos para garantir precisão e prevenir erros de transferência custosos. A validação de IBAN envolve verificar o formato, verificar o código do país, confirmar o comprimento correto e, mais importante, validar os dígitos de controle usando o algoritmo MOD-97 definido na ISO 13616. A validação adequada detecta erros de digitação, erros de formato e números de conta inválidos antes que eles entrem em seu pipeline de pagamentos, economizando tempo, dinheiro e frustração do cliente.
O primeiro passo na validação de IBAN é a verificação de formato. Todo IBAN válido deve começar com um código de país de duas letras seguido por dois dígitos de controle (0-9), depois o Número Básico de Conta Bancária (BBAN). Remova todos os espaços e converta toda a string para maiúsculas antes da validação, pois os IBANs não diferenciam maiúsculas de minúsculas, mas devem ser normalizados para processamento. Rejeite qualquer entrada que contenha caracteres especiais, comece com números ou não siga o padrão de código de país mais dígitos. Esta verificação básica de formato elimina erros óbvios imediatamente.
Em seguida, verifique se o código do país é reconhecido e suportado pelo seu sistema. Códigos de país IBAN válidos incluem DE (Alemanha), FR (França), GB (Reino Unido), ES (Espanha), IT (Itália) e mais de 75 outros países. Cada país tem um comprimento específico de IBAN: IBANs alemães são sempre 22 caracteres, IBANs franceses são 27 caracteres, IBANs do Reino Unido são 22 caracteres, e assim por diante. Se o comprimento de entrada não corresponder à especificação para o código de país fornecido, o IBAN é inválido. Manter uma tabela de referência atualizada de códigos de país e seus comprimentos correspondentes é essencial para este passo de validação.
O passo de validação mais importante é verificar os dígitos de controle usando o algoritmo MOD-97. Este processo matemático garante a integridade estrutural do IBAN e detecta mais de 99% dos erros de transcrição. Aqui está como funciona: Primeiro, mova os primeiros quatro caracteres (código do país e dígitos de controle) do início para o final do IBAN. Por exemplo, "DE89370400440532013000" torna-se "370400440532013000DE89". Em seguida, substitua cada letra por seu valor numérico correspondente, onde A=10, B=11, C=12, e assim por diante até Z=35. Em nosso exemplo, "D" torna-se 13 e "E" torna-se 14, dando-nos "3704004405320130001314 89".
Após converter todas as letras em números, você terá uma grande string numérica. Calcule o resto ao dividir este número por 97 (operação módulo 97). Se o resto for igual a 1, o IBAN passa na validação de dígitos de controle e é estruturalmente válido. Se o resto for qualquer outro número, os dígitos de controle estão incorretos, indicando um erro de digitação ou IBAN inválido. A maioria das linguagens de programação fornece bibliotecas de inteiros grandes para lidar com esses números grandes com precisão. Por exemplo, em JavaScript você pode usar BigInt, em Python o tipo int padrão lida com isso automaticamente, e em Java você pode usar BigInteger.
Implementar a validação de IBAN em sua base de código é direto uma vez que você entende o algoritmo. Aqui está uma função de validação simplificada em JavaScript: Primeiro, normalize a entrada removendo espaços e convertendo para maiúsculas. Verifique se o formato corresponde ao padrão de código de país-dígitos usando uma expressão regular. Verifique o comprimento contra sua tabela de especificações de país. Em seguida, reorganize o IBAN movendo os primeiros quatro caracteres para o final, substitua todas as letras por seus equivalentes numéricos (A=10 até Z=35), e calcule o módulo 97 do número resultante. Retorne verdadeiro se o resultado for 1, falso caso contrário.
Para sistemas de produção, considere implementar validação em vários pontos em seu fluxo de dados. Execute validação do lado do cliente no navegador para dar aos usuários feedback imediato enquanto digitam, reduzindo o abandono de formulários e solicitações de suporte. Em seguida, repita a mesma validação em seu servidor backend para se proteger contra entradas maliciosas ou contornos do lado do cliente. Armazene apenas IBANs validados em seu banco de dados e registre falhas de validação para monitoramento e detecção de fraudes. Você pode testar sua lógica de validação usando nosso <a href="/" class="text-primary-600 hover:text-primary-700">gerador de IBAN</a> para criar casos de teste válidos conhecidos, e verificar sua implementação com nosso <a href="/validator" class="text-primary-600 hover:text-primary-700">validador de IBAN online</a>.
Erros comuns de validação a evitar incluem esquecer de normalizar a entrada (remover espaços e converter para maiúsculas), usar o mapeamento incorreto de caractere para número (lembre-se A=10, não A=1), tentar validar IBANs como inteiros regulares em vez de inteiros grandes (levando a erros de overflow), e falhar em atualizar suas especificações de comprimento de país quando as regulamentações mudam. Sempre valide contra as especificações ISO 13616 mais atuais, e considere se inscrever em atualizações de padrões bancários para detectar mudanças cedo. Ao implementar validação robusta de IBAN seguindo essas melhores práticas, você reduzirá drasticamente erros de pagamento e melhorará a confiabilidade de suas integrações bancárias internacionais.
Experimente Nossas Ferramentas IBAN
Coloque seu conhecimento em prática com nossas ferramentas gratuitas.
Artigos Relacionados
Entendendo os dígitos verificadores do IBAN
Aprenda como os dígitos verificadores do IBAN são calculados, por que o passo do módulo 97 é importante e como validá-los com confiança nos seus fluxos de pagamento.
Referência de formatos de IBAN por país
Uma visão prática sobre comprimentos de IBAN, estruturas de BBAN e nuances bancárias em mercados importantes, com dicas de localização.
Checklist de testes com IBAN para equipes de produto
Um plano de testes passo a passo para manter a captura, o armazenamento e a execução de pagamentos com IBAN sem erros, da interface à conciliação.