技术支持文档

安装宝塔防火墙后,导致支付宝充值后没有回调的解决方案(支付宝充值/支付失败的解决方案)

  • 最后更新:2020-05-07 22:06 阅读:27789

解决方案:直接更新宝塔的防火墙就行。


借这个机会,我们也说明下这个情况的一个原理:

第1步:用户在你网站通过充值或者直接下单的时候,调起了支付宝或微信的付款页面(这个时候已经跳到支付宝或微信的官方页面了,没有任何我方的程序代码了)


第2步:用户交完钱(只要是在支付宝或微信的页面支付的),站长的收款账号里是百分百收到这笔钱的(如果收不到,就是被支付宝或微信坑了。。这是不可能的)


第3步:也是最关键的一步了,支付宝或微信官方收到这笔钱后,他们的服务器会发送一个指令出来,这个指令就是相当于运行一个你的网站的一个网址(专业术语就是回调页面,这个回调页面的地址都是我们事先设置好,在支付的时候就传递给支付宝或微信他们的)。然后这个回调页面的代码里,就是程序根据收到了指令来做事了(给用户账号加钱,然后生成订单之类的操作)


理解起来不难的,但如果你钱收到了,但订单没生成,用户账号里也没加钱,就百分百是回调出问题了,这个回调出问题嘛,实事求事来说,三个可能性:

1是我们的那个回调页面代码有问题、

2是支付宝或微信他们没有给你发回调指令、

3你网站在接收回调的那一刻瞬间网络问题打不开、

4是主机或服务器方把这个回调页面的指令拦截了。没有任何第五种可能性了。


我们首先排除第2种,支付宝或微信他们官方出问题的机率基本为0,再排除第3种,因为支付宝或微信在第一次回调失败后,隔一段时间会再次回调。所以剩下就是1跟4了,1嘛,我们演示站如果正常,就说明代码正常,如果你是偶尔出现这个情况,那也可以排除1,因为那段回调代码看上去几十行,但对于程序来讲,就跟我们1+1=2一样简单的。所以基本上可以确定,就是第4种可能性了。

什么叫拦截呢?再科普一下,我让你送钱给我一个朋友,你钱送到了,我朋友肯定也收到钱了,然后你得跟回来通知我吧,你办完事了,也一路小跑过来了,到我家楼下,发现门锁了,你进不来,没办法通知到我了,我就不能把这笔账从我的小本本上勾掉。就是这么一个意思了。

再明确点说就是,支付宝或微信发的这条指令,被你的主机拦截了(不知道什么原因,基本都是防火墙的可能性比较大),然后程序是在主机里面的,你无法接触到程序文件,肯定就不会执行加钱、生成订单的操作了,要想执行这些,你的主机起码得让支付宝或微信的指令能进来吧。


说了这么多,就是跟你们说下这个原理,以免用户出现这类问题,觉得是程序问题。。。这个锅我们真不背,所以你再出现这种情况,知道该找谁了吧?

不过用户也不用太担心,只要你用的主机或服务器以及防火墙是主流的,几乎不可能出现这种情况(如果出现,就找主机商唠唠)

机率是非常低了,就像这次宝塔的防火墙问题,出现问题后,他们马上意识不对了,马上更新了规则,就解决了。

  • 波浪
  • 波浪
Copyright © 2013-2020 yj99.cn All Rights Reserved. 友价房产网系统源码 版权所有
温州友价网络科技有限公司   备案号-浙ICP备12001311号   对公合作银行-招商银行    百度统计
  QQ咨询

购买源码 售前咨询 私人订制 售后技术

  咨询热线

0577-67068160
(早9:00-晚6:00)

  微信咨询

扫码关注
点点租

  返回顶部