Sha256: 2d716252044b02390e7c3cd59f58c40c45f1d8bc9685b79cf6f89cb22eafcc44

Contents?: true

Size: 1.82 KB

Versions: 1

Compression:

Stored size: 1.82 KB

Contents

module CreditCardValidations
  module CardRules
    ########  most used brands #########
    mattr_accessor :rules

    self.rules = {
        visa: [
            {length: [16], prefixes: ['4']}
        ],
        mastercard: [
            {length: [16], prefixes: ['51', '52', '53', '54', '55']}
        ],
        ######## other brands ########
        amex: [
            {length: [15], prefixes: ['34', '37']}
        ],

        diners: [
            {length: [14], prefixes: ['300', '301', '302', '303', '304', '305', '36']},
        ],

        #There are Diners Club (North America) cards that begin with 5. These are a joint venture between Diners Club and MasterCard, and are processed like a MasterCard
        # will be removed in next major version

        diners_us: [
            {length: [16], prefixes: ['54', '55']}
        ],

        discover: [
            {length: [16], prefixes: ['6011', '644', '645', '646', '647', '648',
                                      '649', '65']}
        ],

        jcb: [
            {length: [16], prefixes: ['3528', '3529', '353', '354', '355', '356', '357', '358']}
        ],


        laser: [
            {length: [16, 17, 18, 19], prefixes: ['6304', '6706', '6771', '6709']}
        ],

        maestro: [
            {length: [12, 13, 14, 15, 16, 17, 18, 19], prefixes: ['5018', '5020', '5038', '6304', '6759', '6761', '6762', '6763', '6764', '6765', '6766']}
        ],

        solo: [
            {length: [16, 18, 19], prefixes: ['6334', '6767']}
        ],
        # Luhn validation are skipped for union pay cards because they have unknown generation algoritm
        unionpay: [
            {length: [16, 17, 18, 19], prefixes: ['622', '624', '625', '626', '628'], skip_validation: true}
        ],

        dankrot: [
            {length: [16], prefixes: ['5019']}
        ],
    }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
credit_card_validations-1.4.2 lib/credit_card_validations/card_rules.rb