Vous construisez un formulaire de paiement ou écrivez des tests unitaires ? Vous aurez peut-être besoin de valeurs au format IBAN avec un checksum valide pour tester le formatage et la validation. Une valeur qui passe MOD-97 n’est pas automatiquement un identifiant de test pour un prestataire de paiement et ne peut pas être envoyée sans risque à un système de paiement réel.
Utiliser les IBAN de clients en développement comporte des risques :
- Un environnement de staging mal configuré pourrait déclencher de vrais virements.
- Un IBAN associé à une personne identifiable peut constituer une donnée personnelle au regard du droit applicable en matière de confidentialité.
- Copier des données bancaires de production dans l’environnement de développement peut enfreindre les règles d’accès, de conservation et de données de test de votre organisation.
IBAN de test par pays
Les valeurs ci-dessous sont des exemples publics de format qui passent les contrôles de longueur et de MOD-97. Rien ne garantit qu’elles correspondent à des comptes non attribués ou qu’elles soient acceptées par une sandbox. Utilisez-les uniquement pour des tests isolés du validateur, jamais sur un réseau de paiement.
Europe occidentale
| Pays | IBAN | Longueur |
|---|---|---|
| Allemagne | DE89 3704 0044 0532 0130 00 |
22 |
| France | FR76 3000 6000 0112 3456 7890 189 |
27 |
| Espagne | ES91 2100 0418 4502 0005 1332 |
24 |
| Italie | IT60 X054 2811 1010 0000 0123 456 |
27 |
| Pays-Bas | NL91 ABNA 0417 1643 00 |
18 |
| Belgique | BE68 5390 0754 7034 |
16 |
| Autriche | AT61 1904 3002 3457 3201 |
20 |
| Irlande | IE29 AIBK 9311 5212 3456 78 |
22 |
Europe du Nord
| Pays | IBAN | Longueur |
|---|---|---|
| Royaume-Uni | GB29 NWBK 6016 1331 9268 19 |
22 |
| Suède | SE45 5000 0000 0583 9825 7466 |
24 |
| Danemark | DK50 0040 0440 1162 43 |
18 |
| Norvège | NO93 8601 1117 947 |
15 |
| Finlande | FI21 1234 5600 0007 85 |
18 |
Europe de l’Est
| Pays | IBAN | Longueur |
|---|---|---|
| Pologne | PL61 1090 1014 0000 0712 1981 2874 |
28 |
| République tchèque | CZ65 0800 0000 1920 0014 5399 |
24 |
| Hongrie | HU42 1177 3016 1111 1018 0000 0000 |
28 |
| Roumanie | RO49 AAAA 1B31 0075 9384 0000 |
24 |
Besoin de fixtures de format pour des pays qui ne figurent pas ici ? Utilisez notre générateur d’IBAN aléatoires. Il prend actuellement en charge 42 pays, crée jusqu’à 100 valeurs par lot sur le web et les exporte en CSV, JSON ou TXT. Il ne vérifie pas qu’un code bancaire est à jour, qu’un compte existe ou qu’une sandbox de prestataire accepte la valeur.
Génération des IBAN de test
Le processus comporte quatre étapes :
- Choisir un pays : cela détermine la longueur et le format de l’IBAN.
- Remplir la position du code bancaire : respectez le modèle de caractères du pays ; pour tester une intégration, utilisez une valeur fournie par le prestataire.
- Générer un numéro de compte : des chiffres aléatoires correspondant à la longueur du pays.
- Calculer les chiffres de contrôle : à l’aide de l’algorithme ISO/IEC 7064 MOD97-10.
Pour une explication détaillée, consultez notre guide de validation des IBAN.
Tests unitaires avec des IBAN
Votre suite de tests devrait couvrir :
Cas avec checksum valide :
DE89370400440532013000✓GB29NWBK60161331926819✓FR7630006000011234567890189✓
Cas invalides :
- Chiffres de contrôle incorrects :
DE00370400440532013000✗ - Pays invalide :
XX89370400440532013000✗ - Longueur incorrecte ✗
- Chaîne vide ✗
Cas limites :
- IBAN avec espaces
- Lettres minuscules
- Formatage mixte
IBAN de test des prestataires de paiement
Les sandboxes des prestataires de paiement réservent souvent certaines valeurs de compte pour les scénarios de succès, de refus, de vérification ou d’attente. Ces valeurs et ces comportements sont propres à chaque prestataire et peuvent changer. Reprenez-les dans la documentation officielle actuelle correspondant à l’API, au pays, au moyen de paiement et à l’environnement de test utilisés. Une valeur générée par RandomIBAN ou un exemple public de format SWIFT ne doit pas être présenté comme un identifiant de sandbox Stripe, Adyen, Mangopay ou d’un autre prestataire, sauf si celui-ci le documente actuellement comme tel.
Checklist de test des formulaires
| Scénario | Résultat attendu |
|---|---|
| IBAN standard avec checksum valide | Accepter la couche de checksum |
| IBAN avec checksum valide et espaces | Accepter après nettoyage |
| IBAN avec checksum valide en minuscules | Accepter après normalisation |
| Chiffres de contrôle incorrects | Rejeter avec une erreur claire |
| Longueur incorrecte pour le pays | Rejeter |
| Code pays invalide | Rejeter |
| Champ vide | Erreur de champ obligatoire |
| Texte aléatoire | Erreur de format |
Bonnes pratiques
À faire :
- Utiliser des fixtures IBAN synthétiques valides au niveau du format et du checksum.
- Tester plusieurs pays, et pas seulement les IBAN allemands.
- Tester les cas limites : les formats pris en charge les plus courts et les plus longs par ce générateur (Norvège, 15 caractères ; Malte, 31 caractères).
- Séparer les environnements de test et de production.
- Documenter les IBAN de test dans un dictionnaire partagé de données de test.
À éviter :
- Utiliser de vrais IBAN dans les tests, même le vôtre.
- Coder en dur des IBAN de test dans le code de production.
- Supposer que tous les IBAN ont la même longueur (ISO 13616-1 autorise jusqu’à 34 caractères ; ce générateur prend actuellement en charge des formats de 15 à 31 caractères).
- Ignorer les tests propres à chaque pays.
- Utiliser les IBAN de test d’un prestataire de paiement avec un autre.
Tests multi-devises
| Devise | Pays | Exemple de format public |
|---|---|---|
| EUR | Allemagne | DE89 3704 0044 0532 0130 00 |
| GBP | Royaume-Uni | GB29 NWBK 6016 1331 9268 19 |
| CHF | Suisse | CH93 0076 2011 6238 5295 7 |
| SEK | Suède | SE45 5000 0000 0583 9825 7466 |
| NOK | Norvège | NO93 8601 1117 947 |
| PLN | Pologne | PL61 1090 1014 0000 0712 1981 2874 |
| CZK | République tchèque | CZ65 0800 0000 1920 0014 5399 |
La devise est une dimension du test ; l’IBAN ne prouve ni ne sélectionne à lui seul la devise de la transaction.
En pratique, utilisez des fixtures synthétiques à accès contrôlé pour les tests locaux de format et les valeurs actuellement désignées par le prestataire pour les tests d’intégration en sandbox. Gardez les deux catégories hors production. Le générateur d’IBAN aléatoires permet de créer de nouvelles fixtures structurelles dans les limites documentées : 42 pays pris en charge et jusqu’à 100 valeurs générées sur le web par lot, avec export CSV, JSON et TXT.