微信、支付寶受權與支付

被設置爲公衆號入口的頁面的url中都會包含一個code參數,而後經過code和appid去獲取token等一些信息javascript

1. 引入html

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

 支付寶支付java

<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))
                }
            })
相關文章
相關標籤/搜索