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