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 相关文章推荐
推荐10个CSS3 制作的创意下拉菜单效果
Feb 11 HTML / CSS
你应该知道的30个css选择器
Mar 19 HTML / CSS
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
May 07 HTML / CSS
CSS3 text shadow字体阴影效果
Jan 08 HTML / CSS
CSS3弹性盒模型开发笔记(二)
Apr 26 HTML / CSS
解决CSS3的opacity属性带来的层叠顺序问题
May 09 HTML / CSS
css和css3弹性盒模型实现元素宽度(高度)自适应
May 15 HTML / CSS
W3C公布最新的HTML5标准草案
Oct 17 HTML / CSS
突袭HTML5之Javascript API扩展3—本地存储全新体验
Jan 31 HTML / CSS
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
May 07 HTML / CSS
使用html5新特性轻松监听任何App自带返回键的示例
Mar 13 HTML / CSS
可能这些是你想要的H5软键盘兼容方案(小结)
Apr 23 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控制网页过期时间的代码
2008/09/28 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
家具厂厂长岗位职责
2014/01/01 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
先进典型发言材料
2014/12/30 职场文书
清明节随笔
2015/08/15 职场文书
python基础入门之普通操作与函数(三)
2021/06/13 Python
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL