ISO 7812, pertama kali diterbitkan oleh ISO International Organization for Standardization pada tahun 1989, adalah mengenai pengaturan standar internasional pita magnetik kartu indentitas, kartu-2 akses, kartu ATM, dan kartu kredit. ISO 7812 disediakan dalam dua bagian, ISO 7812-1 dan ISO 7812-2. masing-2 berisikan spesifikasi lengkap dimana dapat terpakai pada penggunaannya. penomoran kartu kredit adalah bagian dari penomoran ISO 7812.
Pada ISO 7812 penggunaan satu digit untuk MII major industry identifier, enam digit untuk IIN issuer identifier number, disusul rangkaian angka dari sebuah nomor rekening, dan satu digit kemudian dipakai untuk pengontroan. sebagian besar industri pengindentifikasi merupakan bagian dari penerbit nomor pengindentifikasi, dan besaran jumlah angka tidak lebih dari 19 digit.
Major industry identifier
MII major industry identifier pengaturan pada digit pertama dari penomoran menurut ISO 7812 adalah pernyataan tujuan penggunaan atau pemakaian dari kartu adalah sbb.:[1]
Nilai digit MII
|
kategori kegunaan
|
0 |
ISO/TC 68 and other industry assignments
|
1 |
Airlines
|
2 |
Airlines and other industry assignments
|
3 |
Travel and entertainment
|
4 |
Banking and financial
|
5 |
Banking and financial
|
6 |
Merchandising and banking
|
7 |
Petroleum
|
8 |
Telecommunications and other industry assignments
|
9 |
National assignment
|
umpama [MII] major industry identifier adalah angka 9 maka tiga angka kemudian adalah menerangkan asal negara dengan pemakaian ketentuan dari ISO 3166-1 yang terdiri dari tiga angka.
Issuer Identifier Number
beberapa contoh issuer identifiers dibawah ini [2]
Jenis kartu
|
jumlah angka
|
Prefiks (Issuer Identifier Number)
|
Simbol
|
Rumus pengkontrolan
|
American Express
|
15 |
34, 37 |
AmEx |
Luhn Algorithm
|
Diners Club Carte Blanche
|
14 |
300, 301, 302, 303, 304, 305 |
DC-CB |
Luhn Algorithm
|
Diners Club International
|
14 |
36 |
DC-Int |
Luhn Algorithm
|
Diners Club Enroute
|
15 |
2014, 2149 |
DC-eR |
Luhn Algorithm (?)
|
Diners Club US dan Canada
|
16 |
55 |
DC-UC |
Luhn Algorithm
|
Maestro (Debit Card)
|
16, 18 |
5020, 5038, 6304, 6759 |
Maes |
Luhn Algorithm
|
Discover Card
|
16 |
6011, 65 |
Disc |
Luhn Algorithm
|
MasterCard
|
16 |
51, 52, 53, 54, 55 |
MC |
Luhn Algorithm
|
Visa Electron
|
16 |
417500, 4917, 4913, 4508, 4844 |
Visa |
Luhn Algorithm
|
Visa
|
13, 16 |
4 |
Visa |
Luhn Algorithm
|
Nomor rekening
Keberadaan nomor rekening berjumlah maksimum 7 angka digit berada pada urutan kedua dari belakang setelah digit pengkontrolan.
Digit pengkontrolan
Angka digit pengkontrolan check digit berada pada urutan paling akhir dan dihitung berdasarkan perumusan Algoritme Luhn.[3]
'''''Java Source Code'''''
//---------------------------------------------------------
// Checks for valid credit card number using Luhn algorithm
//---------------------------------------------------------
public abstract class LuhnCheck {
//--------------------------------
// Filter out non-digit characters
//--------------------------------
private static String getDigitsOnly (String s) {
StringBuffer digitsOnly = new StringBuffer ();
char c;
for (int i = 0; i < s.length (); i++) {
c = s.charAt (i);
if (Character.isDigit (c)) {
digitsOnly.append (c);
}
}
return digitsOnly.toString ();
}
//-------------------
// Perform Luhn check
//-------------------
public static boolean isValid (String cardNumber) {
String digitsOnly = getDigitsOnly (cardNumber);
int sum = 0;
int digit = 0;
int addend = 0;
boolean timesTwo = false;
for (int i = digitsOnly.length () - 1; i >= 0; i--) {
digit = Integer.parseInt (digitsOnly.substring (i, i + 1));
if (timesTwo) {
addend = digit * 2;
if (addend > 9) {
addend -= 9;
}
}
else {
addend = digit;
}
sum += addend;
timesTwo = !timesTwo;
}
int modulus = sum % 10;
return modulus == 0;
}
//-----
// Test
//-----
Referensi
Lihat pula
Pranala luar