h5移动端调用支付宝、微信支付的实现


Posted in HTML / CSS onJune 08, 2020

公司项目之前已有支付宝支付,现要求增加微信支付,第一次做,摸着石头过河!结果是满意的。
废话就不说了直接上代码:

var aliChannel = null; 
    var wxChannel = null;

    // 定义支付方式切换 
    var state_type = 1;
    // 选择支付方式  默认为支付宝样式
    $(".zfb").find("i").css("background-Image","url(../img/pl_8.png)");
    $(".pay").on("singleTap",".pay_c",function(){
        $(this).find("i").css("background-Image","url(../img/pl_8.png)");
        $(this).siblings().find("i").css("background-Image","url(../img/pl_9.png)");

        if($(this).find("span").text().trim() == "支付宝"){
            state_type = 1;

        }else if($(this).find("span").text().trim() == "微信"){
            state_type = 2;
        }
    })
    // 点击支付
    $('.pay_btn').unbind();
    $('.pay_btn').singleTap(function () {
        if(state_type == 1){
            // 支付宝通道
            mui.plusReady(function () { // 获取支付通道  
                plus.payment.getChannels(function (channels) {
                    for (var i in channels) {
                        if (channels[i].id == "wxpay") {
                            wxChannel = channels[i];
                        } else {
                            aliChannel = channels[i];
                        }
                    }
                }, function (e) {
                    alert("获取支付通道失败:" + e.message);
                });
            })

            mui.post('此处填写支付接口', {
               '此处填写所需参数'
            },
            function (data) {
                console.log(JSON.stringify(data));
                if (data) {
                    data = data.data.payStr;
                    plus.payment.request(aliChannel, data, function (result) {
                        
                            // 支付成功处理
                       
                    }, function (e) {
                        floatRemind("付费失败,用户已取消");
                    });
                } else {
                    plus.nativeUI.alert("支付失败");
                }
            });
        }else if(state_type == 2){
            // 微信通道
            mui.plusReady(function () { // 获取支付通道  
                plus.payment.getChannels(function (channels) {
                    for (var i in channels) {
                        if (channels[i].id == "wxpay") {
                            wxChannel = channels[i];
                        } else {
                            aliChannel = channels[i]; 
                        }
                    }
                }, function (e) {
                    alert("获取支付通道失败:" + e.message);
                });
            })

            mui.post('此处填写支付接口', {
                '此处填写所需参数'
            },
                function (data) {
                    data = JSON.stringify(data.data);
                    if (data) {
                        plus.payment.request(wxChannel, data, function (result) {
                            
                                // 支付成功处理
                           
                        }, function (msg) {
                            // JSON.stringify(msg.message)
                            floatRemind('支付失败');
                        });
                    } else {
                        plus.nativeUI.alert("支付失败");
                    }
                });
        }

        
        
    })

自己已经用过了,没有问题,支付宝可以真机调试,微信必须打包下载测试。

测试过程中有过报错-100,百度各种解决方法,后来发现不是前端问题,有人说打包必须选自有证书,自己试过了不需要,公用证书就可以的。

h5移动端调用支付宝、微信支付的实现

代码就是这些,可以直接拿去用,测试如果OK,请给点鼓励,谢谢!第一次写博客,写的不好请见谅!

到此这篇关于h5移动端调用支付宝、微信支付的实现的文章就介绍到这了,更多相关h5移动端支付宝微信支付内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
可以随进度显示不同颜色的css3进度条分享
Apr 11 HTML / CSS
CSS3的transition和animation的用法实例介绍
Aug 20 HTML / CSS
在HTML5中如何使用CSS建立不可选的文字
Oct 17 HTML / CSS
深入浅析css3 border-image边框图像详解
Nov 24 HTML / CSS
CSS3 实现的缩略图悬停效果
Dec 09 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
Jan 07 HTML / CSS
详解HTML5中的Communication API基本使用方法
Jan 29 HTML / CSS
HTML5 3D衣服摇摆动画特效
Mar 17 HTML / CSS
详解h5页面在不同ios设备上的问题总结
Mar 01 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
Jul 25 HTML / CSS
HTML5 drag和drop具体使用详解
Jan 18 HTML / CSS
css position fixed 左右双定位的实现代码
Apr 29 HTML / CSS
使用SVG实现提示框功能的示例代码
Jun 05 #HTML / CSS
Html5嵌入钉钉的实现示例
Jun 04 #HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
Jun 04 #HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
Jun 03 #HTML / CSS
html5视频自动横过来自适应页面且点击播放功能的实现
Jun 03 #HTML / CSS
使用Html5 Stream开发实时监控系统
Jun 02 #HTML / CSS
Html5 canvas画图白板踩坑
Jun 01 #HTML / CSS
You might like
PHP中的CMS的涵义
2007/03/11 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
Javascript连接多个数组不用concat来解决
2014/03/24 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
下载给定网页上图片的方法
2014/02/18 Python
python操作sqlite的CRUD实例分析
2015/05/08 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
pytorch标签转onehot形式实例
2020/01/02 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
生产主管岗位职责
2013/11/10 职场文书
鲜果饮品店创业计划书
2014/01/21 职场文书
法学专业自我鉴定
2014/02/05 职场文书
法学函授自我鉴定
2014/02/06 职场文书
干部对照检查材料范文
2014/08/26 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
红十字会救护培训简讯
2015/07/20 职场文书
感恩教师节主题班会
2015/08/12 职场文书