phpbar.de logo

Mailinglisten-Archive

[php] Kreditkartensyntax

[php] Kreditkartensyntax

Michael Beck php_(at)_phpcenter.de
Thu, 7 Jun 2001 14:14:35 +0200 (CEST)


> Gibt es eine allgemeine Syntax für die Kartennummern und Verfallsdaten
> der einzelnen Institute? Ich habe leider keine... (:

25% Inhalt belassen, 75% Werbung gelöscht.

Nein, gibt es nicht.

Das Verfallsdatum hat auch nichts mit der Syntax (oder korrekter: 
Prüfziffernberechnung) der Karten zu tun.

Es gibt 13- und 16stellige Visa-Karten, Amex ist immer 15stellig, 
Mastercard und die meissten anderen sind 16stellig.

13stellige Visa-Karte:
-------------------------------------------
1. Stellen von 0 bis 12 durchnummerieren.
2. Stellen 1,3,5,7,9,11 mit 2 multiplizieren.
3. pro Stelle dabei wie folgt vorgehen:
   wenn das Ergebnis kleiner 10 ist, bleibt es so stehen.
   wenn das Ergebnis grösser 10 ist, wird daraus die Quersumme gebildet.
4. die Stellen 0,2,4,6,8,10,12 mit 1 multiplizieren.
5. alle Ergebnisse aufaddieren.
6. ist die zweite Stelle dieser Summe ungleich Null, ist die Kartennummer 
ungültig.

16stellige Visa-Karte:
-------------------------------------------
1. Stellen von 0 bis 15 durchnummerieren
2. Stellen 0,2,4,6,8,10,12,14 mit 2 multiplizieren.
3. vorgehen wie bei der 13stelligen karte (Quersumme ...)
4. die Stellen 1,3,5,7,9,11,13,15 mit 1 multiplizieren.
5. alle Ergebnisse aufaddieren.
6. Prüfziffer wie bei der 13stelligen Karte.

15stellieg Amex-Karte:
-------------------------------------------
1. Stellen von 0 bis 14 durchnummerieren
2. Stellen 1,3,5,7,9,11,13 mit 2 multiplizieren.
3. vorgehen wie bei den anderen beiden (Quersumme ...)
4. die Stellen 0,2,4,6,8,10,12,14 mit 1 multiplizieren
5. alle Ergebnisse aufaddieren
6. siehe Visa

IIRC funktionieren alle 16stelligen Karten via die Visa.
Mit Kontonummern und Bankleitzahlen ist das deutlich schwieriger ;)

Liebe Grüße + HTH,

Michael



php::bar PHP Wiki   -   Listenarchive