getBrand method
Implementation
int getBrand() {
try {
int.parse(cardNumber);
} catch (_) {
return ANY;
}
String card = cardNumber;
if (card.length >= 3) {
int n = int.parse(card.substring(0, 3));
if ((n >= 300 && n <= 305) || n == 309) {
return DINERS_CLUB;
}
}
if (card.length >= 2) {
int n = int.parse(card.substring(0, 2));
if (n == 36 || n == 38 || n == 39) {
return DINERS_CLUB;
} else if (n == 34 || n == 37) {
return AMERICAN_EXPRESS;
} else if (n >= 51 && n <= 55) {
return MASTER_CARD;
}
}
if (card.length >= 1) {
int n = int.parse(card[0]);
if (n == 4) {
return VISA;
}
}
return ANY;
}