今天在做微信支付和支付宝支付的时候,都有一些回跳地址传给后台,支付完后再跳回传的地址,
支付宝:使用#/Path
支付宝报错了,我就改成history模式
开发模式可以,然而线上跳转直接404
微信: 使用history模式
异常,使用 /#/
时发现微信支付调起来了,但是一闪而过。
我该用什么模式,且解决以上异常,有没有什么好的方案。
今天在做微信支付和支付宝支付的时候,都有一些回跳地址传给后台,支付完后再跳回传的地址,
支付宝:使用#/Path
支付宝报错了,我就改成history模式
开发模式可以,然而线上跳转直接404
微信: 使用history模式
异常,使用 /#/
时发现微信支付调起来了,但是一闪而过。
我该用什么模式,且解决以上异常,有没有什么好的方案。
404
应该是 SPA 部署时,使用 history
模式发生的典型问题,尝试在 nginx
或者代理服务器中配置 callback
路径,当按 url 找不到资源时,始终指向 index.html
history
了,还有通过 /#/
的方式来定义路由,另外,微信之前做的项目,我印象中好像对于 hash
后的内容会直接省略不管是 hash
还是 history
,使用统一的风格是比较重要的,另外注意在使用 history
模式时,web 服务器的 callback
配置就好了。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
最后使用了
hash
模式 (#/)微信内支付打印出异常信息,提示为微信签名问题,排除了授权目录问题,如果授权目录错误,会打印出
该目录url未授权
,踩坑排除最后发现问题是微信二次签名问题,服务端第一次签名传的key值和前端第二次签名key值要保持一致,这样才能保持签名一致,成功调起支付。