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中的注音对齐属性ruby-align用法指南
Jul 01 HTML / CSS
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
Apr 16 HTML / CSS
在HTML5中如何使用CSS建立不可选的文字
Oct 17 HTML / CSS
使用CSS3美化HTML表单的技巧演示
May 17 HTML / CSS
CSS3关于z-index不生效问题的解决
Feb 19 HTML / CSS
HTML5 Canvas 起步(1) - 基本概念
May 12 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
Mar 29 HTML / CSS
HTML5对比HTML4的主要改变和改进总结
May 27 HTML / CSS
HTML5实现音频和视频嵌入的方法
Aug 22 HTML / CSS
html5默认气泡修改的代码详解
Mar 13 HTML / CSS
Html5调用企业微信的实现
Apr 16 HTML / CSS
从QQtabBar看css命名规范BEM的详细介绍
Aug 07 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
xml+php动态载入与分页
2006/10/09 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
在IE和VB中支持png图片透明效果的实现方法(vb源码打包)
2011/04/01 Javascript
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
js实现双色球效果
2020/08/02 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
Python查看多台服务器进程的脚本分享
2014/06/11 Python
python文件写入write()的操作
2019/05/14 Python
Python字符串大小写转换拼接删除空白
2019/09/19 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
什么是Python中的匿名函数
2020/06/02 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
社区先进事迹材料
2014/05/19 职场文书
建筑施工安全责任书
2014/07/24 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server