时间:15-06-01 栏目:问题及解决 作者:admin 评论:0 点击: 6,353 次
客户的ZenCart网站安装了首信易(payease)支付模块,但是支付递交后显示参数错误
以下URL是跳转到首信易支付网关前一步:
/index.php?main_page=fec_confirmation&fecaction=process
观察到此页面并没有显示完整,底部菜单内容都没有显示。查看网页源代码时,发现只显示了表单标签第一行,里面的参数和按钮都没有显示出来。
错误处代码如下:
<?php echo zen_draw_form('checkout_confirmation', $form_action_url, 'post', 'id="checkout_confirmation" onsubmit="submitonce();"'); if (is_array($payment_modules->modules)) { echo $payment_modules->process_button(); } ?>
估计是process_button方法处理有问题引起,于是打开:
/includes/modules/payment/payease.php,找到:process_button方法,最终定位出错在568行的代码:
$v_md5info=bin2hex(mhash(MHASH_MD5,$md5src,$MD5key));
使用:var_dump(function_exists('mhash'));调试发现此函数并不存在,应该是php没有加载mhash类库原因。
于是登录SSH,安装一下mhash:
yum install mhash yum install php-mhash #重启httpd服务 service httpd restart
重新下单测试,可以顺利跳到首信易网关,并显示填写支付信息界面。问题解决!
声明: 本文由( admin )原创编译,转载请保留链接: ZenCart首信易支付模块递交失败解决
------====== 本站公告 ======------
联系信息:
电话:19970108113(微信同号) QQ:3142401606
支付宝:https://me.alipay.com/lxq73061
相关插件程序等信息均会在站内发布,敬请关注。