问题出在:支付宝修改了返回参数(或者是ecmall 没有更新支付接口)
给支付宝增加了一个返回的状态:TRADE_SUCCESS
需要修改“includes\payments\alipay\alipay.payment.php”文件中的代码,添加红字代码就可以了
switch ($notify['trade_status'])
{
case 'WAIT_SELLER_SEND_GOODS':
//买家已付款,等待卖家发货
$order_status = ORDER_ACCEPTED;
break;
case 'WAIT_BUYER_CONFIRM_GOODS':
//卖家已发货,等待买家确认
$order_status = ORDER_SHIPPED;
break;
case 'TRADE_FINISHED':
//交易结束
if ($order_info['status'] == ORDER_PENDING)
{
$order_status = ORDER_ACCEPTED;
}
else
{
$order_status = ORDER_FINISHED;
}
break;
case 'TRADE_SUCCESS': //交易结束
if ($order_info['status'] == ORDER_PENDING)
{
$order_status = ORDER_ACCEPTED;
}
else
{
$order_status = ORDER_FINISHED;
}
break;
case 'TRADE_CLOSED':
//交易关闭
$order_status = ORDER_CANCLED;
break;
default:
$this->_error('undefined_status');
return false;
break;
}