• H5微信支付、支付宝支付


    二、支付宝支付

    1.支付宝支付比微信简单多了,也许是后端都配置好了,支付宝支付要在非微信浏览器里面才可以

    2.根据后端自定义的接口传相应的参数(比如用户id、手机号、价格、支付方式等),成功后从返回值中取出类似form的表单的地址,这个就是拉起支付宝的东西,将此插入到当前页,打开就可以看到支付宝被拉起了

    3.下面就是此页面所有的代码

    $(function () {
            function getQueryString(name) { //去url上的id
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                var r = window.location.search.substr(1).match(reg);
                if (r != null) return unescape(r[2]);
                return null;
            }
            var phone = getQueryString('phone'); //手机号
            var code = getQueryString('code'); //验证码
            var id = getQueryString('id'); //课程id
            var openid = getQueryString('openid');
            var appToken = getQueryString('appToken');
    
            //判断是否在微信浏览器
            var ua = navigator.userAgent.toLowerCase();
            var isWeixin = ua.indexOf('micromessenger') != -1;
            if (!isWeixin) {
                const params = {
                    id: id, //页面初始加载带的id
                    phone: phone, //用户手机号
                    smsCode: code, //用户验证码
                    channel: 'aliPay', //支付方式 wxPay微信 aliPay支付宝
                }
                /* 支付宝支付,传递后台要求的参数,返回值是一个form表单即唤起支付宝的地址 */
                $.ajax({
                    url: base_url + '******/payMoneyForWeChatH5',
                    type: 'post',
                    dataType: "html",
                    headers: {
                        openid: openid,
                        appToken: appToken
                    },
                    data: JSON.stringify(params),
                    contentType: 'application/json;charset=UTF-8',
                    success: function (res) {
                        var res = JSON.parse(res);
                        if (res.code == 0) {
                            $('body').append(res.data.content[0].aliString);
                            $("form").attr("target", "_blank");
                        } else {
                            alert(res.msg)
                        }
                    },
                })
            }
        })
    

    H5微信支付、支付宝支付

    爱生活、爱编程!
  • 相关阅读:
    Netty回调与Channel执行流程分析
    Netty执行流程分析与重要组件介绍
    HBase 介绍
    Java文件上传下载原理
    ngxtop安装和使用
    开启Nginx监控 with-http_stub_status_module
    Spring 事务模板方法设计模式
    Spring 事务管理
    JdkDynamicAopProxy 拦截器链的获得与递归执行
    CgLib实现AOP
  • 原文地址:https://www.cnblogs.com/liliuyu/p/14638159.html
Copyright © 2020-2023  润新知