刷脸支付设备对接有支付宝、微信两个平台的刷脸支付项目,其中如何对接两者的接口呢?下面以支付宝的对接案例做分析简介:
支付宝刷脸主要提供了两种不同的接口,一个是生活类的刷脸接口,一个是支付类的刷脸接口
生活类的刷脸接口主要是配合一个查询的接口使用的,用户刷脸查询用户的基本信息,姓名、身份证号、手机号之类的;
支付类的刷脸接口则是用户刷脸直接授权支付进行扣费的接口;两个接口虽然后面的目的不太相同,但是开始的准备和所需的参数基本类似:
一、刷脸支付的基本流程
1、首先要获取商户信息
商户必须是开通了刷脸支付权限的商户,在这一步的时候商户是需要进行第三方应用授权的,拿着服务商的appid,拼接一个URL,唤起授权页,商户的账号登录点击授权获取一个app_auth_code,之后使用app_auth_code换取app_auth_token,code的有效期是有时间限制的,token是一直不变的,后续的业务要进行,商户必须有token,拼接URL的代码如下:
商户授权后支付宝会带着code返回URL里面的回调地址,这时候用code换取token,代码如下:
获取到token后,商户信息的准备就结束了,开始调用
2、商户app会拿着商户信息去预热
一般只会预热一次,预热后获取设备信息,拿到这些信息后组装参数传给服务端,服务端用这些参数去支付宝初始化,代码如下;
3、获取ftoken进行支付
初始化成功后会获取到一个刷脸标识的id和刷脸标识的协议,即zimId和zimInitClientData,把这两个参数返回给客户端,拿到两个参数后的商户app会自动唤起人脸识别,返回一个ftoken传给服务端,服务端拿到ftoken直接调用支付宝的条码支付接口,把ftoken的值传给auth_code再写死一个scene为security_code就可以了
刷脸支付到这里基本就结束了。
二、生活类刷脸接口
因为必须要商户授权码,还需要用户授权,因为要查询用户的基本信息,需要先组装授权的URL给商户和用户,获取授权码后初始化之类的,回调地址要配置在商户的平台,支付宝会返回授权访问令牌,获取后再查询商户信息。
生活类刷脸获取用户信息的第一步和第二步与支付类相似,都是获取商户的token然后进行初始化唤起人脸识别,但是支付的唤起人脸识别后直接调用支付接口,查询信息的则需要先进行用户授权
1、唤起授权页用户进行授权
1、获取授权访问令牌
拼接授权连接获取到用户授权,支付宝会返回一个auth_code,然后调用支付宝alipay.system.oauth.token接口,返回access_token 授权访问令牌,代码如下:
获取到用户的授权访问令牌
3、查询用户信息
获取到授权访问令牌查询用户的基本信息,代码如下:
刷脸支付支付宝对接完成基础设置,更多详情欢迎扫码沟通——提供刷脸支付技术支持: