JSSDK调用微信支付

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();
        }
    }

 

JSSDK调用微信支付

上一篇:以聚合数据免费接口为例,通过 Class 类继承方法,让小程序实现项目化接口调用


下一篇:微信小程序左右滚动公告栏效果