微信、支付宝授权与支付

被设置为公众号入口的页面的url中都会包含一个code参数,然后通过code和appid去获取token等一些信息

1. 引入

<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

2. 

// 点击充值按钮
    $('.recharge_btn').on('tap', function(){
        
        var options = {
            token:localStorage.getItem('token'), 
            gateway: 'wechat', 
            type:'jsapi', 
            paylist: window.payid, 
            appid: wxappid,
            openid: localStorage.getItem('openid')
        }
        $.ajax({
            url: `http://${url}/user/api/pay`,
            type: 'post',
            dataType: 'json',
            data: JSON.stringify(options),
            success: function(res){
                // alert(JSON.stringify(res))
          //获取后台返回的关于
getBrandWCPayRequest中的参数
                window.params = res.jsApiParameters
                console.log(res)
                callpay();
            },
            error: function(res){
                alert('error')
                alert(JSON.stringify(res))
            }
        })

    })

    function jsApiCall() {
        // alert(JSON.stringify(params))
        WeixinJSBridge.invoke(
            'getBrandWCPayRequest', {
                'appId': params.appId,
                'nonceStr': params.nonceStr,
                'package': params.package,
                'signType': params.signType,
                'timeStamp': params.timeStamp,
                'paySign': params.paySign,
            },
            function (res) {
                WeixinJSBridge.log(res.err_msg);
                // alert(res.err_code + res.err_desc + res.err_msg);
                if (res.err_msg == "get_brand_wcpay_request:ok") {
                    // 使用以上方式判断前端返回,微信团队郑重提示:
                    // res.err_msg将在用户支付成功后返回
                    // ok,但并不保证它绝对可靠。
                    alert("支付成功");
                }
                else if (res.err_msg == "get_brand_wcpay_request:cancel") {
                    alert("支付取消");
                }
                else {
                    alert("支付失败");
                }
            }
        );
    }

    function callpay() {
        // alert('callpay')
        if (typeof WeixinJSBridge == "undefined") {
            alert('1')
            if (document.addEventListener) {
                document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
            } else if (document.attachEvent) {
                alert('2')
                document.attachEvent('WeixinJSBridgeReady', jsApiCall);
                document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
            }
        } else {
            // alert('3')
            jsApiCall();
        }
    }

 支付宝支付

<script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.min.js"></script>

 

var woptions = {
                token: localStorage.getItem('token'),
                pdr: Number(pdr),
                gateway: 'alipay',
                type: type,
                pay: Number(pay),
                appid: localStorage.getItem('app_id'),
                callback: `https://${url}/h5m/myOrder.html`  //支付完成跳转到myorder.html
            }
            $.ajax({
                url: `/user/api/park/pay/`,
                type: 'post',
                data: JSON.stringify(woptions),
                dataType: 'json',
                success: function(res){
                    localStorage.setItem('zfbhtml', res.prepayid)
                    location.href = 'zfb_ok.html'
                },
                error: function(res){
                    alert(JSON.stringify(res))
                }
            })

  

转载于:https://www.cnblogs.com/xhrr/p/11512716.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值