请稍等 ...
×

采纳答案成功!

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

付款跳转没有响应

https://www.haochimao.me/thinkadmin/public/api/v1/pay/pre_order    401 (Unauthorized)

https://www.haochimao.me/thinkadmin/public/api/v1/pay/pre_order    500 (Internal Server Error)

连着报了二个这样的错,之前都可以正常支付的,现在点击付款没有反映了。

我的代码都放在服务器上了,这个要怎么断点调试呢?

感觉是code码没有拿到,导致的后面都没有成功?订单号有生成,但prepay_id没有生成。

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

2回答

晓峰123 2018-04-02 19:06:19

先检查商户参数是否配置正确,其次可能原因如下

prepay_id是微信给的,未定义,说明微信返回结果没有prepay_id这个参数

因为这个订单你已经在微信那边支付成功了,但是你的数据库并没有更新订单状态,导致重复支付请求微信就不会回调prepay_id这个参数

可能是你的服务器没有接收到微信回调信息(回调api外网访问不了)或者接收了微信支付成功的回调信息,但是没有把订单修改为已支付状态,小程序会显示未付款,当你点击的时候就重复发起支付请求

解决方法一:你把程序部署到云服务器或者内网穿透工具让你接收微信回调通知的接口外网能访问到,确保第一次接收到微信支付成功回调通知后把订单状态修改为已支付状态,避免发起重复支付同一个订单请求,就不会出现这个问题了

解决方法二:通过断点调试,同一个订单支付成功后,再次发起支付请求看看微信回调通知携带的是什么参数(这时候不会包含repay_id)然后做异常处理,判断如果是客户端那边支付成功过的订单,就把数据库订单信息修改为已支付状态,再提示客户端该订单早就支付过了,不要再重复请求支付api接口了,这种服务器内部可以解决的错误就没必要让客户端开发人员纠结


0 回复 有任何疑惑可以回复我~
提问者 好吃猫咪 2017-06-26 22:28:09

https://img1.sycdn.imooc.com/szimg//595119c9000129ca03830567.jpg

https://img1.sycdn.imooc.com/szimg//595119ca00017ded08040190.jpg

这500错误,与这个wx.requestPayment有关系吗?

0 回复 有任何疑惑可以回复我~
  • 7七月 #1
    从你现在提供的信息没办法判断,只能再服务器调试一下,如果是在生产环境下,只能一步步的打印日志来分析。
    回复 有任何疑惑可以回复我~ 2017-06-27 05:57:28
  • 提问者 好吃猫咪 回复 7七月 #2
    我恢复到之前的代码,又能正常生成prepay_id和支付了,这。。。
    回复 有任何疑惑可以回复我~ 2017-06-27 09:58:53
  • 提问者 好吃猫咪 回复 7七月 #3
    还好做了备份。就是不知道问题出在哪里。
    回复 有任何疑惑可以回复我~ 2017-06-27 09:59:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信