微信支付页面的URL未注册

vue项目在hash模式下,微信支付提示当前页面未注册

2964104718-5d21b8b0a743a_fix732.png

解决方法:
在微信支付时,当调用微信支付的时候,微信会判断当前页面和微信公众号后台设置的支付授权目录是否一致,他会把页面最后一次刷新的url作为判断依据(如果用户刷新了任何页面,这个页面就是支付页面),这个时候,单页应用的路由中‘#’后面的内容也会被传递过去,在微信的判断流程里,这个url和设置的目录是不匹配的,因为涉及到多个页面都会发起支付请求,所有设置多个带页面参数的url是不合理的,所以这里在‘#’前面添加了‘?’,让微信忽略‘?’后面的内容

let url = window.location.href;
if(!url.match(/\?/)) {
    location.replace(window.location.href.split('#')[0] + '?' + window.location.hash);
}

参考
https://segmentfault.com/a/1190000019689563
https://blog.csdn.net/qq_33026699/article/details/103178868

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容