UDYhy

来自于:连连银加-云慧眼立即使用

云慧眼产品接入

开发者在使用连连银加云慧眼产品的时候,需要联系连连银加市场人员开通服务,并获取pubkey值,方可使用云慧眼产品。分为以下步骤:

1.联系连连银加

开发者在使用连连银加云慧眼的模块时,请邮件联系service@lianlianpay.com银加邮箱,标注云慧眼产品,并提供姓名、手机号、公司名称,会有相关同事与您联系。

2.对接

产品开通后,pubkey值、连连银加商户站地址、账号密码均会以邮件的形式发送给商户,商户可以登录连连银加商户站去下载提供的测试demo。

3.开始对接

商户在APICloud官网导入我司的模块(模块名:UDYhy),打包编译并使用。另外,产品开通之后,我司的技术会和商户技术建QQ群,确保第一时间为商户解决使用中遇到的问题。

说明:编译时候的固件版本安卓要求4.0.3以上,IOS要求8.0以上

云慧眼功能服务

  • OCR身份证识别:自动扫描用户身份证,获取身份证上8个结构化字段信息,并截取头像照片。
  • 活体检测:随机交互式动作,验证用户为真人操作,并截取质量检测合格的人脸图片。
  • 实名认证:对用户姓名与身份证号码通过公民信息查询服务中心进行一致性验证。
  • 人脸比对:实名验证一致的用户,进行身份证照片、活体照片、预留照片双重一致性比对,两次比对通过方可认证成功。

云慧眼模块概述

本模块封装了连连银加云慧眼原生 SDK,集成了ocr身份证识别、活体检测;专注于人工智能创新学习,结合云计算深度分析验证用户身份和行为,全面预防互联网用户身份欺诈风险;轻松、高效集成云慧眼到自己的 App 内。

功能接口调用

全流程功能UI界面图

身份证OCR识别UI页面、姓名核验UI页面、活体UI页面如下:

  • 注:如全流程功能UI界面图所示,参考节调用方法,成功调用出现OCR”身份证扫描”界面扫描身份证,OCR完成确认扫描信息后进入活体检测”人脸认证”界面。该流程UI界面等已封装,商户可按流程完成操作无须自定义

调用步骤

  • 引入方式:引入云慧眼模块 UDYhy

  • 调用与回调方法示例如下

    // 1.云慧眼全流程
    function runFaceAuth() {
        var demo = api.require('UDYhy');
        demo.faceAuth({
                       authKey: 'xxxx-xxxx-xxxx-xxxx', // authKey 不能为空
                       outOrderId: '12345',            // 订单号不能为空(建议传时间戳+后缀的形式)
                       notifyUrl: 'www.xxx.com'        // 异步通知地址可选
                       safeMode: 0,                    //活体安全等级 (具体参数值说明参考对接文档)
                       clearnessType:0,                 //清晰度等级
                       isManual: true,                 //是否手持拍照
                       isOpenLivenessVoice: false,     //是否开启活体动作提示音
                       isOpenVibrate: false,            //是否开始震动提示
                       isOpenFlashLight: true,         //是否开启补光
                       isOpenLocalAlbum: false,         //是否开启本地相册上传
                       canEditIDNumber: false           //身份证号码是否可编辑
        },function(ret, err){
                       // 获取云慧眼回调方法
                       if (err) {
                            // authKey 或者 outOrderId 为空会走这个回调
                            alert(JSON.stringify(err));
                       } else {
                            if (ret.ret_code === '000000') {
                                // 请求成功
                                alert(JSON.stringify(ret));
                                if (ret.result_auth === 'T') {
                                    // 人脸认证通过
                                }
                            } else {
                                // 发生错误
                                alert(JSON.stringify(ret));
                            }
                       }
        });
    }
    // 2.云慧眼简版
    <!--有盾人脸识别简版调用&&回调方法-->
    function runFaceAuthSimple() {
        var demo = api.require('UDYhy');
        demo.faceAuthSimple({
                              authKey: 'xxxx-xxxx-xxxx-xxxx', // authKey 不能为空
                              outOrderId: '12345',            // 订单号不能为空(建议传时间戳+后缀的形式)
                              notifyUrl: 'www.xxx.com',       // 异步通知地址可选
                              idName: '张三',                  // 姓名
                              idNumber: 'xxxxxxxxxxxxxxxxxx'      // 身份证号码
                              safeMode: 0,                    //活体安全等级 (具体参数值说明参考对接文档)
                              isOpenLivenessVoice: false,     //是否开启活体动作提示音
        },function(ret, err){
                              // 获取云慧眼回调方法
                              if (err) {
                                  // authKey 或者 outOrderId 为空会走这个回调
                                  alert(JSON.stringify(err));
                              } else {
                                  if (ret.ret_code === '000000') {
                                      // 请求成功
                                      alert(JSON.stringify(ret));
                                      if (ret.result_auth === 'T') {
                                      // 人脸认证通过
                                      }
                                   } else {
                                      // 发生错误
                                      alert(JSON.stringify(ret));
                                   }
                              }
        });
    }
// 3.身份证OCR
<!--身份证OCR调用&&回调方法-->
function runIDCardOcr() {
    var demo = api.require('UDYhy');
    demo.idCardOCR({
        authKey: 'xxxx-xxxx-xxxx-xxxx', // authKey 不能为空
        outOrderId: '12345',            // 订单号不能为空(建议传时间戳+后缀的形式)
        notifyUrl: 'www.xxx.com',       // 异步通知地址可选
        clearnessType:0,                 //清晰度等级
        isManualOCR: true,              // 是否开启手动拍照功能
        isOpenVibrate: false,            //是否开始震动提示
        isOpenFlashLight: true,         //是否开启补光
        isOpenLocalAlbum: false,         //是否开启本地相册上传
    },function(ret, err){
        // 获取身份证OCR回调方法
        if (err) {
            // authKey 或者 outOrderId 为空会走这个回调
            alert(JSON.stringify(err));
        } else {
            if (ret.ret_code === '000000') {
                // 请求成功
                alert(JSON.stringify(ret));
            } else {
                // 发生错误
                alert(JSON.stringify(ret));
            }
        }
    });
// 4.驾驶证OCR
<!--驾驶证OCR调用&&回调方法-->
function runDriverLicenseOcr() {
    UDOrderId = 'ios_ud_' + Date.now().toString();
    UDSignTime = this.getUDSignTime();

    var sign = this.getUDSign();

    var demo = api.require('UDYhy');
    demo.driveLicenseOCR({
       authKey: 'xxxx-xxxx-xxxx-xxxx', // authKey 不能为空
       outOrderId: '12345',             // 订单号不能为空(建议传时间戳+后缀的形式)
       sign: '签名',                      // 签名(签名规则详见demo或者参考对接文档)
       signTime: '签名时间'               // 签名时间(YYYYMMddHHmmss)
       notifyUrl: 'www.xxx.com',       // 异步通知地址可选
       isManualOCR: true,                // 是否开启手动拍照功能
       isSingleFront: false,             // 是否单面正面扫描
       isOpenVibrate: false,            //是否开始震动提示
       isOpenFlashLight: true,         //是否开启补光
       isOpenLocalAlbum: false,         //是否开启本地相册上传
    },function(ret, err){
       // 获取驾驶证OCR回调方法
       if (err) {
            // authKey 或者 outOrderId 为空会走这个回调
            alert(JSON.stringify(err));
       } else {
            if (ret.ret_code === '000000') {
                // 请求成功
                alert(JSON.stringify(ret));
            } else {
                // 发生错误
                alert(JSON.stringify(ret));
            }
       }
    });
}
// 5.行驶证OCR
<!--行驶证OCR调用&&回调方法-->
function runVehicleLicenseOcr() {
    UDOrderId = 'ios_ud_' + Date.now().toString();
    UDSignTime = this.getUDSignTime();

    var sign = this.getUDSign();

    var demo = api.require('UDYhy');
    demo.vehicleLicenseOCR({
       authKey: 'xxxx-xxxx-xxxx-xxxx', // authKey 不能为空
       outOrderId: '12345',             // 订单号不能为空(建议传时间戳+后缀的形式)
       sign: '签名',                      // 签名(签名规则详见demo或者参考对接文档)
       signTime: '签名时间'               // 签名时间(YYYYMMddHHmmss)
       notifyUrl: 'www.xxx.com',       // 异步通知地址可选
       isManualOCR: true,                // 是否开启手动拍照功能
       isSingleFront: false,             // 是否单面正面扫描
       isOpenVibrate: false,            //是否开始震动提示
       isOpenFlashLight: true,         //是否开启补光,默认true
       isOpenLocalAlbum: false,         //是否开启本地相册上传
    },function(ret, err){
         // 获取行驶证OCR回调方法
         if (err) {
             // authKey 或者 outOrderId 为空会走这个回调
             alert(JSON.stringify(err));
         } else {
             if (ret.ret_code === '000000') {
                 // 请求成功
                 alert(JSON.stringify(ret));
             } else {
                 // 发生错误
                 alert(JSON.stringify(ret));
             }
         }
    });
}
// 6.银行卡OCR
<!--银行卡OCR调用&&回调方法-->
function runBankcardOcr() {
    UDOrderId = 'ios_ud_' + Date.now().toString();
    UDSignTime = this.getUDSignTime();

    var sign = this.getUDSign();

    var demo = api.require('UDYhy');
    demo.bankCardOCR({
       authKey: 'xxxx-xxxx-xxxx-xxxx', // authKey 不能为空
       outOrderId: '12345',             // 订单号不能为空(建议传时间戳+后缀的形式)
       sign: '签名',                      // 签名(签名规则详见demo或者参考对接文档)
       signTime: '签名时间'               // 签名时间(YYYYMMddHHmmss)
       notifyUrl: 'www.xxx.com',       // 异步通知地址可选
       isManualOCR: true,                // 是否开启手动拍照功能
       isOpenVibrate: false,            //是否开始震动提示
       isOpenFlashLight: true,         //是否开启补光
       isOpenLocalAlbum: false,         //是否开启本地相册上传
    },function(ret, err){
       // 获取银行卡OCR回调方法
       if (err) {
           // authKey 或者 outOrderId 为空会走这个回调
           alert(JSON.stringify(err));
       } else {
           if (ret.ret_code === '000000') {
               // 请求成功
               alert(JSON.stringify(ret));
           } else {
               // 发生错误
               alert(JSON.stringify(ret));
           }
       }
    });
}
// 7.活体比对
<!--活体比对-关联比对调用&&回调方法-->
function runFacecompareParnerOrderId() {
    var demo = api.require('UDYhy');
    demo.faceCompare({
        authKey: 'xxxx-xxxx-xxxx-xxxx', // authKey 不能为空
        outOrderId: '12345',               // 订单号不能为空(建议传时间戳+后缀的形式)
        notifyUrl: '异步通知地址',        // 商户异步通知地址
        safeMode: 1,                    // 安全模式(详见对接文档)
        partnerOrderId: '关联订单号'      // 关联订单号
    },function(ret, err){
        // 获取活体比对关联比对回调方法
        if (err) {
            // authKey 或者 outOrderId 为空会走这个回调
            alert(JSON.stringify(err));
        } else {
            if (ret.ret_code === '000000') {
                // 请求成功
                alert(JSON.stringify(ret));
            } else {
                // 发生错误
                alert(JSON.stringify(ret));
            }
        }
    });
}


<!--活体比对-Base64比对调用&&回调方法-->
function runFacecompareBase64String() {
    var demo = api.require('UDYhy');
    demo.faceCompare({
        authKey: 'xxxx-xxxx-xxxx-xxxx', // authKey 不能为空
        outOrderId: '12345',               // 订单号不能为空(建议传时间戳+后缀的形式)
        notifyUrl: '异步通知地址',        // 商户异步通知地址
        safeMode: 1,                    // 安全模式(详见对接文档)
        imageBase64String: '活体比对Base64图片字符串' // 活体比对Base64图片
    },function(ret, err){
        // 获取活体比对关联比对回调方法
        if (err) {
            // authKey 或者 outOrderId 为空会走这个回调
            alert(JSON.stringify(err));
        } else {
            if (ret.ret_code === '000000') {
                // 请求成功
                alert(JSON.stringify(ret));
            } else {
                // 发生错误
                alert(JSON.stringify(ret));
            }
        }
    });
}