xinyanOCR
configuration startIDCardScan startBankCardScan
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
概述
xinyanOCR是新颜提供的专注于识别互联网用户身份真实性的产品,支持身份证识别和银行卡识别。由于XYOCRSDK付费,使用之前需要和新颜科技的技术支撑联系,开通SDK,并注册应用。
- 身份证识别:支持对大陆居民二代身份证正反面的所有字段进行结构化识别,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限;同时,支持对用户上传的身份证图片进行图像风险和质量检测,可识别图片是否为复印件或临时身份证,是否被翻拍或编辑,是否存在正反颠倒、模糊、欠曝、过曝等质量问题。
- 银行卡识别:识别银行卡并返回卡照片、卡号、发卡行和卡片类型。
官网:https://www.xinyan.com/
电话:400-9556-888 传真:021-68811007
邮箱:service@xinyan.com
运行环境
编译时候的固件版本安卓要求4.1.2以上,IOS要求8.0以上
在集成此模块之前需先配置config.xml文件。在config里添加如下字段:
- 名称:xinyanOCR
- 参数:memberId、terminalId、license
- 配置示例:
<feature name="xinyanOCR">
<param name="memberId" value="**************" />
<param name="terminalId" value="**************" />
<param name="license" value="**************" />
</feature>
- 字段描述:
memberId:商户号,开通SDK后,新颜提供给商户的唯一编号
terminalId:终端号,开通SDK后,新颜提供给商户的AES终端编号,查看方式:SDK:开放平台->用户中心->信息管理->安全证书管理->密钥类型为AES的终端号 或者 API:开放平台->用户中心->信息管理->安全证书管理->密钥类型为RSA的终端号
license:商户的license,license和bundle ID、商户号、终端号绑定唯一,请提前找新颜技术支持申请
模块接口
configuration
配置‘OCR’SDK
configuration({params})
params
openRiskRecognition:
- 类型:布尔类型
- 描述:是否开启风险识别
- 说明:字段非必填,不填默认false
backUrl:
- 类型:字符串类型
- 描述:商户回调地址,如果需要结果异步通知到用户指定URL地址,需要设置该地址
- 说明:字段非必填,不填默认为空
示例代码
var demo = api.require('xinyanOCR');
//自定义模块配置项
demo.configuration({
openRiskRecognition : false,// 是否开启风险识别
backUrl:""
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startIDCardScan
开始身份证识别
startIDCardScan({params}, callback(ret, err))
params
transId:
- 类型:字符串
- 描述:商户订单号,是商户对这一笔交易的唯一编码,最长允许64位
- 说明:字段必填,不填会返回错误信息msg
callback(ret, err)
ret:
- 类型:JSON 对象
内部字段:
responseCode
- 类型:字符串
- 描述:响应码
- 说明:为00000,则表示查询成功。具体可参见[响应码表](#a4)
responseDesc
- 类型:字符串
- 描述:响应码对应的内容描述
idCardInfo
- 类型:JSON 对象
- 描述:身份证信息,详见'idCardInfo详细信息'
- idCardInfo详细信息:
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
}
调用身份证识别示例代码
var demo = api.require('xinyanOCR');
//开启身份证识别
demo.startIDCardScan({
transId:"" // 订单号
},function(ret,err){
var msg = ret.responseDesc;
var objToStr = JSON.stringify(ret);
//打印返回的报文
console.log(objToStr);
//toast结果展示
api.toast({
msg: msg,
location: 'middle'
});
startBankCardScan
开始银行卡识别
startBankCardScan({params}, callback(ret, err))
params
transId:
- 类型:字符串
- 描述:商户订单号,是商户对这一笔交易的唯一编码,最长允许64位
- 说明:字段必填,不填会返回错误信息msg
callback(ret, err)
ret:
- 类型:JSON 对象
内部字段:
responseCode
- 类型:字符串
- 描述:响应码
- 说明:为00000,则表示查询成功。具体可参见[响应码表](#a4)
responseDesc
- 类型:字符串
- 描述:响应码对应的内容描述
bankCardInfo
- 类型:JSON 对象
- 描述:银行卡信息,详见'bankCardInfo详细信息'
- bankCardInfo详细信息:
bankCardInfo: { //JSON对象
bank_card_no: , //银行卡号
bank_card_type:, // 银行卡类型
bank_name:, // 银行卡名字
bank_card_image:, // 银行卡照片
}
调用银行卡识别示例代码
var demo = api.require('xinyanOCR');
//开启银行卡识别
demo.startBankCardScan({
transId:"" // 订单号
},function(ret,err){
var msg = ret.responseDesc;
var objToStr = JSON.stringify(ret);
//打印返回的报文
console.log(objToStr);
//toast结果展示
api.toast({
msg: msg,
location: 'middle'
});
响应码
编码 | 描述 | 备注 |
---|---|---|
00000 | 识别成功 |
验证错误
编码 | 描述 | 备注 |
---|---|---|
C0001 | 商户号不能为空 | |
C0002 | 终端号不能为空 | |
C0003 | license不能为空 | |
C0004 | 订单号不能为空 | |
C0005 | 模型文件不存在 | |
C0006 | 模型文件不合法 | |
C0007 | 未获得相机权限 | |
C0008 | 调用后置摄像头异常 | |
C1001 | 扫描超时,请重试一次 | |
C1002 | 网络连接超时,请稍后再试 | |
C1003 | 处理异常 | |
C1004 | 引擎忙 | |
C1005 | 已取消 | |
C1006 | 未采集到数据 | |
C1007 | 拍照模式下不能传 XYIdCardScanSideAuto | |
C1008 | 图像识别失败 | |
C1009 | 扫描区域设置不正确 | |
C1010 | 检测异常 | |
C9999 | 用户未授权协议 |
服务器错误
错误码 | 描述 | 备注 | |
---|---|---|---|
S0001 | 系统繁忙,请稍后再试 | ||
S1000 | 请求参数有误 | ||
S1003 | 订单不能重复提交 | ||
S1004 | 请求订单创建失败 | ||
S1005 | 请求报文解析失败 | ||
S1009 | 请求订单已过期,请重新发起交易 | ||
S1011 | 包名错误 | ||
S1015 | 未找到卡bin信息 | ||
S1016 | 暂不支持该银行卡校验 | ||
S1017 | 银行卡信息已修改,请重新发起交易 | ||
S2000 | 商户不存在 | ||
S2001 | 商户状态异常 | ||
S2002 | 商户终端信息不存在 | ||
S2003 | 商户终端信息状态异常 | ||
S2004 | 商户暂不支持该产品 | ||
S2005 | 商户暂不支持该功能 | ||
S2006 | 商户余额不足 | ||
S3001 | 暂不支持该产品 | ||
S3002 | 操作频繁,请稍后再试 | ||
S3003 | 报文验签不通过 | ||
S4001 | 创建渠道订单失败 | ||
S4002 | 请求获取密钥服务失败 | ||
S216201 | 图片解码失败 | ||
S216630 | 识别错误,请再次请求 | ||
S400002 | 识别身份证错误 | ||
S400012 | 识别失败(风险识别开启时) | ||
S400013 | 识别失败/请使用身份证原件 |