被设置为公众号入口的页面的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))
}
})