A-A+

解决ecshop支付宝已付款但后台显示“未付款”的异步问题

2018年02月27日 PHP技术文章 暂无评论 阅读 0 views 次

用的是大商创的系统,但使用的是ecshop的核心,在购买了商品付款成功之后,后台却显示未付款,说明支付宝异步返回并没有成功,寻找了一些可解决的方案,自己用的是线上的测试环境81端口,有可能跟这个有关系,支付宝的支付返回接口应该是不支持80以外的端口的,更何口网址之后还带有81端口了,遂直接使用线上正式环境进行测试,一切OK。

如果依然没有异步返回成功的话,还有一种可能就是respond.php文件。处理的是接受到的return数据。但是没有为支付宝提供异步返回的状态。

在其根目录下找到respond.php文件,找到如下代码:

if($payment->respond()){

将其修改为如下:

  1. if($payment->respond()){  
  2.      echo "success";  
  3.   }else{  
  4.       echo "fail";  
  5.  }  

这种仅是自己的修改,并未进行过真正的测试,而在这次支付接口异步返回不成功的案例中,我的是因为端口的问题,更改一下即可,大家如果遇到这种问题的话,可以多在服务器环境中找找答案。

标签:

给我留言