UNPKG

credit-card-type

Version:

A library for determining credit card type

197 lines (194 loc) 3.88 kB
import type { BuiltInCreditCardType, CardCollection } from "../types"; const cardTypes: CardCollection = { visa: { niceType: "Visa", type: "visa", patterns: [4], gaps: [4, 8, 12], lengths: [16, 18, 19], code: { name: "CVV", size: 3, }, } as BuiltInCreditCardType, mastercard: { niceType: "Mastercard", type: "mastercard", patterns: [[51, 55], [2221, 2229], [223, 229], [23, 26], [270, 271], 2720], gaps: [4, 8, 12], lengths: [16], code: { name: "CVC", size: 3, }, } as BuiltInCreditCardType, "american-express": { niceType: "American Express", type: "american-express", patterns: [34, 37], gaps: [4, 10], lengths: [15], code: { name: "CID", size: 4, }, } as BuiltInCreditCardType, "diners-club": { niceType: "Diners Club", type: "diners-club", patterns: [[300, 305], 36, 38, 39], gaps: [4, 10], lengths: [14, 16, 19], code: { name: "CVV", size: 3, }, } as BuiltInCreditCardType, discover: { niceType: "Discover", type: "discover", patterns: [6011, [644, 649], 65], gaps: [4, 8, 12], lengths: [16, 19], code: { name: "CID", size: 3, }, } as BuiltInCreditCardType, jcb: { niceType: "JCB", type: "jcb", patterns: [2131, 1800, [3528, 3589]], gaps: [4, 8, 12], lengths: [16, 17, 18, 19], code: { name: "CVV", size: 3, }, } as BuiltInCreditCardType, unionpay: { niceType: "UnionPay", type: "unionpay", patterns: [ 620, [62100, 62182], [62184, 62187], [62185, 62197], [62200, 62205], [622010, 622999], 622018, [62207, 62209], [623, 626], 6270, 6272, 6276, [627700, 627779], [627781, 627799], [6282, 6289], 6291, 6292, 810, [8110, 8131], [8132, 8151], [8152, 8163], [8164, 8171], ], gaps: [4, 8, 12], lengths: [14, 15, 16, 17, 18, 19], code: { name: "CVN", size: 3, }, } as BuiltInCreditCardType, maestro: { niceType: "Maestro", type: "maestro", patterns: [ 493698, [500000, 504174], [504176, 506698], [506779, 508999], [56, 59], 63, 67, 6, ], gaps: [4, 8, 12], lengths: [12, 13, 14, 15, 16, 17, 18, 19], code: { name: "CVC", size: 3, }, } as BuiltInCreditCardType, elo: { niceType: "Elo", type: "elo", patterns: [ 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], ], gaps: [4, 8, 12], lengths: [16], code: { name: "CVE", size: 3, }, } as BuiltInCreditCardType, mir: { niceType: "Mir", type: "mir", patterns: [[2200, 2204]], gaps: [4, 8, 12], lengths: [16, 17, 18, 19], code: { name: "CVP2", size: 3, }, } as BuiltInCreditCardType, hiper: { niceType: "Hiper", type: "hiper", patterns: [637095, 63737423, 63743358, 637568, 637599, 637609, 637612], gaps: [4, 8, 12], lengths: [16], code: { name: "CVC", size: 3, }, } as BuiltInCreditCardType, hipercard: { niceType: "Hipercard", type: "hipercard", patterns: [606282], gaps: [4, 8, 12], lengths: [16], code: { name: "CVC", size: 3, }, } as BuiltInCreditCardType, }; export = cardTypes;