wxFacePay
概述
微信刷脸支付SDK,通过识别用户人脸、手机号,获取人脸凭证(face_code),该人脸凭证具有较高的安全等级,可用于支付。
接口
initWxpayface
对人脸SDK进行初始化
initWxpayface(callback(ret))
params
proxy:
- 类型:JSON对象类型
- 描述:(可选项)网络代理设置
- 内部字段:
{ ip:'', //字符串类型;HTTP代理IP或域名 port:'', //字符串类型;HTTP代理端口, 须为数字 user:'', //字符串类型;HTTP代理的用户名 passwd:'', //字符串类型;HTTP代理的密码 proxy_type:, //数字类型;代理类型 0:none;1:HttpTunel;2:Socks5;3:Http tcp_port:'', //字符串类型;TCP的代理端口,如果TCP代理与IP代理同一端口,则无需设置 }
perform_mode:
- 类型:字符串类型
- 描述:(可选项)刷脸识别性能设置
- 取值范围:
’NORMAL_PRFORM‘:正常性能表现 ’LOW_PERFORM‘:低性能表现
- 默认值:正常性能表现
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:, //字符串类型;错误码
msg:'', //数字类型;错误信息 ret.status 为false时返回
}
示例代码
var wxFacePay = api.require('wxFacePay');
wxFacePay.initWxpayface(
function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
getWxpayfaceRawdata
获取人脸验证信息, 获取到验证信息后,才可调用获取人识别
getWxpayfaceRawdata(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否成功
rawdata:'', //字符串类型;rawdata
}
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:, //字符串类型;错误码
msg:'', //数字类型;错误信息 ret.status 为false时返回
}
示例代码
var wxFacePay = api.require('wxFacePay');
wxFacePay.getWxpayfaceRawdata(
function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
getWxpayFaceAuthInfo
获取调用凭证,详情参考微信支付文档
后端api接口,前端自行获取。
getWxpayfaceUserInfo
通过人脸识别获取用户信息
getWxpayfaceUserInfo(callback(ret))
params
appid:
- 类型:字符串类型
- 描述:商户号绑定的公众号/小程序 appid
mch_id:
- 类型:字符串类型
- 描述:商户号
sub_appid:
- 类型:字符串类型
- 描述:(可选项)子商户绑定的公众号/小程序
sub_mch_id:
- 类型:字符串类型
- 描述:(可选项)子商户号(非服务商模式不填)
store_id:
- 类型:字符串类型
- 描述:门店编号
face_authtype:
- 类型:字符串类型
- 描述:(可选项)人脸识别类型
- 取值范围:
‘FACEID-ONCE’:单次模式 ‘FACEID-LOOP’:循环模式
- 默认值:‘FACEID-ONCE’
authinfo:
- 类型:字符串类型
- 描述:调用凭证,相关获取
ask_unionid:
- 类型:字符串类型
- 描述:(可选项)是否请求获取union_id
- 取值范围:
‘0’:不获取 ‘1’:获取
screen_index:
- 类型:字符串类型
- 描述:(可选项)指定刷脸界面的运行屏幕,设备系统为Android 8.1或以上有效
- 取值范围:
‘0’:默认屏幕 ‘1’:运行在第二屏幕
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型;是否成功
openid:'', //字符串类型;openid
sub_openid:'', //字符串类型;子商户号下的openid(服务商模式)
nickname:'', //字符串类型;微信昵称
token:'', //字符串类型;用于获取union_id
unionid_code:'', //字符串类型;获取union_id 返回码,详情见公共错误码
unionid_msg:'', //字符串类型;获取union_id返回信息
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:, //字符串类型;错误码
msg:'', //数字类型;错误信息 ret.status 为false时返回
}
示例代码
var wxFacePay = api.require('wxFacePay');
wxFacePay.getWxpayfaceUserInfo({
appid:'',
mch_id:'',
sub_appid:'',
sub_mch_id:'',
store_id:'',
face_authtype:'',
authinfo:'',
},
function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
getWxpayfaceCode
进行人脸识别获取支付凭证
getWxpayfaceCode(callback(ret))
params
appid:
- 类型:字符串类型
- 描述:商户号绑定的公众号/小程序 appid
mch_id:
- 类型:字符串类型
- 描述:商户号
sub_appid:
- 类型:字符串类型
- 描述:(可选项)子商户绑定的公众号/小程序
sub_mch_id:
- 类型:字符串类型
- 描述:(可选项)子商户号(非服务商模式不填)
store_id:
- 类型:字符串类型
- 描述:门店编号
telephone:
- 类型:字符串类型
- 描述:(可选项)用户手机号。用于传递会员手机,此手机将作为默认值, 填写到手机输入栏。
openid:
- 类型:字符串类型
- 描述:(可选项)通过getWxpayfaceUserInfo获取的openid,传入后可使用快捷支付模式。如果也传入了telephone,将判断手机号
out_trade_no:
- 类型:字符串类型
- 描述:商户订单号,须与调用支付接口时字段一致,该字段在在face_code_type为"1"时可不填,为"0"时必填
total_fee:
- 类型:字符串类型
- 描述:订单金额(数字), 单位分. 该字段在在face_code_type为"1"时可不填,为"0"时必填
face_authtype:
- 类型:字符串类型
- 描述:(可选项)人脸识别类型
- 取值范围:
‘FACEID-ONCE’:单次模式 ‘FACEID-LOOP’:循环模式
- 默认值:‘FACEID-ONCE’
authinfo:
- 类型:字符串类型
- 描述:调用凭证,相关获取
ask_face_permit:
- 类型:字符串类型
- 描述:支付成功页是否需要展示人脸识别授权项。用户授权后用于1:N识别,可返回用户信息openid,建议商户有自己会员系统时,填1。
- 取值范围:
展示:1 不展示:0
ask_ret_page:
- 类型:字符串类型
- 描述:(可选项)是否展示微信支付成功页,可选值:"0",不展示;"1",展示。
face_code_type:
- 类型:字符串类型
- 描述:(可选项)目标face_code类型,可选值:"1",刷卡付款码:18位数字,通过「付款码支付/被扫支付」接口完成支付。
- 默认值:‘0’
ignore_update_pay_result:
- 类型:字符串类型
- 描述:(可选项)商户端是否对SDK返回支付结果,可选值:"0",返回支付结果,商户需在确认⽀付结果后调⽤[updateWxpayfacePayResult]通知SDK;"1",不返回支付结果。
- 默认值:‘0’
screen_index:
- 类型:字符串类型
- 描述:(可选项)指定刷脸界面的运行屏幕,设备系统为Android 8.1或以上有效
- 取值范围:
‘0’:默认屏幕 ‘1’:运行在第二屏幕
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;是否成功
face_code:'', //人脸凭证
openid:'', //字符串类型;openid
sub_openid:'', //字符串类型;子商户号下的openid(服务商模式)
telephone_used', //数字类型;0:没有使用,1:使用了
underage_state:'', //数字类型;0:状态不明确,1:成年人,2:未成年人
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:, //字符串类型;错误码
msg:'', //数字类型;错误信息 ret.status 为false时返回
}
示例代码
var wxFacePay = api.require('wxFacePay');
wxFacePay.getWxpayfaceCode({
appid:'',
mch_id:'',
store_id:'',
face_authtype:'',
telephone:'',
openid:'',
out_trade_no:'',
total_fee:'',
authinfo:'',
},
function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
micropay
进行发起订单支付,详情参考微信支付文档
后端api接口,前端调用。
orderquery
查询订单状态,详情参考微信支付文档
后端api接口,前端调用。
reverse
撤销交易,详情参考微信支付文档
后端api接口,前端调用。
updateWxpayfacePayResult
更新支付结果,商户侧确认支付结果后通知人脸SDK 更新支付结果,用户确认支付结果后返回wxpayfaceCallBack,刷脸支付界面关闭
updateWxpayfacePayResult(callback(ret))
params
appid:
- 类型:字符串类型
- 描述:商户号绑定的公众号/小程序 appid
mch_id:
- 类型:字符串类型
- 描述:商户号
store_id:
- 类型:字符串类型
- 描述:门店编号
authinfo:
- 类型:字符串类型
- 描述:调用凭证,相关获取
payresult:
- 类型:字符串类型
- 描述:支付结果
- 取值范围:
‘SUCCESS’:支付成功 ‘ERROR’:支付失败
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;是否成功
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:, //字符串类型;错误码
msg:'', //数字类型;错误信息 ret.status 为false时返回
}
示例代码
var wxFacePay = api.require('wxFacePay');
wxFacePay.updateWxpayfacePayResult({
appid:'',
mch_id:'',
store_id:'',
authinfo:'',
payresult:'',
},
function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
releaseWxpayface
释放人脸服务,断开连接
releaseWxpayface(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔类型;是否成功
err:
- 类型:JSON 对象
- 内部字段:
{
errorCode:, //字符串类型;错误码
msg:'', //数字类型;错误信息 ret.status 为false时返回
}
示例代码
var wxFacePay = api.require('wxFacePay');
wxFacePay.releaseWxpayface({
},
function(ret) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本