更新时间:2024-10-23 18:08:32配置项检测工具收藏订阅更新我的文档设置接入检测(即可查看检测结果)若有未通过的接入检测项,接口将无法调通去登录返回文档1:1刷脸支付接入流程接入步骤 请查看下文 demo 源码快速了解如何接入刷脸支付。 本 demo 中为了展现完整的接入代码,使用客户端模拟服务端发出支付宝开放接口的请求,将私钥存储在客户端,这是非常不安全的做法,请务必在上线应用中,在服务端发起刷脸初始化和收单接口的请求。另外,本 demo 中没有填入支付宝公钥参数,请在上线应用中,正确填写。demo名称开发语言备注下载smiledemo.zipjava不带账密,需要服务商填写账密后再运行。在编译 miledemo 工程之前,请打开原文件 merchantinfo.java,将以下两个参数填入正确信息。获取刷脸所需的设备信息调用接口 getmetainfo 采集刷脸所需的设备信息并完成刷脸的准备工作。如果 getmetainfo 返回成功结果,则请求商家服务端调用支付宝开放平台的人脸初始化接口。关键入参参数名称参数说明必填merchantid签约商家的 pid。以 2088 开头是partnerid服务商的 pid。对于自用型商家,填写签约商家的 pid,和 merchantid 保持一致。否appid支付宝分配给开发者的应用 id,和当面付请求的 appid 保持一致。否devicenum商户机具终端编号,和当面付请求的 terminal_id 保持一致。是storecode商户门店编号,和当面付请求的 store_id 保持一致。否alipaystorecode支付宝内部门店编号,和当面付请求中的 alipay_store_id 保持一致。否关键出参回调函数返回的 metainfo 对象结构,该对象中的参数请不需要做任何值的修改,否则会导致后续刷脸出错。请直接传给商家服务端作为下一步调用的入参。参数名称参数说明apdidtoken设备指纹。appname应用名称。appversion应用版本。biometainfo生物信息。osversion系统版本。machineinfo设备硬件相关信息。merchantinfo商户相关信息。remotelogid刷脸调用的事务 id。extinfo扩展参数,用于商家服务端传入信息。刷脸初始化调用服务端接口 zoloz.authentication.smilepay.initialize(刷脸支付初始化)完成刷脸可用性逻辑判断,该接口为开放平台接口,需要商家的服务端进行调用。注意:因为初始化接口生成的 zimid 只能在一次刷脸中使用而且有时效限制,重复或者过期使用同一个 zimid 都会导致刷脸失败。所以请务必在每一次刷脸中都调用该接口生成新的 zimid。业务入参machine_info(机具信息,调用人脸识别sdk获取)参数说明。参数是否必填描述camera_drive_ver可选摄像头驱动版本号camera_model可选摄像头型号camera_name可选摄像头名称camera_ver可选摄像头版本号machine_code可选机具编码machine_model可选机具型号machine_ver可选机具版本号ext可选扩展信息merchant_info(商户信息)参数说明area_code可选区域编码brand_code可选品牌编码device_mac可选机具mac地址group可选机具分组编码device_num可选机具编码geo可选经纬度merchant_id可选商户idpartner_id可选服务商 idstore_code可选门店编码wifimac可选wi-fi mac地址wifiname可选wi-fi 名称出参返回结果 json 对象,结构如下。键值描述code统一对外错误码,如果刷脸认证成功返回,则为 code_success。详情可查看下文表格 常见错误码(code)。msg返回消息。ret_code_sub刷脸返回码。ret_message_sub刷脸返回消息。zim_id刷脸调用的标识,将作为下一步 verify 接口的入参。zim_init_client_data刷脸的下发协议数据,将作为下一步 verify 接口的入参。常见错误码(code)统一对外错误码错误描述凯发app官方网站的解决方案system_error系统繁忙请检查网络环境invalid_parameter参数有误请检查参数是否有误biz_error业务异常请检查业务参数准确性唤起人脸识别调用 verify 接口唤起人脸采集页面并完成比对过程。如果认证成功,将返回一个 ftoken。该 ftoken 用于后续查询被认证用户的信息。params名称类型是否必填具体说明serviceidstring是取值: pay:支付appidstring是开放平台添加刷脸付功能的appid,为学校/商户应用的appidphone_numberstring否用于会员刷脸付方案。填入用户登录会员系统的手机号smile_modestring否用于指定选择刷脸模式。值为 int 类型。0:主屏幕显示(默认值);1:双面屏机具,副屏幕显示。captureuimodeint否captureuimode.click: 拍照付模式(smile5.1.2及以上版本支持,此接口直接传入这个参数)displaywidthstring否刷脸框的宽度displayheightstring否刷脸框的高度displayxstring否刷脸框的显示位置x坐标, 左侧为0displayystring否刷脸框的显示位置x坐标, 上沿为0tradeamountstring否订单金额,会展示在刷脸页面,单位元speedy_amount_soundboolean否captureuimode为click拍照付时,是否打开金额播报,默认为truespeedy_enter_soundstring否captureuimode为click拍照付时,进入拍照付界面,无金额的情况下播放的语音,默认null。需要定义好的eventidenter_soundstring否进入非拍照付界面播放的语音,默认nullexpiretimeint否拍照付预览页面倒计时时间,单位秒,默认20uiconfigjsonstring否--enabletimeoutint否uiconfig的子参数,表示是否开启拍照付页面的预览倒计时,false时表示无倒计时zolozconfigstring否可添加摄像头参数示例:jsonobject jsonobject = new jsonobject(); jsonobject.put("cameraid", 0); jsonobject.put("displayangle", 0);//显示角度 0,90,270 jsonobject.put("isdisplaymirror", true);//显示镜像 jsonobject.put("ismirror", false); jsonobject.put("algorithmangle", 270);//算法角度 0,90,270 jsonobject extinfo = new jsonobject(); params.putstring("zolozconfig", jsonobject.tojsonstring()); delayfinishint否延迟关闭,防止刷脸结束后页面销毁过快,新的结果页没有渲染出来导致的露底问题对于 1:1人脸比对-用户在刷脸前提供手机号 的产品方案,请在入参中增加 phone_number 键值。返回结果示例在 result 对象中会返回当前认证用户的支付宝 uid,这个 uid 是客户端接口返回的结果,并不安全。如果需要依赖 uid 进行业务决策,请不要使用这个 uid 数据。请通过服务端 ftoken 查询接口(query)得到可信的 uid。关键入参参数名称参数类型必填参数说明zimidstring是人脸初始化接口返回的 zimid, 其中包含了唤起人脸验证的关键参数。paramsmap是调用服务初始化返回的结果中的协议内容。●phone_number:可选,用于会员刷脸付方案。填入用户登录会员系统的手机号。●smile_mode:可选,用于指定选择刷脸模式。值为 int 类型。0:主屏幕显示(默认值);1:双面屏机具,副屏幕显示。关键出参参数名称描述code错误码,如果刷脸认证成功返回,则为code_success。msg返回信息。subcode二级返回码。ftoken标识刷脸认证成功,作为查询接口的入參。result被认证用户的支付宝账号 uid。退出刷脸在人脸采集页面调用 command 接口,可退出人脸采集页面并取消刷脸。查询接口得到 uid调用查询接口 zoloz.authentication.customer.ftoken.query(查询刷脸结果信息接口)得到可信的用户 uid。示例代码响应示例关键入参参数名称参数类型必填参数说明ftokenstring是人脸认证调用结果标识,如 fp0593e8d5c136277f13fd5bc。biz_typestring否表明基于姓名和身份证号的刷脸支付场景,固定值为 8。如果是手机号方式,不需要填入该参数。ext_infofaceextinfo否人脸产品拓展参数。关键出参参数名称参数类型必填参数说明uidstring是支付宝 uid,如 2088xxxx。常见错误码统一对外错误码内部业务错误码错误描述凯发app官方网站的解决方案biz_errorbiz_error业务异常排查人脸是否比对成功invalid_parameterinvalid_parameter参数有误排查人脸是否比对成功system_errorsystem_error系统繁忙排查人脸是否比对成功ftoken_invalidftoken_invalidftoken非法检查 ftoken 是否有效以及是否人脸比对通过token_not_foundtoken_not_foundftoken不存在请检查 ftoken 是否正确uid_not_founduid_not_found支付宝用户 id 匹配不对请检查 ftoken 是否正确token_expiredtoken_expiredtoken 已经过期token 已经过期请重新尝试token_consumedtoken_consumedtoken 已经消费token 已经消费请重新尝试调用收单接口完成支付扫脸成功后获取 ftoken,传入 alipay.trade.pay 的 auth_code,,且 scene=security_code。以下示例代码只列出了刷脸支付相关的关键参数,其它收单接口请求参数(如签约返佣协议的 pid),请参考 alipay.trade.pay(统一收单交易支付接口)。关键入参参数名称参数说明out_trade_no商户订单号,需要保证不重复。scene刷脸支付固定传入 security_code。auth_code用户付款码,刷脸支付传入 ftoken。subject订单标题。store_id商户门店编号。total_amount订单金额。timeout_express交易超时时间。关键出参参数名称参数说明trade_no支付宝 28 位交易号。其它支付相关 api 请参考 当面付api。