ecshop工商银行从会员中心去付款bug

2016-07-07 15:01 来源:www.chinab4c.com 作者:ecshop专家

当然 一次跑完一个购物车流程是没有问题的,

但是 如果产生一个订单 但是没有去付款,过一段时间之后,如果通过会员中心的订单中心去付款的话,就会有问题了


问题1:从订单中心付款的时候,$order变量 没有获取,当前订单下的货物,导致工行报错,没有货物名称

解决办法:

打开inludes/lib_order.php找到order_info函数,在函数尾,的return 之前 添加如下代码

global $ecs;
global $db;
$order['goodsNum']= 0;//购买货品的数量
$order['goodsIDs']= ''; //购买货品的货号
$order['goodsNames'] = ''; //购买货品的名称
$cs ="SELECT * FROM " . $ecs->table('order_goods') .
" WHERE order_id=".$order_id.
" AND parent_id = 0 AND is_gift = 0";
$cq = $db->query($cs);
while($rq = $db->fetchRow($cq))
{
$order['goodsNum'] += 1;
$order['goodsIDs'] .= $rq['goods_sn'].' ';
$order['goodsNames'] .= $rq['goods_name'].'';
}

问题2:时间问题,在生成 工商银行提交表单的时候,取的时间取的是表单的生成时间,假设表单是昨天的,这就导致工商报时间不再范围之内错误




解决办法,把时间设置为当前时间,修改方法如下:

includes/lib_transaction.php

找到如下代码


include_once(ROOT_PATH . 'includes/modules/payment/' . $payment_info['pay_code'] . '.php');

在这句之前添加如下代码:

$order['add_time'] = gmtime();




over

回答:
建议官方在下个版本修复!