刷脸支付场景说明
该流程通过识别用户人脸、手机号,获取人脸凭证(face_code),该人脸凭证具有较高的安全等级,可用于支付。
接口调用注意事项:
在刷脸支付流程中,Step1之前不进行过多的主线程耗时操作,避免耗时累计导致启动刷脸慢影响用户体验。
商户APP微信人脸sdk商户server微信支付后台APIStep 1 程序启动时初始化1. 程序启动时初始化 initWxpayfacedoInitWxpayface(返回初始化结果)Step 2 获取数据、SDK调用凭证2. 获取数据 getWxpayfaceRawdatadoGetWxpayfaceRawdata(返回rawdata)3.获取SDK调用凭证3.get_wxpayface_authinfo(rawdata)返回authinfo返回authinfoStep 3 启动人脸识别,发起订单人脸支付4. 进行人脸识别 getWxpayfaceCode启动人脸识别activity进行人脸识别完成人脸识别回调返回人脸识别结果(face_code, openid)doWxPayfaceCodeCallback(返回人脸识别结果)5. 发起订单人脸支付发起订单支付micropay(face_code)返回支付结果返回支付结果查询支付结果6. 查询订单状态orderquery返回订单状态loop[ 直到:返回确定的订单状态/超过轮询时间 ]返回支付结果撤销交易,以避免用户扣款,而没有发货的情况(撤销可后台异步进行)7. 撤销交易reverse返回撤销结果loop[ 撤销交易直到成功 ]opt[ 轮询结束仍然没有支付成功 ]alt[ 支付成功/失败 ][ 支付结果未明(比如:支付中/网络超时) ]Step 4 更新支付结果(2.13及以上版本不支持该接口),完成支付8. 更新支付结果updateWxpayfacePayResult(callback)用户确认支付结果关闭人脸应用界面doUpdatePayResultCallBack(界面关闭,触发回调)程序退出(...)opt[ 2.13及以后版本的废弃该接口,不需要调用 ]9. 释放资源 releaseWxpayface商户APP微信人脸sdk商户server微信支付后台API。