当前位置:网站首页>阿里云增强版实人认证--银行卡要素核验
阿里云增强版实人认证--银行卡要素核验
2022-08-02 23:57:00 【salestina】
阿里云官网参考文档:银行卡要素核验 - 增强版实人认证 - 阿里云
准备工作:
一:登录阿里云控制台,选择实人认证

左上角功能切换为 增强版实人认证

接入场景设置--》卡证核身--》认证场景ID 【代码中需要用到】

二:点击头像下拉框里的AccessKey管理

查看AccessKey ID 和Secret 【代码中需要用到】
二:执行命令下载php SDK
composer require alibabacloud/cloudauth-20200618 2.0.4注意:如果项目中因缺少composer.lock文件或其他原因导致执行composer命令时会将项目中原本的composer引入的库文件更新。
解决办法是,在本地电脑上新建个文件夹,使用命令窗口执行上面的命令把SDK下载下来,然后在项目中新建个文件夹,名字可以取名为sdk,把下载的SDK资源包上传到该文件夹中,在项目中引入该资源包即可。
注意要选对版本,跟上面composer下载的资源包的版本要一致。

下面是我整理的代码,sdk的下载方法使用的是上面先下载到本地再放入项目中的。
//验证姓名、身份证号、银行卡号、手机号是否匹配
function checkBankNoByAli($data){
$rs=array('code'=>0,'msg'=>'','info'=>array());
$ali_realauth_sceneid=''; //认证场景ID
$ali_accesskeyid=''; //accesskeyid
$ali_accesskeysecret=''; //secret
if(!$ali_realauth_sceneid){
$rs['code']=1001;
$rs['msg']='认证场景ID错误';
return $rs;
}
if(!$ali_accesskeyid){
$rs['code']=1001;
$rs['msg']='accesskeyid错误';
return $rs;
}
if(!$ali_accesskeyid){
$rs['code']=1001;
$rs['msg']='accesskeysecret错误';
return $rs;
}
require_once '/sdk/alicloudauth/autoload.php'; //路径需替换为自己项目中的实际路径
$client = createClient($ali_accesskeyid, $ali_accesskeysecret);
$result=json_decode($result,true);
$verifyBankElementRequest = new AlibabaCloud\SDK\Cloudauth\V20200618\Models\VerifyBankElementRequest([
"sceneId" => $ali_realauth_sceneid,
"outerOrderNo" => random(32),
"mode" => "VERIFY_BANK_CARD",
"bankCardNo" => $data['bankno'],
"idNo" => $data['cardno'],
"idName" => $data['realname'],
"mobile" => $data['mobile']
]);
$runtime = new AlibabaCloud\Tea\Utils\Utils\RuntimeOptions([]);
try {
$result = $client->verifyBankElementWithOptions($verifyBankElementRequest, $runtime);
$result=json_encode($result);
$result=json_decode($result,true);
$code=$result['body']['code'];
//$message=$result['body']['message'];
if($code !=200){
$rs['code']=1003;
$rs['msg']='验证失败';
return $rs;
}
$resultObject=$result['body']['resultObject'];
if(isset($resultObject['passed'])){
$return_status=$resultObject['passed'];
if($return_status !='T'){
$rs['code']=1004;
$rs['msg']='验证失败';
return $rs;
}
}
$return_code=$resultObject['subCode'];
if($return_code !=200){
$rs['code']=1005;
$rs['msg']='验证失败';
return $rs;
}
}
catch (Exception $error) {
if (!($error instanceof AlibabaCloud\Tea\Exception\TeaError)) {
$error = new AlibabaCloud\Tea\Exception\TeaError([], $error->getMessage(), $error->getCode(), $error);
}
// 如有需要,请打印 error
// Utils::assertAsString($error->message);
$rs['code']=1006;
$rs['msg']=$error->message;
return $rs;
}
}
//阿里云证件号配置生成
function createClient($accessKeyId, $accessKeySecret){
$config = new Darabonba\OpenApi\Models\Config([
// 您的 AccessKey ID
"accessKeyId" => $accessKeyId,
// 您的 AccessKey Secret
"accessKeySecret" => $accessKeySecret
]);
// 访问的域名
$config->endpoint = "cloudauth.aliyuncs.com";
return new AlibabaCloud\SDK\Cloudauth\V20200618\Cloudauth($config);
}
//生成随机数
function random($length = 6 , $numeric = 0) {
PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000);
if($numeric) {
$hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));
} else {
$hash = '';
$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz';
$max = strlen($chars) - 1;
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
}
return $hash;
}
//调用方法
public function test(){
$check_data=array(
'bankno' =>'', //银行卡号
'realname' =>'', //姓名
'cardno' =>'', //身份证号
'mobile' =>'' //手机号
);
$result=checkBankNoByAli($check_data);
if($result['code']!=0){
return $result;
}else{
return array(
'code'=>0,
'msg'=>'验证成功',
'info'=>array()
);
}
}注意一点:24小时内重复查询相同信息超过10次,会被锁定12小时,测试的时候控制好请求次数。
边栏推荐
猜你喜欢
随机推荐
绿色版-SQL环境搭建
可编程逻辑控制器(PLC) : 基础、类型和应用
Introduction to resubmit Progressive Anti-Duplicate Submission Framework
用了TCP协议,就一定不会丢包吗?
NLP常用Backbone模型小抄(1)
十年架构五年生活-05第一次出差
Nacos配置中心之事件订阅
【Leetcode】305.岛屿数量II(困难)
[NCTF2019]SQLi-1||SQL注入
FreeRTOS任务管理
js基础知识整理之 —— 判断语句和三元运算符
DownMusic总结记录
【多线程】线程与进程、以及线程进程的调度
Understand the next hop address in the network topology in seconds
记一次sql优化Using temporary; Using filesort
机器学习-特征映射方法
DB2数据库-获取表结构异常:[jcc][t4][1065][12306][4.26.14]CharConvertionException ERRORCODE=-4220,SQLSTATE=null
最近公共祖先(LCA)学习笔记 | P3379 【模板】最近公共祖先(LCA)题解
【软考 系统架构设计师】软件架构设计① 软件架构的概念
2022山东国际青少年眼睛健康产业展会,视力健康展,眼视光展
https://next.api.aliyun.com/api/Cloudauth/2020-06-18/VerifyBankElement?params={}&lang=PHP&tab=DEMO








