花了几个小时解决了,微信支付的一个问题。
情景:
在生成订单的时候,用户没有选择支付,在个人中心中找到未支付的订单选择支付的时候,微信支付只是闪了一下,无法支付。
总结:
一般来说,原因就是因为所在页面的js参数不对。
而我却不是因为参数不对,因为在一开始支付的页面的链接与后面第二次支付时的页面链接不一样。
一开始是通过forward的方式到达支付页面,而第二次支付的时候是通过直接访问链接的方式访问支付页面。
所以在支付的时候,两个页面链接是不一致的,所以微信支付失败了。
之所以想到这个原因,就是因为之前有试过微信的js sdk,好像就有要求所访问的链接要与之前设定的一直才能够生效。
解决方法:
和大牛聊天,得知,他用的一直都是重定向sendRedirect,所以在链接上一直都是保持一致的,没遇到过这种问题。
所以,我也可以通过重定向到支付页面,通过session来传递参数就好了。