function onBridgeReady() { WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId": appId, //公众号名称,由商户传入 "timeStamp": timeStamp, //时间戳,自1970年以来的秒数 "nonceStr": nonceStr, //随机串 "package": package, "signType": signType, //微信签名方式: "paySign": sign //微信签名 }, function (res) { if (res.err_msg == "get_brand_wcpay_request:ok") { window.location.href = "order.html" } else { alert("支付失败") } // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。 } ); } if (typeof WeixinJSBridge == "undefined") { if (document.addEventListener) { document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); } else if (document.attachEvent) { document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } } else { onBridgeReady(); }
前端接口也许几句话就解决了。php
可是后端计算的快吐血了。html
因此这边仍是推荐微信的官方文档前端
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7后端
"appId": appId, //公众号名称,由商户传入 "timeStamp": timeStamp, //时间戳,自1970年以来的秒数 "nonceStr": nonceStr, //随机串 "package": package, "signType": signType, //微信签名方式: "paySign": sign //微信签名
这几个参数居然所有都须要后端生成。我也是醉了
