请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

微信支付异步回调问题

支付成功,订单支付状态也已修改,也通知了微信处理结果。
但是还是会收到微信的异步通知,第一次收到一个异步通知 抛出异常说是订单状态不正确,

然后等一会儿之后控制台又打印了一个错误:微信支付】发起支付,微信又说该订单已支付。

很是奇怪不知道怎么回事

正在回答 回答被采纳积分+3

1回答

廖师兄 2017-08-20 00:46:11

注意看订单号, 如果异步通知后没有返回正确的信息给微信, 微信会连续异步通知好几次

0 回复 有任何疑惑可以回复我~
  • 提问者 慕后端5535294 #1
    订单号正确,我对过了。就是第一次支付 收到异步回调、校验payResponse中的订单号、订单金额都正确,然后orderService.paid()修改支付状态,查看数据库支付状态也成功。    service处理完毕到controller  return new ModelAndView("pay/success"); 也都没问题。但是仍然过了一会儿第二次发过来异步通知,说订单支付状态不正确
    回复 有任何疑惑可以回复我~ 2017-08-20 11:03:34
  • 提问者 慕后端5535294 #2
    师兄 刚又仔细断点调试了一下,第一次收到异步通知的时候,payService.notify(notifyData);整个处理都没问题,代码也走过了,就是下面
    return new ModelAndView("pay/success");的时候走进了一个异常,但是控制台并没有打印日志,我跟踪了异常说是 model is null,就是没有跟微信通知成功,才有后续的问题。但是为甚会找不到model呢,上面支付的create.ftl都正确,success.ftl跟它一个目录。而且我跑你的代码也是这个问题
    回复 有任何疑惑可以回复我~ 2017-08-20 11:23:24
  • 提问者 慕后端5535294 #3
    已解决,是微信支付授权目录,我只填到了http://xxx.com/sell/pay
    没有把上一级目录 http://xxx.com/sell/也加上 都好了
    回复 有任何疑惑可以回复我~ 2017-08-20 12:39:35
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信