芝麻信用认证的方式有两种:
C31FD82E-491C-4813-8EBF-4CEF5DC3E9C5.png
8B608F88-5075-45EA-A47B-9CDA57091167.png
本篇文章使用的第二种方案,jar下载地址
芝麻认证逻辑大致分为三步:
1.调用芝麻验证WebAPI,获取bizNO(业务串号) 以及 merchantID(商户号);
2.使用bizNO 和merchantID 完成SDK初始化,进入认证页面;
3.用户通过认证流程后,返回商户界面,并通过回调告知结果。
public void zmCertification(String bizNo,String merchantID) {
ZMCertification zmCertification = ZMCertification.getInstance();
zmCertification.setZMCertificationListener(new ZMCertificationListener() {
@Override
public void onFinish(boolean isCanceled, boolean isPassed, int errorCode) {
zmCertification.setZMCertificationListener(null);
if (isCanceled) {
Toast.makeText(getContext(), "cancel : 芝麻验证失败,原因是:" + errorCode, Toast.LENGTH_SHORT).show();
}else {
if (isPassed) {
Toast.makeText(getContext(), "complete : 芝麻验证成功,原因是:" + errorCode, Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(getContext(), "complete : 芝麻验证失败,原因是:" + errorCode, Toast.LENGTH_SHORT).show();
}
}
}
});
zmCertification.startCertification(getActivity(), bizNo, merchantID, null);
}
错误code
| 名称 | 说明 | 数值 |
|---|---|---|
| none | 无 0 | |
| verification_failed | 用户人脸与数据库中的人脸比对分数较低 | 1 |
| device_not_support | 手机在不支持列表里 | 2 |
| no_permission | 缺少手机权限 | 3 |
| no_network_permission | 没有联网权限 | 4 |
| no_camera_permission | 没有打开相机的权限 | 5 |
| no_sensor_permission | 无法读取运动数据的权限 | 6 |
| face_init_fail | 人脸采集算法初始化失败 | 7 |
| network_error | 发生网络错误 | 8 |
| invalid_biz_no | 传入的bizNO 有误 | 9 |
| invalid_bundle_id | 此APP的bundle_id在系统的黑名单库里 | 10 |
| data_source_error | 数据源错误 | 11 |
| internal_error | 服务发生内部错误 | 12 |
| unmatched_merchant_id | bizNO和merchantID不匹配 | 13 |
| version_too_old | SDK版本过旧 | 14 |
| userinfo_error | 身份证号和姓名的格式不正确 | 15 |
| bizno_limit_exceed | 身份证号和姓名在一天内使用次数过多 | 16 |
| wrong_system_time | 用户当前的设备时间与授权时间不符 | 17 |
| no_write_external_storage_permission | 没有写存储空间的权限 | 18 |
| upload_image_error | 商户上传的底库图像出现问题 | 20 |
| image_error_unsupported_format | 用户在公安部门的证件照片不够清晰 | 22 |
更多详细配置可查看
4F2BA8A7-DF1E-4566-AC65-C06998F7A833.png
到此芝麻验证基本就结束了!











网友评论