大街小巷随处可见的支付宝蜻蜓设备,除了日常的支付收款之外,还可以通过集成身份证读卡器适配,来实现人证核验,从而达到实名制场景需要的效果。
中软高科出品的身份证读卡器,不仅从颜色上和支付宝蜻蜓设备十分契合,而且还是支付宝蜻蜓设备支持的云读卡器。
支付宝IoT小程序支持中软高科云读卡器
下面简要介绍一下支付宝IoT小程序集成身份证读卡器适配的方法。
接口调用示例代码.js 示例代码设置云读卡
my.ix.cardReaderCommand({cmds:{'cmd':'setConfigs','args':[{'server':'sunmi','appId':'f88548a4e6633266b11bc3019810c582'}]},success:(r)=>{this.setData({message:"设置成功-->"+JSON.stringify(r)
})
},fail:(r)=>{this.setData({message:"设置失败-->"+JSON.stringify(r)
})
},
});读卡
my.ix.cardReaderCommand({
cmds:{'cmd':'readCard','args':[]},
success:(r)=>{this.onCardInfo(r)
},
fail:(r)=>{this.setData({
message:"读卡失败-->"+JSON.stringify(r)
})
},
});入参名称
类型
是否必填
描述
target
Number
否
要与之通信的读卡器 id,通过 my.ix.getDevices 获得。如果不填,默认系统接入的第 1 个读卡器设备。
cmds
JSON
是
JSON 格式: {'cmd': '...', 'args': ['...']}
通信指令,如下描述。
通信指令格式名称
类型
是否必填
描述
cmd
String
是
指令名称,详情可查看 通信指令。
args
JsonArray
是
指令参数,详情可查看 通信指令。
通信指令setConfigs
说明:设置读卡器配置信息。
命令范例: {'cmd':'setConfigs', 'args':[{"configName":"configValue"}]}。
参数数量:n
参数序号
参数类型
参数值
描述
JSON
-
要设置的配置集合。配置说明可查看 配置列表。
回调函数
success
表示调用成功,出参:
configs:JSON 对象类型,设置后的配置结果。
fail
表示调用失败,详情可查看 错误码说明。
readCard
说明:读取身份证信息。
命令范例: {'cmd':'readCard', 'args':[]}。
参数数量:0
参数序号
参数类型
参数值
描述
-
-
-
-
回调函数
success
表示调用成功,出参可查看 身份证信息说明。
fail
表示调用失败,详情可查看 错误码说明。
enableAutoRead
说明:打开自动读卡模式。
命令范例: {'cmd':'enableAutoRead', 'args':[]}。
参数数量:0
参数序号
参数类型
参数值
描述
-
-
-
-
回调函数
success
表示调用成功。
fail
表示调用失败,详情可查看 错误码说明。
disableAutoRead
说明:关闭自动读卡模式。
命令范例: {'cmd':'disableAutoRead', 'args':[]}。
参数数量:0
参数序号
参数类型
参数值
描述
-
-
-
-
回调函数
success
表示调用成功。
fail
表示调用失败,详情可查看 错误码说明。
出参成功名称
类型
描述
success
Boolean
值为 true。
返回內容为 { success : true,…… } 根据不同的通信指令携带不同的出参,详细定义见各 通信指令 success 回调说明。
失败名称
类型
描述
error
Number
错误码。
errorMessage
String
详细错误描述。
返回内容只包含 {error: number, errorMessage: '详细错误描述'}返回错误码定义和错误码描述见 错误码说明。
错误码说明error
类型
说明(errorMessage)
2001
Number
未知错误
2002
Number
读卡器不支持
2003
Number
连接读卡器失败
2004
Number
无访问权限
2005
Number
寻卡失败
2006
Number
选卡失败
2007
Number
读卡错误
2008
Number
证照读取失败
2009
Number
认证失败
附录身份证信息说明名称
类型
描述
type
String
native:本地读卡器返回值。
cloud_sunmi:商米云读卡数据类型。
message
String
如果 type 为 cloud_*,如 cloud_sunmi,返回云读卡数据。小程序应该将此值回传到服务商应用服务器,应用服务器调用商米云解码进行解码,请查看 身份证云识别服务。
如果 type 为其它类型,值为空字符串 ""。
info
JSON
本地读卡器:各厂商的原始输出。
云读卡器:为空字符串口 ""。
photo
String
本地读卡器:照片的 base64 string。
云读卡器:空字符串 ""。
firstFP
String
本地读卡器:枚指纹信息。
云读卡器:空字符串 ""。
secondFP
String
本地读卡器:第二枚指纹信息。
云读卡器:空字符串 ""。
配置列表名称
类型
是否必填
描述
interval
Int
非必填
自动读卡间隔。
默认值 1000,单位 ms。
取值范围:[100, 10000]
fingerPrint
boolean
非必填
是否读取指纹信息。
只针对支持的读卡器生效。
默认值 true。
server
String
云读卡器必填
云读卡服务器名。
appId
String
云读卡器必填
注册云读卡服务的 appId,用于底层获取身份证信息。
dispatchServer
String
Lotus云读卡器必填
调度服务器地址。
szServer
String
Lotus读卡器必填
安全模块服务器地址。
account
Int
Lotus读卡器必填
用户账号。
password
String
Lotus读卡器必填
调度服务器登录密码。
postcode
Long
Lotus读卡器必填
邮政编码。
network
Int
Lotus读卡器必填
网络类型。
0 : 未知。
1 : 电信。
2 : 联通。
3 : 移动。
4 : 其它。
timeout
Long
Lotus读卡器必填
接收超时时间,单位秒。
mainServerAddr
String
中软高科读卡器必填
主服务器地址。
mainServerPort
Int
中软高科读卡器必填
主服务器端口号。
subServerAddr
String
中软高科读卡器必填
子服务器地址。
subServerPort
Int
中软高科读卡器必填
子服务器端口号。
companyId
String
中软高科读卡器必填
公司标识。