xinyanIDVerification

configuration startActiveVerify startPassiveVerify

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

xinyanIDVerification是新颜提供的专注于识别互联网用户身份真实性的产品。通过前端用户人脸活体识别验证,以用户为中心,验证用户的真实性,全面预防互联网用户身份欺诈风险。

xinyanIDVerification可应用于运营商业务办理、银行自助业务办理、互联网用户注册认证、现金贷平台用户注册认证、借款申请审核等环节。使用本模块需在线云编译安装包或自定义 loader 使用。由于XYIDVerification SDK付费,使用之前需要和新颜科技的技术支撑联系,开通SDK,并注册应用。联系方式如下:

官网:https://www.xinyan.com/
电话:400-9556-888 传真:021-68811007
邮箱:service@xinyan.com

运行环境

编译时候的固件版本安卓要求4.1.2以上,IOS要求8.0以上

在集成此模块之前需先配置config.xml文件。在config里添加如下字段:

  • 名称:xinyanIDVerification
  • 参数:memberId、terminalId、ios_license、android_license
  • 配置示例:
  1. <feature name="xinyanIDVerification">
  2. <param name="memberId" value="**************" />
  3. <param name="terminalId" value="**************" />
  4. <param name="ios_license" value="**************" />
  5. <param name="android_license" value="**************" />
  6. </feature>
  • 字段描述:

memberId:商户号,新颜提供给商户的唯一编号

terminalId:终端号,新颜提供给商户的AES终端编号

ios_license:iOS对应的商户license

android_license:android对应的商户license

license和bundle ID、商户号、终端号绑定唯一,请提前找新颜技术支持申请。

模块接口

configuration

配置智能人身核查SDK

configuration({params})

params

editable:

  • 类型:布尔类型
  • 描述:设置身份信息页面是否可编辑
  • 说明:字段非必填,不填默认为不可编辑

showResult:

  • 类型:布尔类型
  • 描述:是否展示智能人身核查结果页
  • 说明:字段非必填,不填默认为展示

takePhoto:

  • 类型:布尔类型
  • 描述:OCR手动拍照识别功能
  • 说明:字段非必填,不填默认是没有手动拍照入口

playSound:

  • 类型:布尔类型
  • 描述:是否播放语音提示
  • 说明:字段非必填,不填默认是播放语音提示

backUrl:

  • 类型:字符串
  • 描述:推送回调地址,如果需要结果异步通知到用户指定URL地址,需要设置该地址
  • 说明:字段非必填

identityVerification:

  • 类型:布尔类型
  • 描述:是否开启实名认证
  • 说明:字段非必填,不填就不开启实名认证。该参数只在startPassiveVerify才起作用

openRiskRecognition:

  • 类型:布尔类型
  • 描述:OCR是否开启风险识别
  • 说明:字段非必填,不填默认是不开启风险识别的

示例代码

  1. var demo = api.require('xinyanIDVerification');
  2. demo.configuration({
  3. editable : false,
  4. showResult : true,
  5. takePhoto : true,
  6. playSound : true,
  7. backUrl : '**************',
  8. identityVerification : false,
  9. openRiskRecognition : true
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本,其中1.0.1及其以下的模块,该方法中的入参needRadarInfo、phoneNo、needDeviceInfo,已废弃,暂停相关服务。

startActiveVerify

开始有源人身核查

startActiveVerify({params}, callback(ret, err))

params

transId:

  • 类型:字符串
  • 描述:商户订单号,是商户对这一笔交易的唯一编码,最长允许64位
  • 说明:字段必填,不填会返回错误信息msg

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

    1. responseCode
    2. - 类型:字符串
    3. - 描述:响应码
    4. - 说明:为00000,则表示查询成功。具体可参见[响应码表](#a4)
  1. responseDesc
  2. - 类型:字符串
  3. - 描述:响应码对应的内容描述
  4. result
  5. - 类型:JSON 对象
  6. - 描述:具体内容见result说明

result:

  • 类型:JSON 对象
  • 内部字段:

    1. idCardInfo
    2. - 类型:JSON 对象,具体见示例
    3. - 描述:身份证信息结果集
    4. - 说明:身份证认证成功有值
    5. livenessInfo
    6. - 类型:JSON 对象,具体见示例
    7. - 描述:人像核查结果集
    8. - 说明:人像核查成功有值
  • 示例:
  1. {
  2. responseCode: , //响应码,字符串
  3. responseDesc: , //响应码对应的内容描述,字符串
  4. idCardInfo: { //JSON对象
  5. idcard_birthday: , //生日(正面信息),字符串
  6. idcard_address: , //住址(正面信息),字符串
  7. idcard_number: , //公民身份证号(正面信息),字符串
  8. idcard_authority: , //签发机关(背面信息),字符串
  9. idcard_nation: , //名族(正面信息),字符串
  10. valid_date: , //签发日期-截止日期(背面信息),字符串
  11. idcard_name: , //姓名(正面信息),字符串
  12. idcard_gender: , //性别(正面信息),字符串
  13. idcard_front_image: , //身份证正面照照片,base64
  14. idcard_back_image: //身份证背面照照片,base64
  15. },
  16. livenessInfo: { //JSON对象
  17. code: , //识别结果,,字符串。0:信息⼀致,认证成功;1:认证信息不一致;2:认证信息不存在;3:照片对比不一致;4:证件照不存在;5:人脸特征提取失败;6:认证异常;9:其它异常
  18. desc: , //描述
  19. score: , //相识度评分,字符串
  20. level1: , //level1评分,字符串
  21. level2: , //level2评分,字符串
  22. id_no: , //公民身份证号,字符串
  23. id_name: , //姓名,字符串
  24. fee: , //是否收费,字符串
  25. image: //人脸识别图片,base64
  26. }
  27. }

示例代码

  1. var demo = api.require('xinyanIDVerification');
  2. demo.startActiveVerify({
  3. transId:'******************'
  4. },function(ret,err){
  5. var msg = ret.responseDesc;
  6. var objToStr = JSON.stringify(ret);
  7. console.log(objToStr);
  8. api.toast({
  9. msg: msg,
  10. location: 'middle'
  11. });
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本,其中1.0.1及其以下的模块,该方法返回的result结果集中不再包含radarInfo、deviceInfo

startPassiveVerify

开始无源人身核查

startPassiveVerify({params}, callback(ret, err))

params

transId:

  • 类型:字符串
  • 描述:商户订单号,是商户对这一笔交易的唯一编码,最长允许64位
  • 说明:字段必填,不填会返回错误信息msg

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:数据结构同有源人身核查
  1. {
  2. responseCode: , //响应码,字符串。00000:查询成功!
  3. responseDesc: , //响应码对应的内容描述,字符串
  4. idCardInfo: { //JSON对象
  5. idcard_birthday: , //生日(正面信息),字符串
  6. idcard_address: , //住址(正面信息),字符串
  7. idcard_number: , //公民身份证号(正面信息),字符串
  8. idcard_authority: , //签发机关(背面信息),字符串
  9. idcard_nation: , //名族(正面信息),字符串
  10. valid_date: , //签发日期-截止日期(背面信息),字符串
  11. idcard_name: , //姓名(正面信息),字符串
  12. idcard_gender: , //性别(正面信息),字符串
  13. idcard_front_image: , //身份证正面照照片,base64
  14. idcard_back_image: //身份证背面照照片,base64
  15. },
  16. livenessInfo: { //JSON对象
  17. code: , //识别结果,字符串。0:亲,认证成功;3:亲,照片对比不一致;9:其它异常
  18. desc: , //描述
  19. score: , //相识度评分,字符串
  20. level1: , //level1评分,字符串
  21. level2: , //level2评分,字符串
  22. id_no: , //公民身份证号,字符串
  23. id_name: , //姓名,字符串
  24. fee: , //是否收费,字符串
  25. image: //人脸识别图片,base64
  26. }
  27. }

示例代码

  1. var demo = api.require('xinyanIDVerification');
  2. demo.startPassiveVerify({
  3. transId:'*******************'
  4. },function(ret,err){
  5. var msg = ret.responseDesc;
  6. var objToStr = JSON.stringify(ret);
  7. console.log(objToStr);
  8. api.toast({
  9. msg: msg,
  10. location: 'middle'
  11. });
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本,其中1.0.1及其以下的模块,该方法返回的result结果集中不再包含radarInfo、deviceInfo

响应码

查询成功

响应码描述
00000查询成功!

验证错误

响应码描述
C0000初始化SDK失败,viewController不能为空
C0001初始化SDK失败,订单号transId不能为空
C0002初始化SDK失败,商户号不能为空
C0003初始化SDK失败,license不能为空
C0004初始化SDK失败,手机号不能为空
C0005用户取消操作
C0006操作频繁,请稍后重试
C0007数据处理异常
C0008网络异常,请稍后重试
C0009初始化SDK失败,请输入正确的手机号
C0010相机权限获取失败
C0011初始化SDK失败,终端号terminalId不能为空
C1001模型文件不存在
C1002模型文件不合法
C1003扫描超时,请重试一次
C1004未采集到数据
C1006应用被挂起
C1007图像识别内部发生错误
C2001活体检测内部发生错误
C9999用户未授权协议

服务错误

响应码描述
S0001系统繁忙,请稍后再试
S1000请求参数有误(具体以响应参数错误为准)
S1001请求订单不存在或已过期,请重新发起交易
S1002请求订单已受理,请稍后查询交易结果
S1003订单不能重复提交
S1004请求订单创建失败
S1005请求报文解析失败
S1006请求报文加密数据处理失败
S1007请求明文数据与密文数据不一致
S1011包名错误
S1015未找到卡bin信息
S1016暂不支持该银行卡校验
S1017银行卡信息已修改,请重新发起交易
S1018不识别的号码段
S2000商户不存在
S2001商户状态异常
S2002商户终端信息不存在
S2003商户终端信息状态异常
S2004商户暂不支持该产品
S2005商户暂不支持该功能
S2006商户余额不足
S3001暂不支持该产品
S3002订单请求次数超限
S3003报文验签不通过
S4001创建渠道订单失败
S4002请求获取密钥服务失败