回调地址500

来源:11-10 支付模块所有功能自测

慢速学者

2017-12-22

支付宝回调失败

  1. 代码换成和老师的一模一样,先排除代码问题。

  2. 沙箱的回调授权地址、mmall.propretis、还有.setNotifyUrl(PropertiesUtil.getProperty("alipay.callback.url"))
    这里。都统一改成了natapp的域名
    http://img.mukewang.com/szimg/5a3d10150001d91906890049.jpg

    3.优先排除内网穿透是否成功,发现能穿透到外网

http://img.mukewang.com/szimg/5a3d108b0001494307160334.jpg

4.执行pay.do能生成二维码,扫码支付后商家也能收到款,但是回调失败,订单status没更新。

5.手动输入回调地址,然后natapp打印出500错误

http://img.mukewang.com/szimg/5a3d115d0001ba5506300096.jpg

6.再看日志,也拿不到回调的数据,得到了500报错的异常日志

http://img.mukewang.com/szimg/5a3d1188000140bd16020844.jpg

所以,卡住了一天了~还找不到原因,所以请老师帮帮忙~还有哪些地方可能导致回调不成功,望指点。

写回答

3回答

Geely

2017-12-24

你好同学,我大概了解了。

首先request的map是没值的,是以因为手动的问题,所以这个ok。也是正常的,手动的里面map肯定没有值。


然后就是你说的这个流程。

现在问题出在没有收到真正的支付宝的回调,看里你的日志,这个都是预下单的一个过程。

问题还是出在回调地址没有被支付宝请求上。

不过看你配置了支付宝回调地址和notifyurl一样的话,理论上来说是没有问题的。


natapp和支付宝回调这块还是要检查一下。

不过你的思路是正确的,可以部署到阿里云上再看看~


辛苦同学啦。

0
2
Geely
回复
慢速学者
哈哈你太可爱了~~看到你的二期10分评价了感谢感谢支持
2017-12-26
共2条回复

慢速学者

提问者

2017-12-24

十二月 24, 2017 7:39:43 下午 com.alipay.demo.trade.service.impl.AbsAlipayTradeService tradePrecreate

信息: trade.precreate bizContent:{"out_trade_no":"1492090946105","seller_id":"","total_amount":"27894.00","undiscountable_amount":"0","subject":"happymmall扫码支付,订单号:1492090946105","body":"订单1492090946105购买商品共27894.00元","goods_detail":[{"goods_id":"29","goods_name":"Haier/海尔HJ100-1HU1 10公斤滚筒洗衣机全自动带烘干家用大容量 洗烘一体","quantity":2,"price":"4299"},{"goods_id":"28","goods_name":"4+64G送手环/Huawei/华为 nova 手机P9/P10plus青春","quantity":1,"price":"1999"},{"goods_id":"27","goods_name":"Midea/美的 BCD-535WKZM(E)冰箱双开门对开门风冷无霜智能电家用","quantity":1,"price":"3299"},{"goods_id":"26","goods_name":"Apple iPhone 7 Plus (A1661) 128G 玫瑰金色 移动联通电信4G手机","quantity":2,"price":"6999"}],"operator_id":"test_operator_id","store_id":"test_store_id","extend_params":{"sys_service_provider_id":"2088100200300400500"},"timeout_express":"120m"}

[19:39:44.764][INFO][com.mmall.service.impl.OrderServiceImpl][http-bio-8080-exec-3] 支付宝预下单成功: )

[19:39:44.764][INFO][com.mmall.service.impl.OrderServiceImpl][http-bio-8080-exec-3] code:10000, msg:Success

[19:39:44.764][INFO][com.mmall.service.impl.OrderServiceImpl][http-bio-8080-exec-3] body:{"alipay_trade_precreate_response":{"code":"10000","msg":"Success","out_trade_no":"1492090946105","qr_code":"https:\/\/qr.alipay.com\/bax01178grgtlx5kgaon006d"},"sign":"P4hcVYyolTp+Hd0ys5qG3V4uUl+MpZ+N35XR+u2096sCC4Awfs0xIIWX+umVZgwe6NmqdRx7VgrQq9dAPtWY4/g223P3+prgbOQ8c5JmwK4nMTIREcHrpbyWZXQHUCNzNqWDC4jMwYvYEDfhIJl7EAZ2m7xHYm4DY46nmMtA+LB90an3rKInM9CBQuDqe67vGFYVwIuf8DzKikzya0zkBKmFS4PZvd61G8y03paJfB/L47nVJpLnPTtAKNhHFz/SJUGJ6f+ACZ9fedWbwhgYcdKMdvPcysSsNyxUifTIYUoggb3CdK/u9cD8+6oabr8WbXBArJQ4TK3a3YSJhhWgPw=="}

十二月 24, 2017 7:39:44 下午 com.alipay.demo.trade.service.impl.AbsAlipayService getResponse

信息: {"alipay_trade_precreate_response":{"code":"10000","msg":"Success","out_trade_no":"1492090946105","qr_code":"https:\/\/qr.alipay.com\/bax01178grgtlx5kgaon006d"},"sign":"P4hcVYyolTp+Hd0ys5qG3V4uUl+MpZ+N35XR+u2096sCC4Awfs0xIIWX+umVZgwe6NmqdRx7VgrQq9dAPtWY4/g223P3+prgbOQ8c5JmwK4nMTIREcHrpbyWZXQHUCNzNqWDC4jMwYvYEDfhIJl7EAZ2m7xHYm4DY46nmMtA+LB90an3rKInM9CBQuDqe67vGFYVwIuf8DzKikzya0zkBKmFS4PZvd61G8y03paJfB/L47nVJpLnPTtAKNhHFz/SJUGJ6f+ACZ9fedWbwhgYcdKMdvPcysSsNyxUifTIYUoggb3CdK/u9cD8+6oabr8WbXBArJQ4TK3a3YSJhhWgPw=="}

[19:39:45.057][INFO][com.mmall.util.FTPUtil][http-bio-8080-exec-3] 开始连接ftp服务器

[19:39:45.175][INFO][com.mmall.util.FTPUtil][http-bio-8080-exec-3] 开始连接ftp服务器,结束上传,上传结果{}

[19:39:45.175][INFO][com.mmall.service.impl.OrderServiceImpl][http-bio-8080-exec-3] qrPath:F:\apache-tomcat-7.0.75\webapps\ROOT\upload/qr-1492090946105.png


到这里就停了,natapp的connections次数还是0次,没有反应。

0
0

Geely

2017-12-24

你好同学 很好的排查思路!赞一个!最后一个日志看不清,求把服务端的日志全部发上来。我们继续看一下。

500肯定是异常造成的。服务器内部错误



最近单位比较忙,事情也比较多,回复晚了,抱歉海涵哈


另外,看帖子看帖子看帖子,重要的说三遍哈


我给大家整理了这个,有问题可以来看看先找一下。 肯定有你想要的哈


部署环境的话 ,建议看下文章最后一小段哟~首先跟着课程阿里云部署那个章节过一遍,可以先不跟着操作,做到心里有数,环境部署都做了什么。


尽快进入咱们QQ群哟~~进群方法下面思维导图那个帖子有。非常详细


课程项目思维导图及线上环境、测试环境、部署linux和windows等解答

http://www.imooc.com/article/20193 


【重点】问答区常见问题整理

http://www.imooc.com/article/18998


课程项目QQ群分享手记

http://www.imooc.com/article/19094



找工作的季节之简历及找工作的分享

http://www.imooc.com/article/19998


项目环境、vsftpd、linux、mysql等各种配置、软件下载

http://learning.happymmall.com


课程求10分好评哇谢谢啦~~(づ ̄ 3 ̄)づ




咱们二期上线啦,【二期进阶Tomcat集群和Redis分布式课程已经上线】

二期课程网址 http://coding.imooc.com/class/162.html


0
1
慢速学者
老师谢谢解答, 1、500是因为拿不到支付宝的回调,我直接手动输入的回调地址,所以500错误发生在验签的时候,抛出异常。然后我打断点debug后,手动获取到的request那个时候的parameterMap就是没值的,所以第一点总结出来就是没有得到支付宝的回调 2、但是我内网穿透的地址手动又能穿透得到,所以地址穿透外网应该也是没问题的。 3、按道理生成二维码的时候填入的notifyUrl能让支付宝根据URL放入回调参数,但是这个环节我却没有得到回调,我还为此在沙箱工具中使授权回调地址与notifyUrl保持一致,还是不行(三个接口的代码直接复制都换成和老师一样的)。 4.我把我整个过程,从pay.do->生成二维码->扫码支付成功 整个缓解的log给贴出来。 5.为了不耽误课程的学习,我现在正在部署阿里云服务器,打算换一个环境试试看。
2017-12-24
共1条回复

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程