Pau*_*wat 4 c# regex asp.net credit-card
我们目前使用Reg Ex检查信用卡号,以使用维基百科的范围查找卡类型,但这不是最新的.
这篇SO文章与要求类似,并提供了与Barclaycard资源的良好链接,但是这需要手动检查以进入Reg Ex或其他系统.
是否有人使用或知道维护/更新的Regex或csv,当对这些范围进行更改时可以轻松导入,例如,当新的万事达卡借记卡推出时.
更新
我们现在从Verifone获取一个IIN xml文件来处理我们的卡片.自上而下读取文件,直到找到与卡号的前6位匹配的第一个范围.
如果你需要的只是卡片类型,那么算法方法可能是最好的(例如"4"前缀是Visa,"5"是万事达卡等).但是,如果您需要签发国家/地区,机构等,则必须访问定期更新的BIN列表.
如果您与银行有商业关系,您应该能够从他们那里获得一个,可能是根据一些不披露安排.没有关系,大多数银行可能只会说"不".访问BIN列表不是一个很大的安全风险,但银行确实喜欢他们的秘密:-)我知道RBS有一个可供选择的客户.
在我以前合作过的公司,我们计划每月从他们银行的密码保护网站下载,然后将其导入我们的风险管理数据库.风险管理团队仍然需要针对未列出的BIN范围的手动流程,因为在激活范围与银行数据更新之间存在延迟.
根据您的要求,您可能需要处理子BIN范围(9或10位前缀),因为主要银行可能会将部分范围分配给次要参与者或品牌服务.在区分借记卡和信用卡时,这一点尤为重要(信用卡的风险等级通常较高).
有些银行在这些列表上没有很好的数据验证(我看到的只是一个非常长的Excel电子表格) - 很可能遇到重复,拆分和合并的范围,所以你需要一个基于范围的合并算法 - 一个有点棘手,以获得所有边缘条件.
BIN列表的一个不错的版本将包括前缀范围,卡类型(具有单独的信用和借记类型),国家,卡号长度和机构名称.您可能必须以编程方式管理导入器逻辑中的"上次修改"字段.
如果您需要进行风险评估,您可能还需要查看MaxMind的在线MinFraud订阅服务(我建议使用Premium版本的额外结果).它提供了一个很好的风险评分,每个查询约0.01美元.