本文介绍eKYC_NDI方案Web接入服务端SDK调用示例。
SDK安装与源码下载
您可根据业务实际的技术选型,选择合适的SDK语言进行集成。
支持语言 | 环境要求 | SDK安装 | Github源码地址 |
Java | JDK 1.8及以上版本 | ||
Python | Python 3.0及以上版本 | ||
Typescript | Node.js 8.0及以上版本 | ||
Go | Go 1.12.0及以上版本 | ||
PHP | PHP 5.6及以上版本 | ||
C# | .NET Framework 4.5.0及以上版本或.NET Core 2.0及以上版本 | ||
C++ |
|
SDK调用示例
以下为您介绍不同语言SDK的调用示例。
Java
本示例SDK依赖如下,建议实际配置时获取最新依赖。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>cloudauth_intl20220809</artifactId>
<version>3.17.1</version>
</dependency>Initialize接口调用示例
import com.aliyun.cloudauth_intl20220809.Client;
import com.aliyun.cloudauth_intl20220809.models.InitializeRequest;
import com.aliyun.cloudauth_intl20220809.models.InitializeResponse;
import com.aliyun.teaopenapi.models.Config;
public class InitializeDemo {
public static void main(String[] args) throws Exception {
// Build client
Config config = new Config();
config.setAccessKeyId("your access key id");
config.setAccessKeySecret("your access key secret");
config.setEndpoint("cloudauth-intl.cn-hongkong.aliyuncs.com");
config.setRegionId("cn-hongkong");
Client client = new Client(config);
// Build request
InitializeRequest request = new InitializeRequest();
request.setProductCode("eKYC_PRO");
request.setMerchantBizId("***");
request.setMerchantUserId("***");
request.setMetaInfo("***");
request.setDocType("01000000");
request.setAuthorize("T");
// Invoke API
InitializeResponse response = client.initialize(request);
// Get result from response
Integer statusCode = response.getStatusCode();
String code = response.getBody().getCode();
String transactionId = response.getBody().getResult().getTransactionId();
System.out.println("statusCode:"+statusCode+"=== code:"+code +"==== transactionId:"+transactionId);
}
}
CheckResult接口调用示例
import com.aliyun.cloudauth_intl20220809.Client;
import com.aliyun.cloudauth_intl20220809.models.CheckResultRequest;
import com.aliyun.cloudauth_intl20220809.models.CheckResultResponse;
import com.aliyun.teaopenapi.models.Config;
public class CheckResultDemo {
public static void main(String[] args) throws Exception {
// Build client
Config config = new Config();
config.setAccessKeyId("your access key id");
config.setAccessKeySecret("your access key secret");
config.setEndpoint("cloudauth-intl.cn-hongkong.aliyuncs.com");
config.setRegionId("cn-hongkong");
Client client = new Client(config);
// Build request
CheckResultRequest request = new CheckResultRequest();
request.setMerchantBizId("****");
request.setTransactionId("****");
request.setIsReturnImage("****");
// Invoke API
CheckResultResponse response = client.checkResult(request);
// Get result from response
Integer statusCode = response.getStatusCode();
String code = response.getBody().getCode();
String passed = response.getBody().getResult().getPassed();
String subCode = response.getBody().getResult().getSubCode();
String extFaceInfo = response.getBody().getResult().getExtFaceInfo();
String extIdInfo = response.getBody().getResult().getExtIdInfo();
}
}PHP
本示例SDK依赖如下,建议实际配置时获取最新依赖。
通过Composer来管理项目依赖(推荐)
composer require alibabacloud/cloudauth-intl-20220809 3.17.1使用composer.json文件
{ "require": { "alibabacloud/cloudauth-intl-20220809": "2.0.2" } }
Initialize接口调用示例
<?php
namespace AlibabaCloud\SDK\Sample;
use AlibabaCloud\SDK\Cloudauthintl\V20220809\Models\InitializeRequest;
use AlibabaCloud\SDK\Cloudauthintl\V20220809\Cloudauthintl;
use Darabonba\OpenApi\Models\Config;
class Initialize {
public static function main(){
// Build client
$config = new Config([
"accessKeyId" => "your accessKeyId",
"accessKeySecret" => "your accessKeySecret",
"endpoint" => "cloudauth-intl.cn-hongkong.aliyuncs.com"
]);
$client = new Cloudauthintl($config);
// Build request
$request = new InitializeRequest([
"productCode"=>"eKYC",
"docType"=>"****",
"merchantBizId"=>"****",
"merchantUserId"=>"****",
"authorize"=>"T",
"metaInfo"=>"{\"apdi****.0.0\"}"
]);
// Invoke API
$response = $client->initialize($request);
// Get result
var_dump($response->statusCode);
var_dump($response->body->requestId);
var_dump($response->body->result->transactionId);
}
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
require_once $path;
}
Initialize::main();CheckResult接口调用示例
<?php
namespace AlibabaCloud\SDK\Sample;
use AlibabaCloud\SDK\Cloudauthintl\V20220809\Models\CheckResultRequest;
use AlibabaCloud\SDK\Cloudauthintl\V20220809\Cloudauthintl;
use Darabonba\OpenApi\Models\Config;
class CheckResult {
public static function main(){
// Build client
$config = new Config([
"accessKeyId" => "your accessKeyId",
"accessKeySecret" => "your accessKeySecret",
"endpoint" => "cloudauth-intl.cn-hongkong.aliyuncs.com"
]);
$client = new Cloudauthintl($config);
// Build request
$request = new CheckResultRequest([
"merchantBizId"=>"***",
"transactionId"=>"G00000****05816"
]);
// Invoke API
$response = $client->checkResult($request);
// Get result
var_dump($response->statusCode);
var_dump($response->body->requestId);
var_dump($response->body->result->passed);
var_dump($response->body->result->subCode);
var_dump($response->body->result->extFaceInfo);
var_dump($response->body->result->extIdInfo);
}
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
require_once $path;
}
CheckResult::main();Python
引入依赖包
pip install alibabacloud_tea_openapi==0.2.5安装SDK。实际配置建议获取最新依赖。
pip install alibabacloud_cloudauth_intl20220809==3.17.1
Initialize接口调用示例
from alibabacloud_cloudauth_intl20220809.client import Client as CloudauthClient
from alibabacloud_cloudauth_intl20220809 import models as cloudauth_models
from alibabacloud_tea_openapi import models as open_api_models
class Initialize:
def __init__(self):
pass
@staticmethod
def main() -> None:
# Build client
config = open_api_models.Config(
access_key_id='your access_key_id',
access_key_secret='your access_key_secret',
endpoint="cloudauth-intl.cn-hongkong.aliyuncs.com"
)
client = CloudauthClient(config)
# Build request
request = cloudauth_models.InitializeRequest(
merchant_biz_id="***",
merchant_user_id="***",
meta_info="{\"apdid****mVer\":\"1.0.0\"}",
authorize="T",
product_code="eKYC",
doc_type="00000001"
)
# Invoke API
response = client.initialize(request)
# Get result
print(response.status_code)
print(response.body.request_id)
print(response.body.result.transaction_id)
if __name__ == '__main__':
Initialize.main()CheckResult接口调用示例
from alibabacloud_cloudauth_intl20220809.client import Client as CloudauthClient
from alibabacloud_cloudauth_intl20220809 import models as cloudauth_models
from alibabacloud_tea_openapi import models as open_api_models
class CheckResult:
def __init__(self):
pass
@staticmethod
def main() -> None:
# Build client
config = open_api_models.Config(
access_key_id='your access_key_id',
access_key_secret='your access_key_secret',
endpoint="cloudauth-intl.cn-hongkong.aliyuncs.com"
)
client = CloudauthClient(config)
# Build request
request = cloudauth_models.CheckResultRequest(
transaction_id="****",
merchant_biz_id="****"
)
# Invoke API
response = client.check_result(request)
# Get result
print(response.status_code)
print(response.body.request_id)
print(response.body.result.passed)
print(response.body.result.sub_code)
print(response.body.result.ext_face_info)
print(response.body.result.ext_id_info)
if __name__ == '__main__':
CheckResult.main()Go
引入依赖包
go get github.com/alibabacloud-go/darabonba-openapi/v2/client go get github.com/alibabacloud-go/tea安装SDK。实际配置建议获取最新依赖。
go get github.com/alibabacloud-go/cloudauth-intl-20220809/v3
Initialize接口调用示例
package main
import (
"fmt"
openapi "github.com/alibabacloud-go/darabonba-openapi/client"
cloudauth "github.com/alibabacloud-go/cloudauth-intl-20220809/client"
"github.com/alibabacloud-go/tea/tea"
)
func main() {
config := &openapi.Config{
AccessKeyId: tea.String("your AccessKeyId"),
AccessKeySecret: tea.String("your AccessKeySecret"),
Endpoint: tea.String("cloudauth-intl.cn-hongkong.aliyuncs.com"),
}
client, _ := cloudauth.NewClient(config)
request := &cloudauth.InitializeRequest{
ProductCode: tea.String("eKYC"),
Authorize: tea.String("T"),
MetaInfo : tea.String("{\"apdidT****.0.0\"}"),
MerchantBizId : tea.String("****"),
MerchantUserId : tea.String("****"),
}
response, err := client.Initialize(request)
if err != nil{
fmt.Println(err)
return
}
fmt.Println(*response.Body.RequestId)
fmt.Println(*response.Body.Result.TransactionId)
}CheckResult接口调用示例
package main
import (
"fmt"
openapi "github.com/alibabacloud-go/darabonba-openapi/client"
cloudauth "github.com/alibabacloud-go/cloudauth-intl-20220809/client"
"github.com/alibabacloud-go/tea/tea"
)
func main() {
config := &openapi.Config{
AccessKeyId: tea.String("your AccessKeyId"),
AccessKeySecret: tea.String("your AccessKeySecret"),
Endpoint: tea.String("cloudauth-intl.cn-hongkong.aliyuncs.com"),
}
client, _ := cloudauth.NewClient(config)
request := &cloudauth.CheckResultRequest{
MerchantBizId : tea.String("****"),
TransactionId : tea.String("G00****00911"),
}
response, err := client.CheckResult(request)
if err != nil{
fmt.Println(err)
return
}
fmt.Println(*response.Body.RequestId)
fmt.Println(*response.Body.Result.Passed)
fmt.Println(*response.Body.Result.SubCode)
fmt.Println(*response.Body.Result.ExtFaceInfo)
fmt.Println(*response.Body.Result.ExtIdInfo)
}.NET
本示例SDK依赖如下,建议实际配置时获取最新依赖。
通过.NET命令行安装
dotnet add package AlibabaCloud.SDK.Cloudauth-intl20220809 --version 3.14.1使用包管理安装
Install-Package AlibabaCloud.SDK.Cloudauth-intl20220809 -Version 3.14.1
Initialize接口调用示例
using AlibabaCloud.SDK.Cloudauth_intl20220809.Models;
namespace Demo
{
public class InitializeDemo
{
public static void Main(string[] args) {
// Build client
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config()
{
AccessKeyId = "your access key id",
AccessKeySecret = "your access key secret",
Endpoint = "cloudauth-intl.cn-hongkong.aliyuncs.com",
};
AlibabaCloud.SDK.Cloudauth_intl20220809.Client client = new AlibabaCloud.SDK.Cloudauth_intl20220809.Client(config);
// Build request
AlibabaCloud.SDK.Cloudauth_intl20220809.Models.InitializeRequest request = new AlibabaCloud.SDK.Cloudauth_intl20220809.Models.InitializeRequest
{
ProductCode = "eKYC",
Authorize = "T",
MerchantBizId = "****",
MerchantUserId = "****"
MetaInfo = "****",
};
// Invoke API
InitializeResponse response = client.Initialize(request);
// Get result
Console.WriteLine(response.StatusCode);
Console.WriteLine(response.Body.RequestId);
Console.WriteLine(response.Body.Code);
Console.WriteLine(response.Body.Message);
Console.WriteLine(response.Body.Result.TransactionId);
}
}
}CheckResult接口调用示例
using AlibabaCloud.SDK.Cloudauth_intl20220809.Models;
namespace Demo
{
public class InitializeDemo
{
public static void Main(string[] args) {
// Build client
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config()
{
AccessKeyId = "your access key id",
AccessKeySecret = "your access key secret",
Endpoint = "cloudauth-intl.cn-hongkong.aliyuncs.com",
};
AlibabaCloud.SDK.Cloudauth_intl20220809.Client client = new AlibabaCloud.SDK.Cloudauth_intl20220809.Client(config);
// Build request
AlibabaCloud.SDK.Cloudauth_intl20220809.Models.InitializeRequest request = new AlibabaCloud.SDK.Cloudauth_intl20220809.Models.InitializeRequest
{
ProductCode = "eKYC",
Authorize = "T",
MerchantBizId = "****",
MerchantUserId = "****"
MetaInfo = "****",
};
// Invoke API
InitializeResponse response = client.Initialize(request);
// Get result
Console.WriteLine(response.StatusCode);
Console.WriteLine(response.Body.RequestId);
Console.WriteLine(response.Body.Code);
Console.WriteLine(response.Body.Message);
Console.WriteLine(response.Body.Result.TransactionId);
}
}
}Node.js
引入依赖包
npm install @alicloud/openapi-client安装SDK。实际配置建议获取最新依赖。
npm install @alicloud/cloudauth-intl20220809@2.0.2
Initialize接口调用示例
const {Config} = require("@alicloud/openapi-client");
const CloudAuth = require("@alicloud/cloudauth-intl20220809");
const Client = CloudAuth.default;
async function main(){
// Build client
const config = new Config({
accessKeyId: "your accessKeyId",
accessKeySecret: "your accessKeySecret",
endpoint: "cloudauth-intl.cn-hongkong.aliyuncs.com"
});
const client = new Client(config);
// Build request
const request = new CloudAuth.InitializeRequest({
productCode: "eKYC",
authorize: "T",
metaInfo : "***",
merchantBizId : "***",
merchantUserId : "***"
});
// Invoke API
const response = await client.initialize(request);
// Get result
console.log(response.body.requestId);
console.log(response.body.result.transactionId);
}
main().then(function (response) {});CheckResult接口调用示例
const {Config} = require("@alicloud/openapi-client");
const CloudAuth = require("@alicloud/cloudauth-intl20220809");
const Client = CloudAuth.default;
async function main(){
// Build client
const config = new Config({
accessKeyId: "your accessKeyId",
accessKeySecret: "your accessKeySecret",
endpoint: "cloudauth-intl.cn-hongkong.aliyuncs.com"
});
const client = new Client(config);
// Build request
const request = new CloudAuth.CheckResultRequest({
merchantBizId: "XXXX",
transactionId: "G00000****500911"
});
// Invoke API
const response = await client.checkResult(request);
// Get result
console.log(response.body.requestId);
console.log(response.body.result.passed);
console.log(response.body.result.subCode);
console.log(response.body.result.extFaceInfo);
console.log(response.body.result.extIdInfo);
}
main().then(function (response) {});