微信支付商户平台(服务商平台)扫码登录后提示“登录超时,请重新登录”时该怎么处理
问题说明
微信支付的服务商 or 商户在登录微信支付平台时,通过扫码方式登录,在手机微信端选择「允许登录」后,商户平台一直提示“登录超时,请重新登录”,很多人这时候会以为是自己有问题,就会重新扫码登录,然后发现还是无法登录,无限死循环。换个浏览器操作,发现又可以正常登录。心里默默的「文明用语」问候一下开发者。
问题复现
访问腾讯地图 map.qq.com后,再访问微信支付商户后台,扫码登录就会出现「登录超时,请重新登录」这个死循环。这时候就有人想说了,你干嘛要访问腾讯地图呢?可能有一些新商户或者新服务商不太了解以前微信支付推出的「智慧经营」活动,也就是早期的「微信支付交易达标免费投放朋友圈广告」功能,这个功能在操作时需要为广告指定一个「门店」,以门店周围3公里为准进行朋友圈广告曝光,这个「门店」添加时需要在腾讯地图上标注过才能在服务商平台里面进行选择,于是访问服务商平台的同时,还会访问腾讯地图查询商户是否可以搜到,如果搜不到就要给商户进行地图标注。
问题来了,这时候微信支付服务商平台还是可以正常使用的,如果你一旦主动退出或会话超时自动退出、切换商户号后,再去登录微信支付商户平台就会出现「登录超时,请重新登录」,此时心里又默默的「文明用语」。当然,如果你打开浏览器后,先访问腾讯地图网站后,再登录微信支付服务商平台,那么同样会出现这个问题。
bug原因
该问题与微信支付商户平台网页的「cookies」有关。如果只登录微信支付商户平台,这个时候平台页面对应的cookies中,只有一个「Name」为 「session_id」 的「cookies」,该「cookies」的「domain」为 「pay.weixin.qq.com」 。
[图片]
如果访问过腾讯地图网站后,那微信支付商户平台页面对应的「cookies」中,就会出现2个「Name」为 「session_id」 的「cookies」,多了一个「domain」为 「.qq.com 」。
[图片]
正是因为这个「cookies」的原因,才导致商户平台出现「登录超时,请重新登录」这个死循环。
如何解决
1、不要在同一个浏览器同时登录微信支付商户平台和腾讯地图网站
2、出现扫码登录确认后,商户平台出现「登录超时,请重新登录」的情况时,清空浏览器浏览记录中的cookies,然后重新扫码登录即可。
3、在浏览器的收藏夹中新增一个书签,名称自己随便取,哪怕你取个「文明用语」,你只要能知道是做什么用的就好了,把下面内容复制添加到网址里面,扫码登录后出现「登录超时,请重新登录」的情况时点击这个添加好的书签,你会神奇的发现,你可以正常访问微信支付商户后台了:
[代码]javascript: void((function(){function delecookie(a){var b=new Date;b.setTime(b.getTime()-1e5),document.cookie=a+"=v;expires="+b.toGMTString()+";path=/;domain=.qq.com"}delecookie("session_id");window.location.href = $(".page-error p a").attr("href")})())[代码]
结束语
此问题发现接近「四年」,期间反馈给各种支付、地图各种渠道N次,无奈一直没能解决,希望可以早日修复,大家都不会用到这篇教程。祝大家新的一年里,代码没bug,升职加薪。