微信刷脸支付插件

简介: 微信刷脸支付插件

本插件分装了微信刷脸支付Android SDK v2.21.114版本。

微信刷脸支付官方文档:

https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/android/facepay.html

本插件实现封装了SDK中的5个方法:

1、程序启动时初始化 initWxpayface

2、获取数据 getWxpayfaceRawdata

3、人脸识别 getWxpayfaceCode(获取用户信息)

4、释放资源 releaseWxpayface

5、启动防火墙配置 enableFirewall

有异步返回信息的方法会通过globalEvent的形式进行返回信息,具体请参考示例代码。

具体刷脸支付业务流程的实现,请参考官方文档。

<template>
  <view>
    <view>
      <button @click="getversion()">getversion</button>
      <button @click="initWxpayface()">initWxpayface</button>
      <button @click="getWxpayfaceRawdata()">getWxpayfaceRawdata</button>
      <button @click="getWxpayfaceCode()">getWxpayfaceCode</button>
      <button @click="releaseWxpayface()">releaseWxpayface</button>
      <button @click="enableFirewall()">enableFirewall</button>
      <button @click="openfacepay()">完整流程</button>
    </view>
    <text v-for="(item,index) in msglist">{{item}}\n</text>
  </view>
</template>
<script>
  const wxfacepayzz = uni.requireNativePlugin('zzzili-wxfacepayzz');
  export default {
    data() {
      return {
        msglist: []
      }
    },
    onLoad() {
      this.msglist.push('start test print')
    },
    methods: {
      getversion: function() {
        this.msglist.push(wxfacepayzz.getVersion());
      },
      initWxpayface: function() {
        var map = {
          ip: "192.168.1.1", //若没有代理,则不需要此行
          port: "8888", //若没有代理,则不需要此行
          user: "mEtnUser", //若没有代理,则不需要此行
          passwd: "mEtnPassword", //若没有代理,则不需要此行
          proxy_type: 1, //若没有代理,则不需要此行        
          perform_mode: "LOW_PERFORM" //低性能表现,默认关闭美颜等
        };
        var that = this;
        this.msglist.push('wxfacepayzz.getVersion()' + wxfacepayzz.initWxpayface(map, function(res) {
          that.msglist.push(JSON.stringify(res));
        }));
      },
      getWxpayfaceRawdata: function() {
        var that = this;
        this.msglist.push('wxfacepayzz.getWxpayfaceRawdata()' + wxfacepayzz.getWxpayfaceRawdata(function(res) {
          that.msglist.push(JSON.stringify(res));
        }));
      },
      getWxpayfaceCode: function() {
        var map = {
          appid: "123456",
          mch_id: "123456",
          store_id: "123456",
          out_trade_no: "123456",
          total_fee: "0.01",
          face_authtype: "FACEPAY",
          authinfo: "124156565",
          face_code_type: "1"
        };
        var that = this;
        this.msglist.push('wxfacepayzz.getWxpayfaceCode()' + wxfacepayzz.getWxpayfaceCode(map, function(res) {
          //wxpayfaceCallBack
          that.msglist.push(JSON.stringify(res));
        }, function(res) {
          //updateResultWxpayfaceCallBack
          that.msglist.push(JSON.stringify(res));
        }));
      },
      releaseWxpayface: function() {
        this.msglist.push('wxfacepayzz.releaseWxpayface()' + wxfacepayzz.releaseWxpayface());
      },
      enableFirewall: function() {
        var mchId = "123456";
        var subMchId = "456789";
        var that = this;
        this.msglist.push('wxfacepayzz.enableFirewall()' + wxfacepayzz.enableFirewall(mchId, subMchId, function(res) {
          that.msglist.push(JSON.stringify(res));
        }));
      },
      openfacepay(){
        var that = this;
        //1.初始化
        wxfacepayzz.initWxpayface({},function(res){
          console.log(res);
          //2.获取rawdata
          wxfacepayzz.getWxpayfaceRawdata(function(res2){
            console.log(res2);
            /
            //3.根据返回的rawdata数据,调用Api接口:获取调用凭证,得到参数authinfo
            /
            //4.进行人脸识别
            var map = {
              appid: "123456",
              mch_id: "123456",
              store_id: "123456",
              out_trade_no: "123456",
              total_fee: "0.01",
              face_authtype: "FACEPAY",
              authinfo: "124156565",
              face_code_type: "1"
            };
            wxfacepayzz.getWxpayfaceCode(map, function(res3) {
              //wxpayfaceCallBack
              console.log(res3);
              //5.释放资源
              wxfacepayzz.releaseWxpayface()
            }, function(res4) {
              //updateResultWxpayfaceCallBack
              console.log(res4);
              //5.释放资源
              wxfacepayzz.releaseWxpayface()
            })
          })
        });
      },
    }
  }
</script>
<style>
</style>
相关文章
|
22天前
|
API 开发者
微信native支付对接案例详解
本文详细介绍了微信Native支付的对接流程,包括效果展示、产品介绍、接入前准备、开发指引、API列表、支付通知等,并强调了只有通过微信认证的服务号才能对接微信支付。每年需支付300元认证费用。
34 3
|
3月前
|
Web App开发 移动开发 前端开发
H5微信外支付(移动端浏览器)
H5微信外支付(移动端浏览器)
59 1
 H5微信外支付(移动端浏览器)
|
3月前
|
移动开发 安全 API
微信H5支付--微信JS-SDK支付--点金计划
本文详细介绍了微信H5支付和JS-SDK支付的原理、配置和开发流程,涵盖了H5支付在移动端浏览器外唤起微信支付的细节,以及JS-SDK支付在微信内置浏览器中完成支付的相关注意事项。文章还针对微信支付常见问题,提供了解决方案和代码示例。最后,文章深入解析了微信支付点金计划,包括商家小票的自定义开发、API接口以及支付成功后的页面展示逻辑,为开发者提供了完整的开发参考。
140 0
微信H5支付--微信JS-SDK支付--点金计划
|
3月前
|
JSON 文字识别 小程序
微信小程序OCR插件,实现身份证、行驶证、银行卡、营业执照和驾驶证等识别
微信小程序OCR插件,实现身份证、行驶证、银行卡、营业执照和驾驶证等识别
360 0
|
6月前
|
开发框架 移动开发 JSON
利用微信公众号实现商品的展示和支付(1)
利用微信公众号实现商品的展示和支付(1)
|
5月前
|
移动开发 前端开发 JavaScript
|
6月前
|
安全 API Windows
支付系统13------支付系统的资料在技术库里的在线支付当中,怎样获取微信平台证书那?怎样获取微信平台证书那?第一步打开我们的微信支付平台的文档中心
支付系统13------支付系统的资料在技术库里的在线支付当中,怎样获取微信平台证书那?怎样获取微信平台证书那?第一步打开我们的微信支付平台的文档中心
|
7月前
|
PHP 开发工具
php免费用免认证的微信支付宝支付
php免费用免认证的微信支付宝支付
49 5
|
6月前
|
存储 开发框架 JavaScript
利用微信公众号实现商品的展示和支付(2)
利用微信公众号实现商品的展示和支付(2)
|
7月前
|
PHP 移动开发 安全
PHP应用如何对接微信公众号JSAPI支付
本文介绍了微信支付的多种方式,包括JSAPI支付、APP支付、Native支付、付款码支付和H5支付。
91 8