检测v-pay和bancontanct的信用类型

问题描述 投票:0回答:1

我正在研究卡式探测器。我找不到签证和MC的一些子产品的编号范围,如V-PAY和MC / BC(bancontact)。我有这些卡类型的正则表达式

function detectCardType(number) {
var re = {
    electron: /^(4026|417500|4405|4508|4844|4913|4917)\d+$/,
    maestro: /^(5018|5020|5038|5612|5893|6304|6759|6761|6762|6763|0604|6390)\d+$/,
    dankort: /^(5019)\d+$/,
    interpayment: /^(636)\d+$/,
    unionpay: /^(62|88)\d+$/,
    visa: /^4[0-9]{12}(?:[0-9]{3})?$/,
    mastercard: /^5[1-5][0-9]{14}$/,
    amex: /^3[47][0-9]{13}$/,
    diners: /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,
    discover: /^6(?:011|5[0-9]{2})[0-9]{12}$/,
    jcb: /^(?:2131|1800|35\d{3})\d{11}$/
}

for(var key in re) {
    if(re[key].test(number)) {
        return key
    }
}

}

现在我需要为V-PAY和MC / BC添加regexp。谢谢

php credit-card
1个回答
0
投票

1)V-PAY识别是EMV / NFC卡应用级别,即使用的卡AID。

2)使用这些regexp识别卡类型只能为您提供高级解决方案而不会达到100%的准确性。 BIN的联名卡和交叉点不能以这种方式涵盖。

3)根据Visa终端集成指南Req 4.17,只要您的终端(或任何解决方案)接受其他卡品牌而不仅仅是Visa - V-PAY卡必须作为Visa Electron处理。

如果您无法查找使用过的卡AID,请将V-PAY和Visa Electron一起检测为Electron。

© www.soinside.com 2019 - 2024. All rights reserved.