草庐IT

阿里云增强版实人认证--银行卡要素核验

salestina 2023-09-01 原文

阿里云官网参考文档:银行卡要素核验 - 增强版实人认证 - 阿里云

准备工作:

一:登录阿里云控制台,选择实人认证

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

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

 

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

 查看AccessKey ID 和Secret  【代码中需要用到】

 二:执行命令下载php SDK

composer require alibabacloud/cloudauth-20200618 2.0.4

注意:如果项目中因缺少composer.lock文件或其他原因导致执行composer命令时会将项目中原本的composer引入的库文件更新。

解决办法是,在本地电脑上新建个文件夹,使用命令窗口执行上面的命令把SDK下载下来,然后在项目中新建个文件夹,名字可以取名为sdk,把下载的SDK资源包上传到该文件夹中,在项目中引入该资源包即可。

代码参考路径:阿里云 OpenAPI 开发者门户https://next.api.aliyun.com/api/Cloudauth/2020-06-18/VerifyBankElement?params={}&lang=PHP&tab=DEMO

注意要选对版本,跟上面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小时,测试的时候控制好请求次数。

有关阿里云增强版实人认证--银行卡要素核验的更多相关文章

  1. 阿里云国际版免费试用:如何注册以及注意事项 - 2

    作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。​关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐

  2. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  3. ruby - token 认证 - 2

    简单代码require'net/http'url=URI.parse('getjson/otherdatahere[link]')req=Net::HTTP::Get.new(url.to_s)res=Net::HTTP.start(url.host,url.port){|http|http.request(req)}putsres.body只是想知道如何在phpcURL中放置身份验证token,我是这样做的    curl_setopt($ch,CURLOPT_HTTPHEADER,array('Authorization:Bearerxxx'));//Bearertokenfora

  4. ruby - HTTParty 摘要认证 - 2

    谁能提供一个使用HTTParty和digestauth的例子?我在网上找不到例子,希望有人能提供一些帮助。谢谢。 最佳答案 您可以在定义类时使用digest_auth方法设置用户名和密码classFooincludeHTTPartydigest_auth'username','password'end 关于ruby-HTTParty摘要认证,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

  5. 阿里云,华为云,腾讯云三大公有云厂商,香港地区主机测评 - 2

    三大公有云厂商,香港地区主机测评一、ping时延比对(厦门电信本地测试):Ping时延测试腾讯云阿里云华为云延迟率最低时延44ms,最高72ms,平均46ms47.242段:最低时延59ms,最高204ms,平均107ms最低时延45ms,最高93ms,平均47ms丢包率丢包率小有的ip段丢包率较大每个段都会有概率丢包阿里云:47.242段:最低时延59ms,最高204ms,平均107ms,有的ip段丢包率较大8.210段:最低时延64ms,最高232ms,平均119ms,丢包率较好腾讯云:最低时延44ms,最高72ms,平均46ms,丢包率小华为云:最低时延45ms,最高93ms,平均47m

  6. 阿里云Web应用防火墙-WAF - 2

    WAF可以对网站进行扫描,识别API漏洞。API安全如何设置API安全_Web应用防火墙-阿里云帮助中心API安全如何划分API业务用途?登录认证手机验证码认证数据保存数据查询数据导出数据分享数据更新数据删除数据增加下线注销信息发送信息认证邮件信息发送邮箱验证码认证账号密码认证账号注册API安全支持检测哪些敏感数据?敏感数据级别敏感数据类型非敏感数据(N)不涉及。特级敏感数据(L0)与一级敏感数据(L1)或二级敏感数据(L2)相同。单次响应中一级敏感数据(L1)较多时,升级为特级敏感数据(L0)。单次响应中二级敏感数据(L2)较多时,升级为一级敏感数据(L1)或特级敏感数据(L0)。一级敏感数

  7. 华为认证的网络工程师证好考吗,含金量高吗 ? - 2

    华为认证分等级的,相当于初中高三个等级,当然高级是比较难考的,也是含金量最高的。我就慢慢给你介绍一下。1.了解华为认证华为认证网络工程师是由华为公司认证与采购部推出的独立认证体系,与之前的华为认证不同,简称HCIA。同时华为认证是华为技术有限公司凭借多年信息通信技术人才培养经验,以及对行业发展的理解,以层次化的职业技术认证为指引,推出的覆盖IP、IT、CT以及ICT融合技术领域的认证体系,是ICT全技术领域认证体系。​2.怎么考取华为认证网络工程师?要考取华为认证网络工程师必须选择最近的Prometric授权考试中心APTC报名并参加GB0-190的考试,考试通过后,以获得由华为统一签发的“华

  8. 阿里大文娱从做大到做强 - 2

    提起阿里巴巴,大部分人想到的是他的电商业务,其实在文娱产业,阿里巴巴的布局很早,阿里大文娱是阿里双H战略的一环,从2014年开始,通过重金收购,阿里巴巴在文学音乐游戏,影院视频体育等板块开始了布局,阿里大文娱初具规模,当时阿里巴巴的高层认为,如果不做娱乐,只能是一家电子商务公司,有了娱乐和电子商务平台,相辅相成,在扩大版图的同时,同时能增强阿里巴巴的影响力。众所周知,电子商务领域,阿里巴巴在初创期也曾遭遇挫折,但整体来说发展势头很猛,始终处于领头羊的地位,阿里大文娱的发展,虽然经历了起伏和波折,发展势头一直看好。对于企业怎样发展,一直存在着两个观点,是做大面面俱到做综合业务,还是专而精呢?阿里

  9. 2023年6月DAMA-CDGP数据治理专家认证请尽快报名啦! - 2

    目前6月DAMA-CDGP数据治理认证考试开放报名地区有:北京、上海、广州、深圳、长沙、呼和浩特。目前南京、济南、西安、杭州等地区还在接近开考人数中,打算参加6月考试的朋友们可以抓紧时间报名啦!!!5月初,DAMA-CDGA/CDGP数据治理认证考前班也即将开班啦!报名从速!!!DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业竞争能力。DAMA是数据管理方面的认证,帮助数据从业者提升数据管理能力。CDGP数据治理专家认证属于

  10. BigData/Cloud Computing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程 - 2

    BigData/CloudComputing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程目录一、云计算网站建设:部署与发布网站建设:简单动态网站搭建云服务器管理维护云数据库管理与数据迁移云存储:对象存储管理与安全超大流量网站的负载均衡二、大数据MOOC网站日志分析搭建企业级数据分析平台基于LBS的热点店铺搜索基于机器学习PAI实现精细化营销基于机器学习的客户流失预警分析使用DataV制作实时销售数据可视化大屏使用MaxCompute进行数据质量核查使用Quick BI制作图形化报表使用时间序列分解模型预测商品销量三、云安全云平台使用安全云上服务

随机推荐