雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

身份实名认证接口【阿里云云市场】

2024-09-28 17

1. 前言


阿里云云市场实名认证接口

最近在做一个手机 APP 项目,需要用到实名认证接口,这是公司在阿里云云市场找的一个接口

2. 代码示例


将下面函数中的 appcode 修改为云市场的真实 appcode 即可使用

/*** 阿里云实名认证 API* @param  $realName 姓名* @param  $cardNo   身份证号* @return boolean   true|false 认证成功|认证失败*/function identityAuth($realName, $cardNo){    $host    = "https://zid.market.alicloudapi.com";    $path    = "/idcheck/Post";    $method  = "POST";    $appcode = '';    if (empty($appcode)) {        throw new \Exception("未配置 App Code");    }    $headers = [        "Authorization:APPCODE {$appcode}",        "Content-Type:application/x-www-form-urlencoded; charset=UTF-8",    ];    $bodys = "cardNo={$cardNo}&realName={$realName}";    $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);    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);    $result = curl_exec($curl);    if (empty($result)) {        throw new \Exception("实名认证接口异常");    }    $array = json_decode($result, true);    if ($array['error_code'] == 0 && $array['result']['isok'] === true) {        return true; // 认证成功    } else {        return false; // 认证失败    }}

调用示例

// 调用 API 进行实名认证if (!identityAuth($name, $idcard)) {    throw new \Exception("认证失败,请检查填写的信息");}

3. 返回值示例


本文介绍的 API 返回值示例,也就是 identityAuth() 函数中的 $result 的值

特别注意: error_code 只表示 API 请求成功,实名认证结果必须使用 result.isok 判断

认证成功时的返回值: 当姓名和身份证号码匹配时, 认证成功,isok 的值为 true

{    "error_code":0,    "reason":"成功",    "result":{        "realname":"梁**",        "idcard":"410225************",        "isok":true,        "IdCardInfor":{            "province":"河南省",            "city":"开封市",            "district":"兰考县",            "area":"河南省开封市兰考县",            "sex":"男",            "birthday":"1999-10-16"        }    },    "sn":"0809093446637651130008663231"}

认证失败时的返回值: 当姓名和身份证号码错误或不匹配时, 返回值如下所示,isok 的值为 false

{    "error_code":0,    "reason":"成功",    "result":{        "realname":"张*",        "idcard":"410225************",        "isok":false,        "IdCardInfor":null    },    "sn":"080909320535865586360802173"}
更新于:20天前
赞一波!

文章评论

评论问答