js-sdk配置失败以及微信支付常见问题

2018-01-29  本文已影响235人  回调的幸福时光

js-sdk配置失败

根本原因:url不正确,导致签名错误。

正常获取配置参数的url:window.location.protocol + '//' + window.location.host + window.location.pathname,如果涉及到支付,还需要在尾部添加'?'。

猜测微信对url有个判断相等的过程,url1是获取配置参数的url,url2是实际的url,只有url1 === url2,才能成功。

失败场景:

  1. QQ、UC等浏览器分享时篡改了url(增加了from=singlemessage参数),微信端打开报错配置失败
  2. 应用vue-router的hash模式,如果url中存在?#,在微信浏览器打开时:
url获取方式 url
实际的url https://host?#/home
location.href https://host?#/home
复制链接 https://host#/home

微信支付

根本原因:url不正确。

请确保实际支付时的请求目录与公众号管理后台配置的目录一致,否则将无法成功唤起微信支付。

微信授权目录必须配置到最后一级目录

失败场景:

  1. 公众号管理后台配置的协议是http,实际请求目录协议是https
  2. ios在#前面添加?


    pay.png

详细分析两种路由模式

vue微信公众号开发踩坑记录(2)

参考

vue2全家桶与微信开发

上一篇 下一篇

猜你喜欢

热点阅读