本文介绍了卡证核身方案纯服务端集成的PHP SDK调用示例。
前提条件
需要使用的PHP版本在5.6版本及以上。
已添加认证场景,并获取对应的场景ID。具体操作,请参见添加认证场景。
安装SDK
关于PHP SDK源代码,请参见PHP SDK包。
通过Composer来管理项目依赖(推荐)
composer require alibabacloud/cloudauth-20200618 1.0.3
使用composer.json文件
{ "require": { "alibabacloud/cloudauth-20200618": "1.0.3" } }
如果因网络问题导致无法按照上述操作安装SDK,您可以使用阿里云Composer全量镜像。
示例
方式一:不使用本地证件示例
<?php require __DIR__ . '/vendor/autoload.php'; use AlibabaCloud\Credentials\Credential; use AlibabaCloud\SDK\Cloudauth\V20200618\Cloudauth; use AlibabaCloud\SDK\Cloudauth\V20200618\Models\ElementSmartVerifyRequest; use AlibabaCloud\Tea\Rpc\Rpc\Config; use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions; // 通过以下代码创建Config实例并初始化。 // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 // 本示例通过阿里云Credentials工具从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见 https://help.aliyun.com/document_detail/311677.html。 $credential = new Credential([]); $config = new Config(); $config->credential = $credential; $config->regionId = "cn-hangzhou"; // 设置您的endpoint,endpoint为固定值。 $config->endpoint = "cloudauth.aliyuncs.com"; // 设置http代理。 //$config->httpProxy = "http://xxx.xxx.xxx.xxx:9999"; // 设置https代理。 //$config->httpsProxy = "https://username:password@xxx.xxx.xxx.xxx:9999"; $client = new Cloudauth($config); // 通过以下代码创建RuntimeObject实例并设置运行参数。 $runtime = new RuntimeOptions(); // 设置连接超时时间(单位ms)。 $runtime->connectTimeout = 10000; // 设置调用超时时间(单位ms)。 $runtime->readTimeout = 10000; // 通过以下代码创建API请求并设置参数。 $request = new ElementSmartVerifyRequest(); $request->sceneId=2000xxxx; //设置商户请求的唯一标识。 $request->outerOrderNo='xxx'; // 模式。 $request->mode='OCR_VERIFY_ID_NAME'; $request->certType='IDENTITY_CARD'; // $request->certName='张三'; // $request->certNo='18位身份证号'; // $request->certNationalEmblemUrl='https://www.aliyun.com/test.jpeg'; $request->certUrl='https://www.aliyun.com/test.jpeg'; // 通过以下代码发起请求并处理应答和异常。 try { $response = $client->elementSmartVerify($request, $runtime); var_dump($response->requestId); var_dump($response->code); var_dump($response->message); var_dump($response->resultObject->passed); var_dump($response->resultObject->certifyId); var_dump($response->resultObject->subCode); var_dump($response->resultObject->materialInfo); } catch (TeaUnableRetryError $e) { var_dump($e->getMessage()); var_dump($e->getErrorInfo()); var_dump($e->getLastException()); var_dump($e->getLastRequest()); } catch (Exception $e) { var_dump($e->getMessage()); var_dump($e->getCode()); }
方式二:使用本地证件示例
<?php require __DIR__ . '/vendor/autoload.php'; use AlibabaCloud\Credentials\Credential; use AlibabaCloud\SDK\Cloudauth\V20200618\Cloudauth; use AlibabaCloud\SDK\Cloudauth\V20200618\Models\ElementSmartVerifyAdvanceRequest; use AlibabaCloud\Tea\Rpc\Rpc\Config; use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions; use GuzzleHttp\Psr7\Stream; // 通过以下代码创建Config实例并初始化。 // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 // 本示例通过阿里云Credentials工具从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见 https://help.aliyun.com/document_detail/311677.html。 $credential = new Credential([]); $config = new Config(); $config->credential = $credential; // 设置您的regionId,regionId为固定值。 $config->regionId = "cn-hangzhou"; // 设置您的endpoint,endpoint为固定值。 $config->endpoint = "cloudauth.aliyuncs.com"; // 设置http代理。 //$config->httpProxy = "http://xxx.xxx.xxx.xxx:9999"; // 设置https代理。 //$config->httpsProxy = "https://username:password@xxx.xxx.xxx.xxx:9999"; $client = new Cloudauth($config); // 通过以下代码创建RuntimeObject实例并设置运行参数。 $runtime = new RuntimeOptions(); // 设置连接超时时间(单位ms)。 $runtime->connectTimeout = 10000; // 设置调用超时时间(单位ms)。 $runtime->readTimeout = 10000; // 通过以下代码创建API请求并设置参数。 $request = new ElementSmartVerifyAdvanceRequest(); $request->sceneId=2000xxx; //设置商户请求的唯一标识。 $request->outerOrderNo='xxx'; // 模式。 $request->mode='OCR_VERIFY_ID_NAME'; $request->certType='IDENTITY_CARD'; // $request->certName='张三'; // $request->certNo='18位身份证号'; // $request->certNationalEmblemUrl='https://www.aliyun.com/test.jpeg'; $file = fopen('xxx', 'r'); //设置本地文件路径。 $request->certFileObject = new Stream($file); // 通过以下代码发起请求并处理应答。 try { $response = $client->elementSmartVerifyAdvance($request, $runtime); var_dump($response->requestId); var_dump($response->code); var_dump($response->message); var_dump($response->resultObject->passed); var_dump($response->resultObject->certifyId); var_dump($response->resultObject->subCode); var_dump($response->resultObject->materialInfo); } catch (TeaUnableRetryError $e) { var_dump($e->getMessage()); var_dump($e->getErrorInfo()); var_dump($e->getLastException()); var_dump($e->getLastRequest()); } catch (Exception $e) { var_dump($e->getMessage()); var_dump($e->getCode()); } // 通过以下代码关闭资源。 fclose($file);
文档内容是否对您有帮助?