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
- 配置示例:
<feature name="xinyanIDVerification">
<param name="memberId" value="**************" />
<param name="terminalId" value="**************" />
<param name="ios_license" value="**************" />
<param name="android_license" value="**************" />
</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是否开启风险识别
- 说明:字段非必填,不填默认是不开启风险识别的
示例代码
var demo = api.require('xinyanIDVerification');
demo.configuration({
editable : false,
showResult : true,
takePhoto : true,
playSound : true,
backUrl : '**************',
identityVerification : false,
openRiskRecognition : true
});
可用性
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 对象
内部字段:
responseCode
- 类型:字符串
- 描述:响应码
- 说明:为00000,则表示查询成功。具体可参见[响应码表](#a4)
responseDesc
- 类型:字符串
- 描述:响应码对应的内容描述
result
- 类型:JSON 对象
- 描述:具体内容见result说明
result:
- 类型:JSON 对象
内部字段:
idCardInfo
- 类型:JSON 对象,具体见示例
- 描述:身份证信息结果集
- 说明:身份证认证成功有值
livenessInfo
- 类型:JSON 对象,具体见示例
- 描述:人像核查结果集
- 说明:人像核查成功有值
- 示例:
{
responseCode: , //响应码,字符串
responseDesc: , //响应码对应的内容描述,字符串
idCardInfo: { //JSON对象
idcard_birthday: , //生日(正面信息),字符串
idcard_address: , //住址(正面信息),字符串
idcard_number: , //公民身份证号(正面信息),字符串
idcard_authority: , //签发机关(背面信息),字符串
idcard_nation: , //名族(正面信息),字符串
valid_date: , //签发日期-截止日期(背面信息),字符串
idcard_name: , //姓名(正面信息),字符串
idcard_gender: , //性别(正面信息),字符串
idcard_front_image: , //身份证正面照照片,base64
idcard_back_image: //身份证背面照照片,base64
},
livenessInfo: { //JSON对象
code: , //识别结果,,字符串。0:信息⼀致,认证成功;1:认证信息不一致;2:认证信息不存在;3:照片对比不一致;4:证件照不存在;5:人脸特征提取失败;6:认证异常;9:其它异常
desc: , //描述
score: , //相识度评分,字符串
level1: , //level1评分,字符串
level2: , //level2评分,字符串
id_no: , //公民身份证号,字符串
id_name: , //姓名,字符串
fee: , //是否收费,字符串
image: //人脸识别图片,base64
}
}
示例代码
var demo = api.require('xinyanIDVerification');
demo.startActiveVerify({
transId:'******************'
},function(ret,err){
var msg = ret.responseDesc;
var objToStr = JSON.stringify(ret);
console.log(objToStr);
api.toast({
msg: msg,
location: 'middle'
});
});
可用性
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 对象
- 内部字段:数据结构同有源人身核查
{
responseCode: , //响应码,字符串。00000:查询成功!
responseDesc: , //响应码对应的内容描述,字符串
idCardInfo: { //JSON对象
idcard_birthday: , //生日(正面信息),字符串
idcard_address: , //住址(正面信息),字符串
idcard_number: , //公民身份证号(正面信息),字符串
idcard_authority: , //签发机关(背面信息),字符串
idcard_nation: , //名族(正面信息),字符串
valid_date: , //签发日期-截止日期(背面信息),字符串
idcard_name: , //姓名(正面信息),字符串
idcard_gender: , //性别(正面信息),字符串
idcard_front_image: , //身份证正面照照片,base64
idcard_back_image: //身份证背面照照片,base64
},
livenessInfo: { //JSON对象
code: , //识别结果,字符串。0:亲,认证成功;3:亲,照片对比不一致;9:其它异常
desc: , //描述
score: , //相识度评分,字符串
level1: , //level1评分,字符串
level2: , //level2评分,字符串
id_no: , //公民身份证号,字符串
id_name: , //姓名,字符串
fee: , //是否收费,字符串
image: //人脸识别图片,base64
}
}
示例代码
var demo = api.require('xinyanIDVerification');
demo.startPassiveVerify({
transId:'*******************'
},function(ret,err){
var msg = ret.responseDesc;
var objToStr = JSON.stringify(ret);
console.log(objToStr);
api.toast({
msg: msg,
location: 'middle'
});
});
可用性
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 | 请求获取密钥服务失败 |