团餐校园点餐场景录入人脸,用于刷脸代扣点餐
优采云 发布时间: 2021-08-01 02:09
团餐校园点餐场景录入人脸,用于刷脸代扣点餐
人脸采集
产品介绍
人脸识别是公共服务场所提升业务效率和用户体验的一种新方式。人脸识别采集是指在获得用户充分授权和认可、充分保护用户隐私的前提下获得合规。使用有质量要求的实时人脸图像进行比对、识别等后续操作,提高商家的服务质量。核心功能包括:
交互界面
调用流程
应用场景
人脸应用广泛,可应用于以下场景:
场景
说明
拍摄*敏*感*词*照片
小程序提供拍摄光线角度好的*敏*感*词*照功能。
团餐
校园点餐场景录入学生脸,刷脸扣餐单。
通过face采集小程序返回给开发者的实况照片,不建议与开发者自己的对比源图片在安全性较低的对比算法下进行对比验证。我。如果开发者需要验证自己的场景,请使用支付宝身份验证或其他公开渠道的人脸认证产品。由于支付宝的身份验证产品有完善的风控体系和更安全的后端活体检测算法,因此具有非常强的防范攻击和误识别的能力。
注意:
小程序“人脸验证”的开放能力全面升级为“支付宝身份验证”。建议开发者使用“支付宝身份验证”能力;已签约并开通“人脸认证”的小程序可继续使用。
访问条件
注意:
充电模式
免费
入门指南第一步:创建小程序
要在小程序中使用face采集功能,需要先完成开发者注册并创建小程序。
第 2 步:添加能力
小程序创建完成后,开发者可以在能力列表部分点击添加能力,为创建的小程序添加能力,如下图;开发者选择人脸采集能力后,点击右下角的确定。添加完毕。
第 3 步:签名能力
face采集功能需要签名才能生效。请点击功能列表右侧的“立即注册”。签名成功后,状态设置为“生效”,即可调用face采集接口。
第 4 步:集成和配置 SDK
服务端SDK需要商家集成到自己的服务端系统中,用于后续的服务端接口调用。
下载服务器 SDK
为了帮助开发者调用开放接口,我们提供了开放平台服务器SDK,收录JAVA、PHP、NodeJS、Python、.NET五种语言,封装了签名验证、HTTP接口请求、等,请下载相应语言版本的SDK并介绍您的开发项目。
接口调用配置
调用SDK前需要进行初始化,以JAVA代码为例:
AlipayClient alipayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);
关键参数说明:
配置参数
样本值说明
如何获取/样本值
网址
支付宝网关(固定)
APPID
APPID是应用创建后生成的
去见你
APP_PRIVATE_KEY
开发者的私钥,由开发者生成。
查看配置密钥获取
格式
参数返回格式,仅支持json
json(固定)
字符集
编码集,支持GBK/UTF-8
开发者根据实际项目编码配置
ALIPAY_PUBLIC_KEY
支付宝公钥,由支付宝生成
详情请参考配置秘钥
SIGN_TYPE
商家用于生成签名字符串的签名算法类型。目前支持RSA2和RSA,推荐使用RSA2
RSA2
接下来,您可以使用 alipayClient 调用特定的 API。 alipayClient只需要初始化一次,后续调用不同的API可以使用同一个alipayClient对象。
注意:
ISV/开发者可以通过第三方应用授权获取商户授权令牌(app_auth_token),并作为请求参数传入,实现代表商户发起请求的能力。
第五步:调用接口
通话流程图
调用JSAPI(faceVerify)唤起人脸采集,整个采集过程完全由人脸内部实现,采集完成后通过回调函数返回采集结果。在采集过程中,客户端完*敏*感*词*脸采集过程和活体检测,然后将采集的人脸特征数据上传到服务器进行进一步的活体检测,最后将采集结果返回给服务端客户。
调用查询接口(zoloz.identification.user.web.query)获取可信的采集结果。如果采集成功,您可以通过该界面获取采集的人脸照片。
主要步骤
版本要求:
调用接口my.ap.faceVerify,传入参数bizId和bizType调用face采集,采集结束后,通过回调函数获取采集结果。
请注意,在调用my.ap.faceVerify之前没有返回,切记不能发起第二次调用faceVerify,否则会出现异常。例如,在您的小程序中,您可以通过单击页面上的按钮来触发 my.ap.faceVerify 的调用。请确保在调用返回前禁用该按钮,并且不允许用户多次点击。
代码示例
my.ap.faceVerify({
bizId: '545689787654767653', //业务流水号,商户自行生成,需要保证唯一性,不超过64位
bizType: '1', //业务场景参数,‘1’代表人脸采集,请务必填写
useBackCamera: true, //传入此参数会唤起后置*敏*感*词*;非必填,不传默认唤起前置*敏*感*词*
success: (res) => {
my.alert({
content: JSON.stringify(res),
});
},
fail: (res) => {
my.alert({
content: JSON.stringify(res),
});
}
});
成功认证结果示例
faceRetCode = 1000表示face采集成功,可以调用查询接口(zoloz.identification.user.web.query)成功获取照片,证明face采集成功.
{
faceRetCode: "1000",
retCode: "OK_SUCCESS",
retCodeSub: "Z5100",
retMessageSub: "成功 (Z5100)",
zimId: "7b6b72be1493cab72dd0a25877de329dd00"
}undefined
注意,retCode代表刷脸成功可用,刷脸可用,则可以进行刷脸采集。
调用face采集query接口(zoloz.identification.user.web.query)获取人脸照片,以下请求示例代码以JAVA为例:
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
ZolozIdentificationUserWebQueryRequest request = new ZolozIdentificationUserWebQueryRequest();
request.setBizContent("{" +
"\"biz_id\":\"5456897876546767654\"," +
"\"zim_id\":\"731be7f204a962b0486a9b64ea3050ae\"," +
"\"extern_param\":\"{\\\"bizType\\\":\\\"1\\\"}\"" +
"}");
ZolozIdentificationUserWebQueryResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}undefined
成功响应示例
如果采集成功,imgStr对象中的值为人脸照片的base64编码字符串。
{
"zoloz_identification_user_web_query_response": {
"code": "10000",
"msg": "Success",
"extern_info": "{\"imgStr\":\"ApA4VVwOP1rqp8sotrcimna3c__9k\",\"bizId\":\"5456897876546767654-doucao.wjp\",\"zimMsg\":\"成功\",\"zimCode\":\"Z5130\"}"
},
"sign": "SL1dSiE6XKKIta5w3ge3VSZE+71CdBtr8Ocw9WvRSZD3Tz6/vNaA2pWLBYdZcvrAHaMYa6J8V9c4nY3kdBK0EeU2afh+8CLTw6dnZfkO8tR5NOtJUb+M6qhxl0xKhpE+2GUonpCcJg1MHS0aMVXa/b6dhK/yZJQCdO1YnVNuzs8="
}
失败响应示例
{
"zoloz_identification_user_web_query_response": {
"code": "40004",
"msg": "Business Failed",
"sub_code": "INVALID_PARAMETER",
"sub_msg": "参数有误抱歉,系统出错了,请您稍后再试 (Z5132)"
},
"sign": "v/DjkviKs2ja3HO9ZZ94W8bcfAsLyRuGrZT/TlFm6FgGQv4qSm/94o1FjOaMCl/t8XIm89bBhk03PBJ099alDzjnj4RD6S9FYDV7CfjvHYjrzvVJzn47Gc1mWdOHZ38DFQLWIg1IbNKFmYdoR+NdY5nY/cwz3Al2wfEylvN1cbs="
}
API 列表
界面英文名称
接口说明
my.ap.faceVerify
脸采集
zoloz.identification.user.web.query
Face采集Result 查询
常见问题 Q:如果用户有多个支付宝账户,调用人脸检测接口返回的user_id是否相同?
A:首先返回用户最后使用的支付宝账号对应的user_id。
Q: 真机调试报错 "retMessageSub":"{\"error\":4,\"errorMessage\":\"No right to call\",\"message\":\"No right to call \" ,\"signature\":\"N22104\"} 我该怎么办?
A:face采集功能需要在小程序后台添加face采集功能包并签订合同后才能使用。请参阅此文档。
如果您在调用 API 时遇到错误,您可以: