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垂直手风琴菜单
Jun 28 HTML / CSS
CSS3等相关属性制作分页导航实现代码
Dec 24 HTML / CSS
CSS3 transform的skew属性值图文详解
Jul 21 HTML / CSS
html5 sessionStorage会话存储_动力节点Java学院整理
Jul 06 HTML / CSS
浅谈cookie和localStorage那些事
Aug 27 HTML / CSS
html5+css3实现一款注册表单实例
Apr 17 HTML / CSS
HTML5之tabindex属性全面解析
Jul 07 HTML / CSS
浅谈HTML5 Web Worker的使用
Jan 05 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
Dec 16 HTML / CSS
Html分层的box-shadow效果的示例代码
Mar 30 HTML / CSS
HTML常用标签超详细整理
Mar 19 HTML / CSS
开发微信小程序之WXSS样式教程
Apr 18 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 静态变量与自定义常量的使用方法
2010/01/26 PHP
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
浅析php如何实现App常用的秒发功能
2016/08/03 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
JavaScript版代码高亮
2006/06/26 Javascript
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
[04:16]DOTA2英雄梦之声_第09期_斧王
2014/06/21 DOTA
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
python在控制台输出进度条的方法
2015/06/20 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
python单例设计模式实现解析
2020/01/07 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
The Hut英国:英国领先的豪华在线百货商店
2019/07/26 全球购物
学年末自我鉴定
2014/01/21 职场文书
五年级下册复习计划
2015/01/19 职场文书
2015年班级工作总结范文
2015/04/03 职场文书
离婚被告代理词
2015/05/23 职场文书
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL