微信刷脸支付插件

举报
清雨小竹 发表于 2022/09/14 10:43:58 2022/09/14
【摘要】 本插件分装了微信刷脸支付Android SDK v2.21.114版本。微信刷脸支付官方文档:https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/android/facepay.html本插件实现封装了SDK中的5个方法:1、程序启动时初始化 initWxpayface2、获取数据 getWxpayfaceRawdata3、人脸识别 ge...

本插件分装了微信刷脸支付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>
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。