银行卡二要素、三要素和四要素,并不是简单的低级、中级和高级。它们最大的不同在于参与核验的信息不同:二要素核对姓名与银行卡号,三要素增加身份证号码,四要素再增加手机号
如果有更多的字段要核对,那么就必须要有更多的信息要填。对正在开发实名认证、绑卡或结算功能的企业来说,最重要的不是直接从最多的界面中挑选,而是要了解业务需要验证哪些信息,已经掌握了哪些信息,哪些信息是用户必须提交的
为了满足银行卡信息验证的不同要求,探数 API的银行卡二要素、三要素和四要素接口,可以让公司按照自己的实际业务需求,来验证姓名、银行卡号、身份证号码和移动电话号码等信息。可以在实名认证,银行卡绑定,企业工资支付,电子商务结算等方面都有帮助

先来看最基本的字段区别
| 核验内容 | 银行卡二要素 | 银行卡三要素 | 银行卡四要素 |
|---|---|---|---|
银行卡号 bankcard |
✅ | ✅ | ✅ |
姓名 name |
✅ | ✅ | ✅ |
身份证号 idcard |
— | ✅ | ✅ |
手机号 mobile |
— | — | ✅ |
| 核验一致性结果 | ✅ | ✅ | ✅ |
| 返回银行卡相关信息 | ✅ | ✅ | ✅ |
三个接口都能返回核验结果,重要的其实是看哪一个接口比较适合自己,平台只需要核对收款姓名和银行卡号时,可以考虑二要素;如果还需要核对身份证信息,三要素更符合需求;四要素则适用于还需要手机号参与核验的业务
目前,对于银行卡的实名认证,还没有一个统一的解决方案。即使同样涉及资金结算,电商平台与企业发薪系统需要核对的信息,也未必相同
商家注册,达人佣金提现,供应商收款数据录入,这些都有可能涉及到银行账户信息的核查。假如目前的平台仅需要对名字和银行的卡号进行核对,银行卡二要素就可以作为候选方案;如果结算流程要求同时核验身份证号,则可以考虑三要素
这里的重点在于区别信用卡数据验证与实际支付过程的区别。要素验证为信息的一致性提供了一个统一的结果,具体的提现审批、收款账户的管理和资金的支付仍然是由平台的商业系统来完成的
在企业的工资制度中,员工的姓名、工作证件、工资卡等信息都要进行维护。如业务需要核实姓名、身份证号码和银行卡号码是否相符,则可通过三大要素验证来提供对应的验证结果
如果企业已经建立了完善的员工身份管理程序,那么在选择界面的时候,可以首先对目前的数据进行核对,从而防止在工资卡注册过程中,重复采集无用的信息
用户注册时所用的电话号码,并不代表身份验证过程中需要的号码。若商业使用信用卡四大要素验证,产品页面最好明确告知用户需要填写哪些资料,减少因为填写要求不清楚而产生的重复操作

选择好核验方式后,可以直接进入对应的探数 API 产品页面,查看接口文档并进行测试
| 接口名称 | 官网产品地址 |
|---|---|
| 银行卡二要素 | 查看接口详情 |
| 银行卡三要素 | 查看接口详情 |
| 银行卡四要素 | 查看接口详情 |
请求方式:“不限”
返回格式: JSON
请求参数如下:
| 参数 | 二要素 | 三要素 | 四要素 | 说明 |
|---|---|---|---|---|
key |
必填 | 必填 | 必填 | API 密钥,个人中心查看 |
name |
必填 | 必填 | 必填 | 姓名 |
bankcard |
必填 | 必填 | 必填 | 银行卡号 |
idcard |
— | 必填 | 必填 | 身份证号码 |
mobile |
— | — | 必填 | 手机号 |
三个接口的请求字段比较接近,开发时按照业务需要选择对应地址,并提交该接口要求的参数即可
JSON 返回示例
{
"code": 1,
"msg": "操作成功",
"data": {
"result": 1,
"msg": "不一致",
"desc": "无效卡号或卡状态异常,请换卡重试或联系发卡行",
"bank_info": {
"bin_digits": 6,
"city": "合肥",
"abbreviation": "BOCOM",
"type": "借记卡",
"bank": "交通银行",
"province": "安徽",
"card_digits": 19,
"weburl": "www.bankcomm.com",
"card_name": "交银IC卡",
"tel": "95559",
"isLuhn": false,
"card_bin": "622262"
}
}
}
他填写的是19个数字,他的身份证号码也是正确的,那么他的信息,应该是正确的吧?
不一定。常见的表单校验能够检查有没有漏填、格式对不对,却无法仅凭这些判断姓名、银行卡号和其他身份信息是否一致
这是一个很容易被忽视的问题。许多系统在填写信息的时候,首先要核对的是必须填写的项目,银行卡号是否满足规定的格式。当所有的检查都通过之后,“提交成功”的信息将出现在网页上。不过,提交成功,也就意味着系统收到了数据,而不是所有的数据都经过了验证
这正是银行卡要素认证能派上用场的地方。它不需要企业重新设计一整套资料审核流程,而是可以利用用户已经提交的信息,通过对应接口核对字段之间是否一致
特别是在面对海量银行卡数据的情况下,这种区别就更加明显。格式校验可以减少漏填和明显的输入错误,要素核验则可以进一步发现信息不一致的情况。这两种方法,都是为了解决问题,只有将两者结合在一起,才能更全面
如果公司在进行有关功能的研发,可以先对目前的系统进行检查:当用户提交了信用卡数据之后,系统到底是仅仅验证了数据的填写,还是已经核实了数据的真实性?
如果目前只有格式校验,那么增加银行卡要素核验,就是一个可以考虑的改进方向。探数 API 提供的银行卡二要素、三要素和四要素认证接口,分别支持不同的信息核验需求。前文已经整理了对应的请求参数和产品链接,可以进入官网查看详细文档,结合实际业务进行测试
毕竟,企业需要的不只是让用户把银行卡信息填进去,还要让这些信息在后续使用时有可靠的核验依据