cardNumPatterns top-level constant
CC prefix patterns as of March 2019
A List<String> represents a range.
i.e. '51', '55'
represents the range of cards starting with '51' to those starting with '55'
Implementation
const Map<CreditCardType, Set<List<String>>> cardNumPatterns = {
CreditCardType.aura: {
['50'],
},
CreditCardType.visa: {
['4'],
},
CreditCardType.amex: {
['34'],
['37'],
},
CreditCardType.discover: {
['6011'],
['64'],
['644', '649'],
['65'],
},
CreditCardType.mastercard: {
['51', '55'],
['2221', '2229'],
['223', '229'],
['23', '26'],
['270', '271'],
['2720'],
},
CreditCardType.dinersclub: {
['30'],
['300', '305'],
['36'],
['38'],
['39'],
},
CreditCardType.jcb: {
['3506', '3589'],
['2131'],
['1800'],
},
CreditCardType.elo: {
['4011'],
['401178'],
['401179'],
['438935'],
['457631'],
['457632'],
['431274'],
['451416'],
['457393'],
['504175'],
['506699', '506778'],
['509000', '509999'],
['627780'],
['636297'],
['636368'],
['650031', '650033'],
['650035', '650051'],
['650405', '650439'],
['650485', '650538'],
['650541', '650598'],
['650700', '650718'],
['650720', '650727'],
['650901', '650978'],
['651652', '651679'],
['655000', '655019'],
['655021', '655058'],
['6555'],
},
CreditCardType.hiper: {
['637095'],
['637568'],
['637599'],
['637609'],
['637612'],
},
CreditCardType.hipercard: {
['6062'],
},
CreditCardType.rupay: {
['6521', '6522'],
}
};