当前位置:首页 > 行业动态 > 正文

为什么在更新DedeCMS后会出现支付宝接口错误提示ILLEGAL?

支付宝接口提示错误ILLEGAL可能是由于参数非规或缺失导致的。请检查并确保传递的参数正确无误。

在DEDECMS更新后,一些用户可能会遇到支付宝接口提示错误ILLEGAL_EXTERFACE的问题,这个错误通常是由于系统文件的路径更改引起的,当用户应用了20140313补丁后,buy_action.php文件被替换,导致原先的支付宝接口无法正常使用。

为了解决这个问题,可以按照以下步骤进行操作:

1、打开buy_action.php文件:找到文件中大约153行的位置,代码如下:

   require_once DEDEINC.'/payment/'.$rs['code'].'.php';

将其替换为:

   require_once DEDEDATA.'/payment/'.$rs['code'].'.php';

需要注意的是,这个文件里有两处相同的代码,只需替换第二句即可。

2、检查数据加载错误:如果上述方法未能解决问题,可能是由于数据加载错误导致的,需要检查data目录下的sys_pay.cache.php文件,确保商家ID、密钥和支付宝邮箱等信息正确加载,确认以下数组中的值是否正确:

   $payment_userid = array(0 => “********“,1 => “”,2 => “”,3 => “”,4 => “”);
   $payment_key = array(0 => “********“,1 => “”,2 => “”,3 => “”,4 => “”);
   $payment_email = array(0 => ‘[url=mailto:@a.com%22,1]*@*****.com‘,1 => ‘[url=mailto:webmaster@liehuo.net%22,3]webmaster@liehuo.net‘,2 => ‘[url=mailto:webmaster@liehuo.net%22,3]webmaster@liehuo.net‘,3 => ‘[url=mailto:webmaster@liehuo.net%22,3]webmaster@liehuo.net‘,4 => ‘[url=mailto:webmaster@liehuo.net%22,3]webmaster@liehuo.net‘);

如果发现数据加载错误,需将数组中的位置调整至正确的索引。

3、检查物流信息:如果问题仍未解决,可能是由于物流信息不完整导致的,缺少logistics_fee参数,在这种情况下,需要编辑member/inc/下的config_pay_alipay.php文件,确保物流信息完整,如:

   “logistics_fee” => '0.00'

这样可以避免因物流信息缺失而导致的错误。

通过以上步骤,通常可以解决DEDECMS更新后支付宝接口提示错误ILLEGAL_EXTERFACE的问题,如果问题依然存在,建议联系技术支持或查看支付宝的官方文档,以获取更多帮助。

常见问题及解答

1、Q: 为什么在替换buy_action.php文件中的代码后,支付宝接口仍然报错?

A: 如果在替换buy_action.php文件中的代码后,支付宝接口仍然报错,可能是因为数据加载错误,请检查data目录下的sys_pay.cache.php文件,确保商家ID、密钥和支付宝邮箱等信息正确加载,如果数据加载错误,需将数组中的位置调整至正确的索引。

2、Q: 如何解决因物流信息不完整导致的支付宝接口错误?

A: 如果因物流信息不完整导致的支付宝接口错误,需编辑member/inc/下的config_pay_alipay.php文件,确保物流信息完整,添加或修改logistics_fee参数为‘0.00’,以避免因物流信息缺失而导致的错误。

通过仔细检查和调整相关文件和配置,可以有效解决DEDECMS更新后支付宝接口提示错误ILLEGAL_EXTERFACE的问题,希望这些方法能帮助到遇到类似问题的用户。

0