Aller au contenu
Tutorial

Validez les numéros IBAN avec un seul appel API

| 5 min read

Validez n’importe quel IBAN, extrayez le code du pays et les chiffres de contrôle, puis récupérez une chaîne formatée. Une requête POST, plus de 80 pays, aucun SDK bancaire requis.

International bank building facade
Photo by Sean Pollock on Unsplash

Votre formulaire de paiement accepte les virements bancaires internationaux. L'utilisateur saisit un IBAN à 22 caractères. Avant d'envoyer cela à votre processeur de paiement et d'attendre un échec, vous voulez détecter les fautes de frappe au niveau du formulaire. La validation IBAN implique un algorithme de chiffre de contrôle modulo 97, spécifique au pays règles de longueur et analyse de la structure BBAN. Vous pouvez l'écrire vous-même, l'extraire dans une bibliothèque ou le laisser une API le gère.

Botoi's /v1/validate/iban le point de terminaison prend une chaîne IBAN et renvoie si c'est valide, le code du pays, le nom du pays et une version formatée du numéro. Un message demande, pas de SDK bancaire, pas de collection d'expressions régulières à maintenir.

L'appel API

Réponse:

La réponse vous donne quatre champs. valid est le booléen dont vous avez besoin gate au niveau du formulaire. country_code et country vous permet de détecter automatiquement le pays de la banque de l'utilisateur pour la logique en aval comme la sélection de la devise ou les règles fiscales. formatted renvoie l'IBAN dans le regroupement standard à quatre caractères des humains attendez-vous à voir sur les factures et les relevés bancaires.

Lorsque l'IBAN échoue à la vérification des chiffres de contrôle, vous obtenez toujours les champs analysés :

La valid: false le drapeau est tout ce dont vous avez besoin. Aucune exception à détecter, aucun code d'erreur lever les yeux. Vérifiez le booléen et affichez un message d'erreur.

Noeud.js

Python

Formats IBAN par pays

La longueur de l'IBAN varie selon les pays. Les deux premiers caractères sont toujours le code du pays ISO 3166-1, suivi de deux chiffres de contrôle, puis du numéro de compte bancaire de base (BBAN). Voici les cinq plus formats courants dans les paiements européens :

Pays Code Longueur Format Exemple
Allemagne DE 22 DE + 2 chiffres de contrôle + 8 code banque + 10 compte DE89 3704 0044 0532 0130 00
Royaume-Uni FR 22 GB + 2 chiffres de contrôle + 4 banques + 6 codes de tri + 8 comptes GB29 NWBK 6016 1331 9268 19
France FR 27 FR + 2 chiffres de contrôle + 10 banque + 11 compte + 2 clé FR76 3000 6000 0112 3456 7890 189
Espagne ES 24 ES + 2 chiffres de contrôle + 4 banque + 4 agence + 2 contrôle + 10 compte ES91 2100 0418 4502 0005 1332
Pays-Bas T.-N.-L. 18 NL + 2 chiffres de contrôle + 4 banque + 10 compte NL91 ABNA 0417 1643 00

L'API gère les plus de 80 pays du registre SWIFT IBAN. Vous n'avez pas besoin de maintenir un table de recherche de longueurs et de formats ; le point de terminaison valide par rapport aux règles correctes pour chaque code de pays.

Validation du formulaire React/Preact sur le flou

L'intégration la plus courante : valider l'IBAN lorsque l'utilisateur sort du champ de saisie. L'appel au flou (au lieu de chaque frappe) maintient l'utilisation de l'API à un faible niveau et évite le clignotement messages d'erreur pendant que l'utilisateur est encore en train de taper.

Le composant appelle l'API lorsque le champ perd le focus. Si l'IBAN est valide, il passe le données analysées (code pays, chaîne formatée) jusqu'au formulaire parent via onValidated. Le parent peut alors remplir automatiquement la devise, ajuster le routage ou afficher l'IBAN formaté comme confirmation.

Valider par lots les IBAN à partir d'un CSV

Les équipes financières doivent souvent valider une liste d'IBAN de fournisseurs ou d'employés avant d'exécuter une paiement groupé. Ce script lit un CSV, valide chaque IBAN et signale les entrées invalides.

Le script se termine avec le code 1 si un IBAN n'est pas valide, ce qui le rend utilisable comme étape CI ou vérification avant le téléchargement. Pour les fichiers volumineux (plus de 1 000 lignes), ajoutez un petit délai entre les requêtes ou utilisez une clé API pour obtenir des limites de débit plus élevées.

Intégration de Stripe Connect

Lors de l'intégration de vendeurs ou de freelances via Stripe Connect, vous collectez leurs coordonnées bancaires pour configurer les paiements. Valider l'IBAN avant d'appeler stripe.accounts.createExternalAccount évite un aller-retour vers l'API de Stripe qui échouerait de toute façon. Il vous permet également d'extraire le code du pays pour définir la devise de paiement correcte.

Le processus est simple : validez d'abord, extrayez le pays, mappez-le à une devise, puis créer le compte externe. Si l'IBAN n'est pas valide, l'utilisateur voit immédiatement une erreur d'attendre que Stripe le rejette quelques secondes plus tard.

Points clés

  • Un POST, quatre champs. Envoyez une chaîne IBAN à /v1/validate/iban et récupérez la validité, le code du pays, le nom du pays et le numéro formaté.
  • Plus de 80 pays. Le point de terminaison couvre tous les pays du registre SWIFT IBAN. Aucune logique spécifique au pays de votre part.
  • Détectez les erreurs au niveau du formulaire. Validez le flou dans votre formulaire de paiement pour empêcher que des IBAN invalides parviennent à votre banque ou à votre processeur de paiement.
  • Pas de stockage, pas de journalisation. L'IBAN est traité en mémoire et supprimé. Rien n'est persistant.
  • Niveau gratuit disponible. Accès anonyme à 5 requêtes par minute, 100 par jour. Aucune clé API requise pour le développement et les tests.

FAQ

Cette API vérifie-t-elle que le compte bancaire existe ?
Non. Il valide la structure IBAN et la somme de contrôle modulo-97. Il confirme que le numéro est correctement formaté mais ne contacte aucune banque et ne vérifie pas si le compte est ouvert ou approvisionné.
Combien de pays la validation IBAN est-elle prise en charge ?
Plus de 80 pays ont adopté la norme IBAN, dont tous les États membres de l'UE/EEE, le Royaume-Uni, la Suisse, l'Arabie saoudite et le Brésil. La liste complète suit le registre SWIFT IBAN.
Puis-je envoyer un IBAN contenant des espaces ?
Oui. Les espaces sont supprimés automatiquement avant validation. "DE89 3704 0044 0532 0130 00" et "DE89370400440532013000" renvoient tous deux le même résultat.
Ai-je besoin d’une clé API pour valider les IBAN ?
Non. L'accès anonyme autorise 5 requêtes par minute avec une limitation de débit basée sur IP et 100 requêtes par jour. Pour un débit plus élevé, inscrivez-vous pour obtenir une clé API sur botoi.com/api.
L'IBAN que j'envoie est-il stocké ou enregistré ?
Non. L’IBAN est validé en mémoire et immédiatement supprimé. Rien n'est conservé ou écrit dans un journal.

Commencez a construire avec botoi

150+ endpoints API pour la recherche, le traitement de texte, la generation d'images et les utilitaires pour developpeurs. Offre gratuite, sans carte bancaire.