Ein sicheres Testwerkzeug für Entwickler von Zahlungssystemen und QA-Fachleute. Alle Testnummern sind nicht funktionsfähig und ausschließlich für Entwicklungsumgebungen gedacht.

3 Min. Lesezeit Von Namso Gen
BIN-Nummern verstehen: ein Leitfaden für Entwickler

BIN-Nummern verstehen: ein Leitfaden für Entwickler

Was ist eine BIN/IIN-Nummer?

Bank Identification Numbers (BIN) oder Issuer Identification Numbers (IIN) sind die ersten 6-8 Ziffern einer Zahlungskartennummer, die das kartenausgebende Institut identifizieren. Diese Nummern sind entscheidend für die Zahlungsabwicklung, die Betrugserkennung und das Routing von Transaktionen.

Aufbau einer BIN-Nummer

Aufschlüsselung des Standardformats

Position Länge Zweck Beispiel
1 1 Ziffer Major Industry Identifier (MII) 4 (Bankwesen)
2-6 5 Ziffern Ausgebendes Institut 12345
7-8 2 Ziffern Erweiterte BIN (optional) 67

Werte des Major Industry Identifier (MII)

MII-Ziffer Branche
0 ISO/TC 68-Zuweisung
1 Fluggesellschaften
2 Fluggesellschaften/Finanzwesen
3 Reisen/Unterhaltung
4 Bankwesen/Finanzwesen
5 Bankwesen/Finanzwesen
6 Einzelhandel
7 Erdöl/Sonstiges
8 Gesundheitswesen/Telekommunikation
9 Nationale Zuweisung

Häufige BIN-Bereiche nach Kartennetzwerk

Primäre BIN-Bereiche

bin_ranges = {
    'Visa': ['4'],
    'Mastercard': ['51-55', '2221-2720'],
    'American Express': ['34', '37'],
    'Discover': ['6011', '644-649', '65'],
    'JCB': ['3528-3589'],
    'UnionPay': ['62']
}

Implementierung einer BIN-Abfrage

def validate_bin(card_number):
    bin_number = card_number[:6]
    
    # Einfache Validierung
    if not bin_number.isdigit():
        return False
        
    # Ermittlung des Kartennetzwerks
    if card_number.startswith('4'):
        network = 'Visa'
    elif any(card_number.startswith(str(i)) for i in range(51, 56)):
        network = 'Mastercard'
    elif card_number.startswith(('34', '37')):
        network = 'American Express'
    else:
        network = 'Unknown'
        
    return {
        'bin': bin_number,
        'network': network,
        'length': len(card_number),
        'valid': len(card_number) in [13, 15, 16, 19]
    }

Eigenschaften von BIN-Daten

Standardfelder einer BIN-Antwort

Feld Beschreibung Beispiel
scheme Kartennetzwerk "visa"
country Ausgabeland "US"
type Kartentyp "credit"
category Kartenkategorie "platinum"
issuer Ausgebende Bank "CHASE"
length Länge der Kartennummer 16

Validierungsregeln auf Basis der BIN

Kartennummernlänge nach Kartennetzwerk

Kartennetzwerk Gültige Längen
Visa 13, 16, 19
Mastercard 16
American Express 15
Discover 16, 19
UnionPay 16-19

Integrationsbeispiel

const binValidator = {
  checkBIN: function(cardNumber) {
    const bin = cardNumber.substring(0, 6);
    const length = cardNumber.length;
    
    // Einfache Formatprüfung
    if (!/^\d{6}/.test(bin)) {
      return {
        valid: false,
        error: 'Invalid BIN format'
      };
    }
    
    // Erkennung des Kartennetzwerks
    const network = this.detectNetwork(bin);
    
    // Längenvalidierung
    const isValidLength = this.validateLength(length, network);
    
    return {
      valid: isValidLength,
      network: network,
      bin: bin,
      cardLength: length
    };
  },
  
  detectNetwork: function(bin) {
    // Logik zur Erkennung des Kartennetzwerks
    if (/^4/.test(bin)) return 'visa';
    if (/^5[1-5]/.test(bin)) return 'mastercard';
    if (/^3[47]/.test(bin)) return 'amex';
    return 'unknown';
  }
};

Sicherheitsaspekte

  1. Datenschutz

    • Speichern Sie niemals vollständige Kartennummern
    • Verschlüsseln Sie BIN-Daten bei der Übertragung
    • Beschränken Sie den Zugriff auf BIN-Daten
  2. Compliance-Anforderungen

    • PCI-DSS-Konformität für die BIN-Speicherung
    • Richtlinien zur Datenaufbewahrung
    • Umsetzung von Zugriffskontrollen
  3. Leistungsoptimierung

    • Cachen Sie Ergebnisse von BIN-Abfragen
    • Implementieren Sie Rate Limiting
    • Nutzen Sie BIN-Abfragen in Batches

Best Practices für die BIN-Verarbeitung

Vorgehen Zweck Umsetzung
Caching API-Aufrufe reduzieren BIN-Daten im Speicher halten
Validierung Fehler vermeiden Format vor der Verarbeitung prüfen
Monitoring Probleme erkennen Muster von BIN-Abfragen protokollieren

Dieser Leitfaden bietet die wesentlichen Informationen für die Arbeit mit BIN-Nummern in Zahlungsabwicklungssystemen. Nutzen Sie ihn, um Zahlungsvalidierung, Betrugserkennung und Transaktions-Routing in Ihren Anwendungen zu verbessern.

Verwandte Artikel