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实现任意图片lowpoly动画效果实例
May 11 HTML / CSS
利用css3如何设置没有上下边的列表间隔线
Jul 03 HTML / CSS
用CSS3实现无限循环的无缝滚动的示例代码
Nov 01 HTML / CSS
CSS3动画特效在活动页中的应用
Jan 21 HTML / CSS
一篇文章带你学习CSS3图片边框
Nov 04 HTML / CSS
html5自带表单验证体验优化及提示气泡修改功能
Sep 12 HTML / CSS
HTML5等待加载动画效果
Jul 27 HTML / CSS
html5 标签
Jul 16 HTML / CSS
通过Canvas及File API缩放并上传图片完整示例
Aug 08 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
Dec 28 HTML / CSS
浅析CSS在DevTools 中架构演变
Oct 05 HTML / CSS
HTML实现仿Windows桌面主题特效的实现
Jun 28 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
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
JavaScript生成图形验证码
2020/08/24 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
2018/08/10 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
python 字符串格式化代码
2013/03/17 Python
python获取本机外网ip的方法
2015/04/15 Python
python中尾递归用法实例详解
2015/04/28 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
django使用html模板减少代码代码解析
2017/12/12 Python
Python内存读写操作示例
2018/07/18 Python
Python面向对象进阶学习
2019/05/21 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
2020/12/16 Python
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
兴趣班停课通知
2015/04/24 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
Python实现滑雪小游戏
2021/09/25 Python