您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程

ecshop订单管理退货时不退运费的实现方法

从蓉2023-12-08 18:58:11ecshop商城教程已有人查阅

导读解决ecshop订单管理退货时,如何做到不退邮费,打开admin/order.php在大约4468行处找到

解决ecshop订单管理退货时,如何做到不退邮费,打开admin/order.php在大约4468行处找到
/**  * 退回余额、积分、红包(取消、无效、退货时),把订单使用余额、积分、红包设为0  * @paramarray$order  订单信息  */
function return_user_surplus_integral_bonus($order)
  {
 /* 处理余额、积分、红包 */
 if ($order['user_id'] > 0 && $order['surplus'] > 0)
 {
$surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid']: $order['surplus'];
log_account_change($order['user_id'], $surplus, 0, 0, 0, sprintf($GLOBALS['_LANG']['return_order_surplus'], $order['order_sn']));
$GLOBALS['db']->query("UPDATE ". $GLOBALS['ecs']->table('order_info') . " SET `order_amount` = '0' WHERE `order_id` =". $order['order_id']);
 }
if ($order['user_id'] > 0 && $order['integral'] > 0)
 {
log_account_change($order['user_id'], 0, 0, 0, $order['integral'], sprintf($GLOBALS['_LANG']['return_order_integral'], $order['order_sn']));
 }
if ($order['bonus_id'] > 0)
 {
unuse_bonus($order['bonus_id']);
 }
/* 修改订单 */
 $arr = array(
'bonus_id'  => 0,
'bonus'=> 0,
'integral'  => 0,
'integral_money'  => 0,
'surplus'=> 0
 );
 update_order($order['order_id'], $arr);
  } 
改成
/** * 退回余额、积分、红包(取消、无效、退货时),把订单使用余额、积分、红包设为0 * @paramarray$order  订单信息 */ 
function return_user_surplus_integral_bonus($order) {
/* 处理余额、积分、红包 */  if ($order['user_id'] > 0 && $order['surplus'] > 0) 
{  
  $surplus = $order['money_paid'] < 0? $order['surplus'] + $order['money_paid']-$order['shipping_fee'] : $order['surplus']; 
log_account_change($order['user_id'], $surplus, 0, 0, 0, sprintf($GLOBALS['_LANG']['return_order_surplus'], $order['order_sn']));
$GLOBALS['db']->query("UPDATE ". $GLOBALS['ecs']->table('order_info') . " SET `order_amount` = '0' WHERE `order_id` =". $order['order_id']);
} 
if ($order['user_id'] > 0 && $order['integral'] > 0) 
{
log_account_change($order['user_id'], 0, 0, 0, $order['integral'], sprintf($GLOBALS['_LANG']['return_order_integral'], $order['order_sn']));
}
   if ($order['bonus_id'] > 0){
unuse_bonus($order['bonus_id']);
}
 /* 修改订单 */ 
$arr = array(
'bonus_id'  => 0,
'bonus'=> 0, 
'integral'  => 0,
'integral_money'=> 0, 
'surplus'=> 0);
update_order($order['order_id'], $arr); } 
就可以了官方默认的是退货时把已付款退到会员的帐中户,而退回的费用中没有减去
运费
支付手费费
包装费
如果ecshop退货时不退运费应是:
$surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid'] - $order['shipping_fee']: $order['surplus'];
如果退货时不退动费和支付的手费费应是:
$surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid'] - $order['shipping_fee']- $order['pay_fee']: $order['surplus'];
如果ecshop退货时不退动费和支付的手费费及包装费应是:
$surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid'] - $order['shipping_fee']- $order['pay_fee']]- $order['pack_fee']: $order['surplus'];
以此类推可以做到ecshop退货时不退其它费

本文标签:

很赞哦! ()

留言与评论 (共有 条评论)
验证码:

本栏推荐

相关标签