js-sdk配置失败
根本原因:url不正确,导致签名错误。
正常获取配置参数的url:window.location.protocol + '//' + window.location.host + window.location.pathname
,如果涉及到支付,还需要在尾部添加'?'。
猜测微信对url有个判断相等的过程,url1
是获取配置参数的url,url2
是实际的url,只有url1 === url2
,才能成功。
失败场景:
- QQ、UC等浏览器分享时篡改了url(增加了
from=singlemessage
参数),微信端打开报错配置失败 - 应用vue-router的
hash
模式,如果url中存在?#
,在微信浏览器打开时:
url获取方式 | url |
---|---|
实际的url | https://host?#/home |
location.href | https://host?#/home |
复制链接 | https://host#/home |
微信支付
根本原因:url不正确。
请确保实际支付时的请求目录与公众号管理后台配置的目录一致,否则将无法成功唤起微信支付。
微信授权目录必须配置到最后一级目录
失败场景:
- 公众号管理后台配置的协议是http,实际请求目录协议是https
-
ios在#前面添加?
pay.png
网友评论