cardNumPatterns top-level constant

Map<CreditCardType, Set<List<String>>> const cardNumPatterns

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'],
  }
};