请稍等 ...
×

采纳答案成功!

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

支付宝支付成功,但是数据库的支付状态还是没有更新啊

正在回答

2回答

hi 同学,你这个是哪个接口。。问题可以再描述详细一下么,具体的和支付宝的交互日志,都放出来,好好看看呢?另外你说的没更新,这块很简单的方式就是debug跟踪一下到service层,然后看看dao层呢?

1 回复 有任何疑惑可以回复我~
  • 提问者 一切都是算计 #1
    老师,我已经上传了,麻烦您再看下
    回复 有任何疑惑可以回复我~ 2017-06-14 15:21:08
  • 提问者 一切都是算计 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-06-28 15:28:05
提问者 一切都是算计 2017-06-14 15:20:32

你好,老师,我这里是IOrderService这个接口,就是停留在支付模块自测这里。


  1. 我执行了pay.do这个方法。然后支付宝显示的是交易成功,回调显示也是trade_status=TRADE_SUCCESS,表面回调是支付宝的回调是正确的https://img1.sycdn.imooc.com/szimg//5940e07c0001a19d19201030.jpg

  2. 然后在执行query_order_pay_status.do这个方法,我用debug打印出来是这样的

  3. https://img1.sycdn.imooc.com/szimg//5940e2c2000149db11090461.jpghttps://img1.sycdn.imooc.com/szimg//5940e10000018c2b17730591.jpg

3.  然后我就回去看了下pay.do,我的理解是这样的pay.do方法主要是生成二维码,然后再向ftp服务器上传二维码,并没有改变数据库里面的支付状态,所以这里判断订单的状态在数据库还没有改变,还是10

https://img1.sycdn.imooc.com/szimg//5940e32200011cf508670283.jpg

所以这里的if语句并没有执行到,执行的是下面这一句return ServerResponse.createByError();

,所以不管我支付宝怎么支付成功,返回来的一直是false

老师。我这样理解是对的吗,我的代码跟你一样的 啊,为什么你的可以返回true,很不解,麻烦老师指导一下

0 回复 有任何疑惑可以回复我~
  • Geely #1
    那个状态是在alipaycallback的controller里修改的,这个只是一个查询同学,请看看alipaycallback那个controller里的service
    回复 有任何疑惑可以回复我~ 2017-08-13 00:22:31
  • 碰到一样的情况,同学,请问你是怎么解决的啊
    回复 有任何疑惑可以回复我~ 2018-01-25 15:37:33
  • 简直了,原来是公钥搞错了,老师一再强调还是弄错了。。。
    回复 有任何疑惑可以回复我~ 2018-01-25 17:01:29
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号