Iban Rechner Php

IBAN Rechner (PHP)

Berechnen Sie IBAN, BIC und prüfen Sie die Kontonummer mit diesem PHP-kompatiblen Tool.

Generierte IBAN
BIC (SWIFT-Code)
Prüfziffer
BBAN

IBAN Rechner PHP: Kompletter Leitfaden zur Implementierung

Die Internationale Bankkontonummer (IBAN) ist ein international standardisiertes Format zur Identifizierung von Bankkonten. Für Entwickler, die eine PHP-basierte Lösung benötigen, ist die korrekte Berechnung und Validierung von IBANs essenziell – besonders bei der Integration von Zahlungssystemen oder Finanzanwendungen.

Dieser Leitfaden erklärt:

  • Die Struktur und Komponenten einer IBAN
  • PHP-Algorithmen zur IBAN-Generierung und -Validierung
  • Praktische Implementierungsbeispiele mit Code-Snippets
  • Sicherheitsaspekte und Best Practices
  • Integration mit Banken-APIs und Zahlungsgateways

1. IBAN-Struktur verstehen

Eine IBAN besteht aus:

  1. Ländercode (2 Buchstaben, ISO 3166-1 alpha-2)
  2. Prüfziffer (2 Ziffern, berechnet nach ISO 7064)
  3. BBAN (Basic Bank Account Number, länderspezifisch)

Beispiel (Deutschland):

DE89 3704 0044 0532 0130 00

DE Ländercode
89 Prüfziffer
370400440532013000 BBAN (BLZ + Kontonummer)

2. PHP-Algorithmus zur IBAN-Berechnung

Die Generierung einer IBAN erfordert folgende Schritte:

2.1 Prüfziffernberechnung (Modulo-97-Algorithmus)

Die Prüfziffer wird nach ISO 7064 berechnet:

  1. Ländercode + “00” + BBAN aneinanderhängen
  2. Buchstaben durch Zahlen ersetzen (A=10, B=11, …, Z=35)
  3. Die Zahl modulo 97 berechnen
  4. 98 minus das Ergebnis = Prüfziffer

function calculateChecksum($countryCode, $bban) { $moved = substr($bban, 0, 4) . substr($bban, 4); $rearranged = $moved . $countryCode . “00”; $converted = ”; for ($i = 0; $i < strlen($rearranged); $i++) { $char = $rearranged[$i]; if (ctype_alpha($char)) { $converted .= (ord(strtoupper($char)) - 55); } else { $converted .= $char; } } $checksum = 98 - bcmod($converted, 97); return str_pad($checksum, 2, '0', STR_PAD_LEFT); }

2.2 Komplette IBAN-Generierung in PHP

Hier ein vollständiges Beispiel zur IBAN-Generierung:

function generateIBAN($countryCode, $bankCode, $accountNumber) { // BBAN konstruieren (Deutschland: BLZ + Kontonummer) $bban = $bankCode . str_pad($accountNumber, 10, ‘0’, STR_PAD_LEFT); // Prüfziffer berechnen $checksum = calculateChecksum($countryCode, $bban); // IBAN zusammenbauen $iban = $countryCode . $checksum . $bban; // Formatierung in 4er-Blöcke return chunk_split(strtoupper($iban), 4, ‘ ‘); } // Beispielaufruf $iban = generateIBAN(‘DE’, ‘10010010’, ‘123456789’); echo $iban; // Ausgabe: DE89 1001 0010 1234 5678 90

3. IBAN-Validierung in PHP

Die Validierung einer IBAN erfolgt durch:

  1. Prüfung des Formats (Ländercode, Länge, Zeichen)
  2. Neuberechnung der Prüfziffer und Vergleich
  3. Bank-spezifische Validierung (optional)

function validateIBAN($iban) { // Leerzeichen entfernen und in Großbuchstaben umwandeln $iban = strtoupper(str_replace(‘ ‘, ”, $iban)); // Ländercode extrahieren und Länge prüfen $countryCode = substr($iban, 0, 2); $ibanLengths = [ ‘DE’ => 22, ‘AT’ => 20, ‘CH’ => 21, ‘FR’ => 27, ‘ES’ => 24, ‘IT’ => 27, ‘NL’ => 18, ‘BE’ => 16 ]; if (!array_key_exists($countryCode, $ibanLengths) || strlen($iban) != $ibanLengths[$countryCode]) { return false; } // Prüfziffer validieren $moved = substr($iban, 4) . substr($iban, 0, 4); $converted = ”; for ($i = 0; $i < strlen($moved); $i++) { $char = $moved[$i]; if (ctype_alpha($char)) { $converted .= (ord($char) - 55); } else { $converted .= $char; } } return bcmod($converted, 97) == 1; } // Beispielaufruf $isValid = validateIBAN('DE89 3704 0044 0532 0130 00');

4. BIC/SWIFT-Code Ermittlung

Der Business Identifier Code (BIC) identifiziert die Bank. In Deutschland kann der BIC oft aus der Bankleitzahl abgeleitet werden:

Bankleitzahl (BLZ) BIC-Format Beispiel
10010010 (Postbank) PBNKDEFFXXX PBNKDEFF100
37040044 (Commerzbank) COBADEFFXXX COBADEFF370
50010517 (Ing-Diba) INGDDEFFXXX INGDDEFF500
70020270 (HypoVereinsbank) HYVEDEMMXXX HYVEDEMM700

Für eine zuverlässige BIC-Ermittlung sollten Sie die Deutsche Bundesbank BLZ-Verzeichnis oder kommerzielle APIs wie SWIFTRef nutzen.

5. PHP-Bibliotheken für IBAN-Operationen

Für komplexere Anforderungen empfehlen sich diese Bibliotheken:

Bibliothek Funktionen Installation
league/iban Generierung, Validierung, Formatierung composer require league/iban
moneyphp/iban IBAN + BIC Operationen composer require moneyphp/iban
php-iban/php-iban Einfache Validierung composer require php-iban/php-iban

Beispiel mit league/iban:

use League\Iban\Iban; $iban = new Iban(‘DE89370400440532013000’); if ($iban->verify()) { echo “Gültige IBAN”; echo “Ländercode: ” . $iban->countryCode(); echo “Bankcode: ” . $iban->bankIdentifier(); echo “Kontonummer: ” . $iban->accountNumber(); } else { echo “Ungültige IBAN”; }

6. Sicherheitsaspekte bei IBAN-Verarbeitung

Bei der Verarbeitung von Bankdaten sind folgende Punkte zu beachten:

  • Datenverschlüsselung: IBANs immer verschlüsselt speichern (AES-256)
  • PCI-DSS Compliance: Bei Zahlungsabwicklung PCI-Standards einhalten
  • Input-Validierung: Serverseitige Prüfung aller Eingaben
  • Logging: Keine sensiblen Daten in Logfiles speichern
  • Zwei-Faktor-Authentifizierung: Für administrative Zugriffe

Die Europäische Zentralbank bietet offizielle Richtlinien zur IBAN-Nutzung.

7. Integration mit Zahlungsgateways

IBAN-Rechner sind oft Teil von:

  • SEPA-Lastschrift-Systemen
  • Online-Shops (WooCommerce, Shopware)
  • Buchhaltungssoftware
  • Fintech-Anwendungen

Beispiel für WooCommerce-Integration:

add_filter(‘woocommerce_billing_fields’, ‘add_iban_field’); function add_iban_field($fields) { $fields[‘billing_iban’] = array( ‘label’ => __(‘IBAN’, ‘woocommerce’), ‘required’ => true, ‘class’ => array(‘form-row-wide’), ‘clear’ => true ); return $fields; } add_action(‘woocommerce_checkout_process’, ‘validate_iban_field’); function validate_iban_field() { if (!validateIBAN($_POST[‘billing_iban’])) { wc_add_notice(__(‘Ungültige IBAN. Bitte überprüfen Sie Ihre Eingabe.’), ‘error’); } }

8. Performance-Optimierung

Für hochfrequentierte Systeme:

  • Caching: Häufig verwendete IBAN/BIC-Kombinationen cachen
  • Batch-Verarbeitung: Bei Stapelverarbeitung asynchrone Jobs nutzen
  • Datenbank-Indizes: Für IBAN-Suchen entsprechende Indizes anlegen
  • Microservices: IBAN-Validierung als separaten Service auslagern

9. Rechtliche Anforderungen

Beachten Sie:

  • DSGVO: IBANs gelten als personenbezogene Daten
  • Geldwäschegesetz: Bei geschäftsmäßiger Abwicklung
  • SEPA-Verordnung: EU-Verordnung Nr. 260/2012

Die offizielle SEPA-Verordnung der EU enthält alle rechtlichen Details.

10. Zukunft der IBAN: ISO 20022

Der neue Standard ISO 20022 wird die IBAN-Nutzung erweitern:

  • Erweiterte Datenelemente für Zahlungen
  • Bessere globale Interoperabilität
  • Echtzeit-Zahlungsabwicklung
  • Erweiterte Validierungsmöglichkeiten

Die ISO 20022 Organisation bietet detaillierte Informationen zur Migration.

Fazit

Die korrekte Implementierung eines IBAN-Rechners in PHP erfordert:

  1. Präzise Algorithmen für Prüfziffernberechnung
  2. Umfassende Validierungsroutinen
  3. Sichere Datenverarbeitung
  4. Integration mit Bankensystemen
  5. Compliance mit finanziellen Vorschriften

Mit den in diesem Leitfaden vorgestellten Techniken können Sie robuste Lösungen für Finanzanwendungen, E-Commerce-Plattformen oder Buchhaltungssysteme entwickeln.

Leave a Reply

Your email address will not be published. Required fields are marked *