当公众号微信支付,且报“当前url未注册”的问题时候,这里可以明确微信支付配置的授权域名和实际提交的支付地址不一致导致的。
1、通常配置域名+二级目录
例如:https://www.xxxx.com/pay
这个时候前端调起支付的时候可以是https://www.xxxx.com/pay 域名下的地址。
踩过一个坑,,上线运行了一段时间,都可以正常支付,但是突然出现一个场景不能支付。域名和目录是一样的。但是还是报错。
下面是案例:
怎么看两个地址的区别不大。都是配置的域名低下的目录。唯一的区别就是少了一个id的参数。
正常使用的地址:https://www.xxxx.com/pay/index.html?id=104211#/pages/confirmOrder/index
报错的地址:https://www.xxxx.com/pay/index.html#/pages/confirmOrder/index
注意:就是因为多一个id参数,所有前面有“?”问号区分。微信识别到就是配置的域名,少了问号,微信识别出来就是错误了。
所以这个问题比较容易出现在vue开发的项目中。因为url跳转页面使用了#,所以识别出错。
解决方法:
1、添加默认参数,使得每个链接都带有?区分。
2、将‘#’替换成‘?#’
if (window.location.href.indexOf(“?#”) < 0) {
window.location.href = window.location.href.replace(“#”, “?#”);
}
10万+

被折叠的 条评论
为什么被折叠?



