最新消息:本站访问过程中有任何问题请与我联系……

whmcs集成支付宝接口,更改服务器IP后,付款成功但无法返回支付信息、收不到NOTIFY通知问题

whmcs xx2008 4484浏览 0评论

最近醒醒遇到个问题:whmcs集成支付宝接口,在whmcs更改服务器IP后,付款成功但是无法返回支付信息,收不到NOTIFY通知问题账单显示为”未支付”。分享下解决的相关东西,希望对碰到whmcs这个支付宝问题的朋友有所帮助。

请检查您的服务器设置。

当买家通过支付宝接口支付完成后,发现商户网站的订单系统中自己的订单没有同步被处理或是商户网站中对这笔交易做了多次处理(如付了一次钱,却反复充值多次)。出现这些情况的原因可能有:商户网站中订单更新的页面文件执行有问题、商户网站所在服务器的配置上出现问题。


解决方法:


检查服务器异步通知页面(参数notify_url对应的页面文件)与同步跳转返回页面参数return_url对应的页面文件)

第一步:    检查return_url、notify_url页面文件

A:合作身份者ID和安全校验码是否设置正确,且没有空格,没有填反。

B、return_url、notify_url的路径互联网上需要能够访问得到,确保访问到该页面时,页面没有为空白或开发软件自带系统提示错误信息

C、请求参数show_url、return_url、notify_url不要带自定义参数,如:

http://www.xxorg.com/alipay/return_url.asp?id=123

?id=123,“?”以后带的参数都是自定义参数

D、检查编码格式是否设置正确

检查乱码的方法,可用写日志函数来记录中文部分的数据是否乱码。如果乱码则确定是编码格式设置不一致,导致乱码。具体请检查编码格式参数input_charset、页面属性编码、网站项目整体编码等,确保传递数据时没有乱码。

E、因为返回的return_url有效时间是1分钟,超过1分钟,这个URL链接就会失效,responseTxt会为false,所以需要检查该链接是否已经失效

F、notify_url页面里,有且只有输出success,且必须保证为空白页面,无任何HTML标签、空格、回车换行等字符。

各开发语言输出success代码:

ASP.NET:Response.Write("success");
ASP:response.write "success"
PHP:echo "success";
JAVA:out.println("success");

G、notify_url页面中不要有seesion或cookies,不要做页面自动跳转

第二步:    检查服务器配置(以下为参考检查方向)

A、服务器是否开启写入权限


B、DNS解析,是否能够解析支付宝IP。

支付宝IP范围是:121.0.26.0~121.0.26.255(支付宝主站所使用的IP地址是:121.0.26.11,支付宝主站备用IP地址:110.75.132.21、110.75.134.101,支付宝通知信息的IP主地址:121.0.26.1、121.0.26.2、121.0.27.1、121.0.27.2、110.75.130.1、110.75.130.2、110.75.132.1、110.75.132.2、110.75.136.1、110.75.136.2)


C、防火墙是否有拦截


D、端口443或80是否有开启,且不是假死状态,也没有被占用


E、    服务器的IP地址是否有做过更换:

前提:notify_url有被设置,且能够收到支付宝发来的通知,即该页面正常运作。

若出现该问题,解决方法如下:

原先设置的notify_url的路径比如是http://www.xxorg.com/alipay/notify_url.asp

那么对notify_url文件夹做重命名,对notify_url路径相应的也要变换

如http://www.xxorg.com/alipay/notify_change_url.asp

WHMCS系统中具体就是修改alipay.php这个文件中的

$alipay_config['notify_url'] = $systemurl."/modules/gateways/callback/alipay_callback.php";

为:

$alipay_config['notify_url'] = $systemurl."/modules/gateways/callback/alipay_callback_new.php";

然后重命名callback目录下的alipay_callback.php为callback/alipay_callback_new.php。callback/alipay_callback_new.php这个文件名可以是其他的,只要跟以前的不一样就行,保持alipay.php文件中对alipay_callback_new.php的引用地址一致就行。

完成以上操作,就能解决域名没有变,服务器IP地址变动后,通知notify的页面收不到通知的问题。

转载请注明:服务器VPS折腾 » whmcs集成支付宝接口,更改服务器IP后,付款成功但无法返回支付信息、收不到NOTIFY通知问题

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址