被設置爲公衆號入口的頁面的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)) } })