最近几天有大量用户反馈,支付后就打不开页面了,一直排查不出问题。我观察服务器日志,发现返回返回长度都是一致的,也没有任何错误记录在日志里面。
直到今天我直接手机也出现这个问题,手机支付后就无法打开页面了,然后我发现在 windows 还是可以打开,
然后我试着清空微信缓存,发现仍然无法打开手机网站(该域名下任何一个网站都不行),
然后我试着清空服务器 session,还是没有解决,
然后我试着退出微信,重新登录,网站可以打开了。
一直在用的微信 jsapi 接口也不能用了:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
function onBridgeReady(){
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId":"wx2421b1c4370ec43b", //公众号名称,由商户传入
"timeStamp":"1395712654", //时间戳,自 1970 年以来的秒数
"nonceStr":"e61463f8efa94090b1f366cccfbbb444", //随机串
"package":"prepay_id=u802345jgfjsdfgsdg888",
"signType":"MD5", //微信签名方式:
"paySign":"70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ){
// 使用以上方式判断前端返回,微信团队郑重提示:
//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();
}
以前前端都依赖 get_brand_wcpay_request:ok
这个做前端判定,现在是这里永远没有 ok 。