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实现质感细腻丝滑按钮
Mar 09 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
Apr 03 HTML / CSS
CSS3中的Media Queries学习笔记
May 23 HTML / CSS
详解CSS 3 中的 calc() 方法
Jan 12 HTML / CSS
利用简洁的图片预加载组件提升html5移动页面的用户体验
Mar 11 HTML / CSS
html5 css3网站菜单实现代码
Dec 23 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
Dec 09 HTML / CSS
Html5 video标签视频的最佳实践
Feb 26 HTML / CSS
完美实现CSS垂直居中的11种方法
Mar 27 HTML / CSS
CSS3鼠标悬浮过渡缩放效果
Apr 17 HTML / CSS
html+css实现赛博朋克风格按钮
May 26 HTML / CSS
聊聊CSS粘性定位sticky案例解析
Jun 01 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定义一个数组最简单的方法
2019/10/04 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
javascript 树控件 比较好用
2009/06/11 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
2017/12/26 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
python函数形参用法实例分析
2015/08/04 Python
各个系统下的Python解释器相关安装方法
2015/10/12 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
Python实战购物车项目的实现参考
2019/02/20 Python
Python 用matplotlib画以时间日期为x轴的图像
2019/08/06 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
信用社实习人员自我鉴定
2013/09/20 职场文书
导游个人求职信范文
2014/03/23 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
文员岗位职责范本
2015/04/16 职场文书