开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
网页&移动应用 
支付产品
当面付
app支付
手机网站支付
电脑网站支付
刷脸付
api 列表
相关资料
预授权支付
商家扣款
订单码支付
私域产品
公域产品
营销产品
资金产品
会员产品
信用产品
安全产品
广告产品
其他通用产品
开发 > 服务端 > 支付产品 > 刷脸付 > 接入指南
收藏
订阅更新
我的文档
设置
接入检测
即可查看检测结果)
若有未通过的接入检测项,接口将无法调通
1 1:1刷脸支付
1.1 接入流程

1.2 接入步骤
请查看下文  demo 源码快速了解如何接入刷脸支付。
本 demo 中为了展现完整的接入代码,使用客户端模拟服务端发出支付宝开放接口的请求,将私钥存储在客户端,这是非常不安全的做法,请务必在上线应用中,在服务端发起刷脸初始化和收单接口的请求。另外,本 demo 中没有填入支付宝公钥参数,请在上线应用中,正确填写。
demo名称
开发语言
备注
下载
smiledemo.zip
java
不带账密,需要服务商填写账密后再运行。

在编译 miledemo 工程之前,请打开原文件 merchantinfo.java,将以下两个参数填入正确信息。
1.2.1 获取刷脸所需的设备信息
调用接口 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
扩展参数,用于商家服务端传入信息。
1.2.2 刷脸初始化
调用服务端接口 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
可选
商户id
partner_id
可选
服务商 id
store_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
业务异常
请检查业务参数准确性
1.2.3 唤起人脸识别
调用 verify 接口唤起人脸采集页面并完成比对过程。如果认证成功,将返回一个 ftoken。该 ftoken 用于后续查询被认证用户的信息。
params
名称
类型
是否必填
具体说明
serviceid
string

取值: pay:支付
appid
string

开放平台添加刷脸付功能的appid,为学校/商户应用的appid
phone_number
string

用于会员刷脸付方案。填入用户登录会员系统的手机号
smile_mode
string

用于指定选择刷脸模式。值为 int 类型。0:主屏幕显示(默认值);1:双面屏机具,副屏幕显示。
captureuimode
int

captureuimode.click: 拍照付模式(smile5.1.2及以上版本支持,此接口直接传入这个参数)
displaywidth
string

刷脸框的宽度
displayheight
string

刷脸框的高度
displayx
string

刷脸框的显示位置x坐标, 左侧为0
displayy
string

刷脸框的显示位置x坐标, 上沿为0
tradeamount
string

订单金额,会展示在刷脸页面,单位元
speedy_amount_sound
boolean

captureuimode为click拍照付时,是否打开金额播报,默认为true
speedy_enter_sound
string

captureuimode为click拍照付时,进入拍照付界面,无金额的情况下播放的语音,默认null。需要定义好的eventid
enter_sound
string

进入非拍照付界面播放的语音,默认null
expiretime
int

拍照付预览页面倒计时时间,单位秒,默认20
uiconfig
jsonstring

-
-enabletimeout
int

uiconfig的子参数,表示是否开启拍照付页面的预览倒计时,false时表示无倒计时
zolozconfig
string

可添加摄像头参数
示例:
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()); 
delayfinish
int

延迟关闭,防止刷脸结束后页面销毁过快,新的结果页没有渲染出来导致的露底问题
对于 1:1人脸比对-用户在刷脸前提供手机号 的产品方案,请在入参中增加 phone_number 键值。
返回结果示例
在 result 对象中会返回当前认证用户的支付宝 uid,这个 uid 是客户端接口返回的结果,并不安全。如果需要依赖 uid 进行业务决策,请不要使用这个 uid 数据。请通过服务端 ftoken 查询接口(query)得到可信的 uid。
关键入参
参数名称
参数类型
必填
参数说明
zimid
string

人脸初始化接口返回的 zimid, 其中包含了唤起人脸验证的关键参数。
params
map

调用服务初始化返回的结果中的协议内容。
phone_number:可选,用于会员刷脸付方案。填入用户登录会员系统的手机号。
smile_mode:可选,用于指定选择刷脸模式。值为 int 类型。0:主屏幕显示(默认值);1:双面屏机具,副屏幕显示。
关键出参
参数名称
描述
code
错误码,如果刷脸认证成功返回,则为code_success。
msg
返回信息。
subcode
二级返回码。
ftoken
标识刷脸认证成功,作为查询接口的入參。
result
被认证用户的支付宝账号 uid。
1.2.4 退出刷脸
在人脸采集页面调用 command 接口,可退出人脸采集页面并取消刷脸。
1.2.5 查询接口得到 uid
调用查询接口 zoloz.authentication.customer.ftoken.query(查询刷脸结果信息接口)得到可信的用户 uid。
示例代码
响应示例

关键入参
参数名称
参数类型
必填
参数说明
ftoken
string

人脸认证调用结果标识,如 fp0593e8d5c136277f13fd5bc。
biz_type
string

表明基于姓名和身份证号的刷脸支付场景,固定值为 8。如果是手机号方式,不需要填入该参数。
ext_info
faceextinfo

人脸产品拓展参数。
关键出参
参数名称
参数类型
必填
参数说明
uid
string

支付宝 uid,如 2088xxxx。
常见错误码
统一对外错误码
内部业务错误码
错误描述
凯发app官方网站的解决方案
biz_error
biz_error
业务异常
排查人脸是否比对成功
invalid_parameter
invalid_parameter
参数有误
排查人脸是否比对成功
system_error
system_error
系统繁忙
排查人脸是否比对成功
ftoken_invalid
ftoken_invalid
ftoken非法
检查 ftoken 是否有效以及是否人脸比对通过
token_not_found
token_not_found
ftoken不存在
请检查 ftoken 是否正确
uid_not_found
uid_not_found
支付宝用户 id 匹配不对
请检查 ftoken 是否正确
token_expired
token_expired
token 已经过期
token 已经过期请重新尝试
token_consumed
token_consumed
token 已经消费
token 已经消费请重新尝试
1.2.6 调用收单接口完成支付
扫脸成功后获取 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
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图