一、什么是银行卡三要素验证?
银行卡三要素验证又叫银行卡三要素核验、银行卡三要素校验、银行卡实名认证、银行卡三元素验证,即输入银行卡卡号、姓名、身份证号码,验证此三要素是否一致,该接口支持所有带银联标识的银行卡。
二、银行卡三要素验证适用哪些场景?
例如:实名认证场景:
1.一些需要进行资金往来的网络服务平台,如证券交易平台、理财平台等,在用户注册和绑卡环节,通过验证银行卡三要素来确认用户的真实身份,满足金融监管的要求。
2.企业在给员工发放工资或者福利时,通过核验银行卡三要素确保资金准确发放到员工对应的银行卡账户。
三、如何用PHP实现接口调用?
下面我们以阿里云接口为例,通过PHP实现接口调用:
<?php
$host = "https://kzbank3v1.market.alicloudapi.com";
$path = "/api-mall/api/bankcard3/check";
$method = "POST";
$appcode = "你自己的AppCode";
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
//根据API的要求,定义相对应的Content-Type
array_push($headers, "Content-Type".":"."application/x-www-form-urlencoded; charset=UTF-8");
$querys = "";
$bodys = "bankcard=%E9%93%B6%E8%A1%8C%E5%8D%A1%E5%8F%B7&idcard=%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8F%B7%E7%A0%81&name=%E5%A7%93%E5%90%8D";
$url = $host . $path;
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
if (1 == strpos("$".$host, "https://"))
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
var_dump(curl_exec($curl));
?>
正确返回示例如下:
{
"msg": "成功",
"success": true,
"code": 200,
"data": {
"msg": "一致",
"result": 0, // 0一致,1不一致,2查无
"orderNo": "202406282009008501069",
"desc": "认证信息匹配"
}
}