DE ♦ EN

IBAN-BIC.com (Theano GmbH)  » Webservice  » Ohne SOAP  » REST-Interface-Dokumentation: validate_iban

Passwort vergessen?

Kontakt,
Impressum

Neuer Kunde? Neu anmelden

IBANs validieren: https://rest.sepatools.eu/validate_iban/{iban}

Beispiel:
https://rest.sepatools.eu/validate_iban/IE92BOFI90001710027952

Beispiel mit PHP:
print_r(json_decode(file_get_contents("https://username:password@rest.sepatools.eu/validate_iban_dummy/AL90208110080000001039531801")));
# username und password mit Ihrem Benutzernamen/Passwort ersetzen; "_dummy" entfernen, sobald Sie nicht mehr nur testen, sondern echte Validierungen durchführen wollen

Zweck:

  • Validiert die IBAN inklusive enthaltener Kontonummer und Bankleitzahl, soweit wie möglich.
  • Fügt Informationen hinzu wie BIC-Code, Name und Adresse der Bank, Bank-Website.
  • Hilft bei der Betrugsprävention, indem die IBAN mit einer Liste öffentlich sichtbarer IBANs abgeglichen wird, die im Web gefunden werden können und daher von Betrügern als die eigene IBAN ausgegeben werden könnten. Zu validierende IBANs werden auch gegen eine Liste von IBANs mit Betrugsverdacht abgeglichen.

Aufrufmechanismus kostenlos testen: Der Endpunkt rest.sepatools.eu/validate_iban_dummy/AL90208110080000001039531801 erwartet dieselben Parameter, läuft auf denselben Servern, nutzt denselben Authentifizierungsmechanismus und liefert dieselbe Datenstruktur zurück wie validate_iban. Im Gegensatz zu validate_iban

  • kann der Endpunkt validate_iban_dummy kostenlos aufgerufen werden, d.h. ein Aufruf ändert nicht den Stand Ihres Benutzerkontos,
  • außerdem validiert der Endpunkt validate_iban_dummy immer dieselbe IBAN, egal welche IBAN Sie als Eingabeparameter liefern.
  • Es gibt ein paar Ausnahmen: für die IBANs DE27100777770209299700, DE11520513735120710131, DE11520513735120710132 und AT411100000237571500 liefert auch der Dummy-Endpoint das Ergebnis für die jeweilige IBAN. Dadurch können Sie auch Sonderfälle wie eine ungültige IBAN oder eine auf dem Web öffentlich sichtbare IBAN kostenlos testen.

Sobald Sie sehen, dass Ihre Implementierung den Endpunkt validate_iban_dummy erfolgreich aufruft, können Sie den Namen des aufgerufenen Endpunkts dann auf validate_iban ändern.

Testdaten: zum Testen diverser Szenarien (korrekte IBAN, inkorrekte IBAN, verdächtige IBAN etc.) empfehlen wir diese Testdaten (inklusive Test-IBANs für Betrugsprävention).

Authentifizierung: Basic Authentication mit dem Benutzernamen und Passwort, das Sie bei der Registrierung auf iban-bic.com festgelegt haben.

Unterstützt GET und POST.

Eingabe

Eingabe-Parameter:

  • iban die zu validierende IBAN.

Ausgabe: Validierungs-Ergebnisse

  • iban: Die geprüfte IBAN.
  • result: 'passed' oder 'failed' - für eine formal korrekte oder inkorrekte IBAN
  • return_code: eine einzelne Zahl, die die Ergebnisse diverser Tests anzeigt. Nicht alle Tests werden immer durchgeführt.
    Mögliche Werte:

    • 0 = alle unterstützten Tests wurden ausgeführt und bestanden.
    • Ansonsten die Summe folgender Zahlen:

      • 1 = es wurde automatisch eine Unterkontonummer angehängt.
      • 2 = Diese Kontonummer enthält keine Prüfsumme.
      • 4 = Wir haben die Prüfsumme nicht geprüft.
      • 8 = Wir haben die Bankleitzahl nicht geprüft.
      • 32 = Warnung: möglicherweise muss eine Unterkontonummer angehängt werden, aber wir konnten nicht automatisch feststellen, ob das nötig ist. Bitte manuell prüfen, vor allem wenn die validierte IBAN das Ergebnis einer Umwandlung aus einer BBAN ist.
      • 128 = Fehler: Falsche Prüfsumme in der enthaltenen Kontonummer.
      • 256 = Bankleitzahl steht nicht im Verzeichnis.
      • 512 = IBAN hat die falsche Länge.
      • 1024 = Bankcode hat die falsche Länge.
      • 2048 = Die IBAN-Prüfsumme (3. und 4. Zeichen der IBAN) ist falsch.
      • 4096 = Fehlende Eingabedaten (z. B. Ländercode).
      • 8192 = Wir unterstützen dieses Land noch nicht.

    Interpretation der Summe:

    • < 32. Die IBAN scheint korrekt zu sein;
    • 32 ≤ sum ≤ 127. Die IBAN könnte korrekt sein, aber eine manuelle Prüfung ist empfohlen;
    • ≥ 128. Die IBAN ist falsch.
    • = 65536: Der Rückgabewert ist undefiniert - bitte teilen Sie uns diesen Fehler mit.

  • checks: ein Array der durchgeführten Prüfungen (kann Elemente wie 'length', 'bank_code', 'account_number' oder 'iban_checksum' enthalten).
  • length_check:'passed' oder 'failed' - zeigt, ob die IBAN die richtige Länge für das Land hat.
  • account_check: (nicht für alle Länder verfügbar) 'passed' oder 'failed'. Zeigt das Ergebnis der Prüfsummenvalidation der nationalen Kontonummer (ein Unterteil der IBAN). Wenn der Algorithmus unbekannt ist oder keine Prüfsumme existiert, ist das Ergebnis leer oder 'passed'.
  • bank_code_check: (nicht für alle Länder verfügbar) Die Bankleitzahl wurde in einem Verzeichnis gefunden ('passed') oder nicht gefunden ('failed').
  • iban_checksum_check: 'passed' oder 'failed'. Korrektheit des 3. und 4. Zeichens in der IBAN, i.e. der IBAN-Prüfsumme.
  • account_validation_method: Name des Validierungsalgorithmus für die nationale Kontonummer
  • account_validation: (nur DE und CH) Eine Erklärung der durchgeführten Kontonummernprüfung (auf Deutsch)
  • iban_candidate: für Deutschland würde diese IBAN resultieren, wenn man die in der IBAN enthaltene Kontonummer und Bankleitzahl extrahiert und wieder in eine IBAN umwandelt. Es gibt einige IBAN-Sonderregeln, die dabei zu einer Abweichung von der zu validierenden IBAN führen können. Für Länder ohne IBAN-Sonderregeln bleibt dieses Feld leer.
  • IBANformat: Eine kompakte Beschreibung des IBAN-Formats für das betreffende Land, z. B.: 'DEkk BBBB BBBB CCCC CCCC CC'.
  • formatcomment: Schlüssel zu der IBANformat-Beschreibung, z. B. 'B = sort code (BLZ), C = account No.'

Ausgabe: Konto- und Bankdaten (BIC-Code, Bankadresse, nationale Kontonummer etc.)

Diese Felder enthalten Zusatzinformationen zur validierten IBAN wie z. B. BIC-Code und Bankdaten:

  • bic_candidates: ein Array von BICs, die zur in der IBAN enthaltenen Bankleitzahl gehören. Kann leer sein oder eines oder mehrere Elemente enthalten. Jedes Element ist wiederum eine Datenstruktur mit de Attributen 'bic', 'wwwcount', 'sampleurl' und 'city'.
    Interpretation: Wenn

    • wwwcount > 0, wurde dieser BIC-Code im Web gefunden (auf so vielen Seiten wie durch 'wwwcount' angegeben, beispielsweise auf der Seite 'sampleurl').
    • wwwcount = 0. In diesem Fall kommt der BIC-Code aus einem Verzeichnis einer Nationalbank oder der EZB.
    • Wenn 'city' angegeben ist, kommt der BIC-Code aus einem Verzeichnis der EZB oder einer Nationalbank.
      Die angegebene Stadt reflektiert aber nicht unbedingt den Ort der Zweigstelle, es kann auch der Ort der Zentrale sein.

  • all_bic_candidates: ein Array von BIC-Kandidaten wie oben, möglicherweise erweitert um zusätzliche BIC-Codes, die durch einige Heuristiken vom vorigen Array ausgeschlossen wurden. Verwenden Sie diesen Array für eine etwas weniger strikte Prüfung eines gegebenen BIC-Codes.
  • country: der ISO-Ländercode (erste zwei Zeichen der IBAN)
  • bank_code: die Bankleitzahl, falls sie existiert. Für NL: die ersten 4 Zeichen des BIC-Codes (in den Niederlanden existiert keine BLZ), oder die BC-Nummer für die Schweiz.
  • bank_and_branch_code: der aneinandergehängte Inhalt der Felder bank_code und branch_code plus, falls sie existiert, eine Prüfsumme für die Kombination aus bank_code und branch_code. Für Ungarn beispielsweise enthält dieses Feld mehr als die Inhalte der beiden Felder bank_code und branch_code. Für die meisten Länder gibt es aber keine zusätzliche Prüfsumme, die in diesem Feld auftauchen würde.
  • bank: Bankname, falls bekannt.
  • bank_address: Bankadresse, falls bekannt.
  • bank_street: die Straße aus dem Feld bank_address.
  • bank_city: die Stadt aus dem Feld bank_address.
  • bank_state: das Land (falls bekannt) aus dem Feld bank_address.
  • bank_postal_code: die Postleitzahl aus dem Feld bank_address.
  • bank_url: URL der Website der Bank, falls bekannt.
  • branch: Zweigstellenname, falls bekannt.
  • branch_code: Zweigstellennummer, falls bekannt.
  • in_scl_directory: wenn wenigstens ein BIC-Code geliefert wird (d.h., wenn der oben erwähnte Array bic_candidates wenigstens ein Element hat), wird dieses Feld auf 'yes' oder 'no' gesetzt, je nachdem, ob der erste BIC-Code im SCL-Erreichbarkeitsverzeichnis der Bundesbank steht. Wenn kein BIC-Code im Array steht, bleibt dieses Feld leer.
  • sct: wenn in_scl_directory 'yes' enthält, reflektiert dieses Feld, ob ein SEPA Credit Transfer für die erste aufgelistete BIC unterstützt wird ('yes') oder nicht ('no'). Ansonsten leer.
  • sdd: wenn in_scl_directory 'yes' enthält, ist dieses Feld 'yes', wenn SEPA Direct Debit für die erste aufgelistete BIC unterstützt wird. Wenn SDD nicht unterstützt wird: 'no'. Ansonsten (keine BIC geliefert) leer.
  • b2b: wenn in_scl_directory 'yes' enthält, zeigt dieses Feld, ob SEPA Business to Business für die erste gelieferte BIC unterstützt wird ('yes') oder nicht ('no'). Ansonsten leer.
  • scc: wenn in_scl_directory 'yes' ist, zeigt dieses Feld, ob SEPA Card Clearing für die erste BIC unterstützt wird ('yes') oder nicht ('no').
  • sct_inst: "yes", wenn SEPA-Echtzeitüberweisungen unterstützt werden, "no", wenn sie nicht unterstützt werden, oder leer, falls wir diese Information für die angegebene IBAN nicht bestimmen können (entweder, weil wir keinen BIC-Code bestimmen konnten oder weil wir für den zugehörigen BIC-Code keine Informationen zu Echtzeitüberweisungen finden).
  • sct_inst_readiness_date: das Datum, ab dem für diese IBAN Echtzeitüberweisungen unterstützt werden, oder leer, falls wir diese Information nicht finden können.
  • account_number: Nationale Kontonummer.
  • data_age: (nicht für alle Länder:) Alter der BIC- und anderen Bankdaten. Format: jjjjmmdd.

Ausgabe: Betrugsprävention

Die folgenden Felder können genutzt werden, um zu beurteilen, ob eine IBAN betrügerisch genutzt werden soll - beispielsweise geben wir an, ob sie im Web öffentlich sichtbar ist, von einem IBAN-Generator für fiktive IBANs stammt oder ob bereits eine Betrugswarnung für die IBAN vorliegt.

Test-IBANs für die diversen Blacklists: DE27100777770209299700, DE11520513735120710131, AT411100000237571500

  • iban_listed: entweder

    • leer, wenn die IBAN auf keiner unserer Listen auftaucht, oder
    • "www", wenn die IBAN öffentlich im Web sichtbar ist, oder
    • "fake", wenn wir festgestellt haben, dass sie mit einem Fake-IBAN-Generator generiert wurde, oder
    • "blacklist" oder "schummelrechnungen.de", wenn ein Betrugsverdacht vorliegt (z.B. laut oplichter.eu).

  • iban_www_occurrences: die Anzahl von Vorkommen dieser IBAN in unserem monatlichen Web Crawl. Wenn diese Anzahl größer als Null ist, sind die folgenden 7 Felder mit weiteren Details gefüllt.
  • www_seen_from: das erste Datum, als wir diese IBAN gesehen haben. Wahrscheinlich stand die IBAN aber schon etwas früher im Web.
  • www_seen_until: das letzte Datum, als wir diese IBAN gefunden haben. Sie könnte aber immer noch online sichtbar sein.
  • iban_url: die prominenteste URL, wo wir diese IBAN gefunden haben. Prominenz von URLs ist weiter unten erklärt. Wenn iban_www_occurrences 1 ist und gleichzeitig im Feld iban_url "IBAN_BLACKLISTED" steht, ist die IBAN nicht unbedingt öffentlich sichtbar, wurde aber von einem unbekannten Benutzer als verdächtig gemeldet.
  • url_rank: die Anzahl anderer Websites, die mehr Traffic als die in iban_url angegebene URL erhalten.
  • url_category: die Kategorie der prominentesten Website, in natürlicher Sprache, falls bekannt.
  • url_min_depth: die kleinste Verschachtelungstiefe innerhalb der Seite, auf der die IBAN gefunden wurde.
  • url_prominence: reserviert für eine Punktzahl für die Prominenz.
  • iban_reported_to_exist: falls nicht Null: die Existenz dieser IBAN wurde von einem anderen Benutzer bestätigt, und zwar für den von Ihnen angegebenen Kontoinhaber.
  • iban_last_reported: Datum der letzten Existenzbestätigung dieser IBAN, im Format JJJJMMDD.
  • iban_first_seen: der erste Zeitpunkt, zu dem diese IBAN auf der anzeigenfinanzierten Website iban-rechner.de validiert wurde, im Format JJJJ-MM-TT SS:MM:SS. IBANs, die für betrügerische Zwecke genutzt werden, sind oft sehr jung. Wenn hier also ein Datum geliefert wird, das mehr als etwa 2 Wochen in der Vergangenheit liegt, ist das ein gutes Zeichen. Wenn das Feld leer ist, bedeutet das, dass wir nichts über das Alter dieser IBAN sagen können.

Ausgabe: Ihr Kontostand

  • balance: Anzahl verbleibender API-Aufrufe, bevor Sie Ihr Benutzerkonto wieder aufladen müssen. Kunden, die im Nachhinein bezahlen, können auch bei einem negativen Kontostand weiterarbeiten.

 

 

Ausgabe: reservierte Felder

Die Felder iban_reported_to_exist und iban_last_reported sind derzeit nicht in Benutzung, weil wir noch nicht genug Daten für ihre Verwendung in der Datenbank haben.