解决ecshop订单管理退货时,如何做到不退邮费

转载 2015年11月21日 00:06:19

解决ecshop订单管理退货时,如何做到不退邮费

2015-5-24 11:42 | 发布者: moke | 栏目:ecshop教程

解决ecshop订单管理退货时,如何做到不退邮费,提供相关ecshop教程如下:

打开admin/order.php在大约4468行处找到

 

  1. /** 
  2. * 退回余额、积分、红包(取消、无效、退货时),把订单使用余额、积分、红包设为0 
  3. * @param   array   $order  订单信息 
  4. */ 
  5. function return_user_surplus_integral_bonus($order
  6.     /* 处理余额、积分、红包 */ 
  7.     if ($order['user_id'] > 0 && $order['surplus'] > 0) 
  8.     { 
  9.         $surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid']: $order['surplus']; 
  10.         log_account_change($order['user_id'], $surplus, 0, 0, 0, sprintf($GLOBALS['_LANG']['return_order_surplus'], $order['order_sn'])); 
  11.         $GLOBALS['db']->query("UPDATE "$GLOBALS['ecs']->table('order_info') . " SET `order_amount` = '0' WHERE `order_id` ="$order['order_id']); 
  12.     } 
  13.  
  14.     if ($order['user_id'] > 0 && $order['integral'] > 0) 
  15.     { 
  16.         log_account_change($order['user_id'], 0, 0, 0, $order['integral'], sprintf($GLOBALS['_LANG']['return_order_integral'], $order['order_sn'])); 
  17.     } 
  18.  
  19.     if ($order['bonus_id'] > 0) 
  20.     { 
  21.         unuse_bonus($order['bonus_id']); 
  22.     } 
  23.  
  24.     /* 修改订单 */ 
  25.     $arr = array
  26.         'bonus_id'  => 0, 
  27.         'bonus'     => 0, 
  28.         'integral'  => 0, 
  29.         'integral_money'    => 0, 
  30.         'surplus'   => 0 
  31.     ); 
  32.     update_order($order['order_id'], $arr); 

改成

 

  1. /** 
  2. * 退回余额、积分、红包(取消、无效、退货时),把订单使用余额、积分、红包设为0 
  3. * @param   array   $order  订单信息 
  4. */ 
  5. function return_user_surplus_integral_bonus($order
  6.     /* 处理余额、积分、红包 */ 
  7.     if ($order['user_id'] > 0 && $order['surplus'] > 0) 
  8.     { 
  9.         $surplus = $order['money_paid'] < 0 ? $order['surplus'] + $order['money_paid']-$order['shipping_fee'] : $order['surplus']; 
  10.         log_account_change($order['user_id'], $surplus, 0, 0, 0, sprintf($GLOBALS['_LANG']['return_order_surplus'], $order['order_sn'])); 
  11.         $GLOBALS['db']->query("UPDATE "$GLOBALS['ecs']->table('order_info') . " SET `order_amount` = '0' WHERE `order_id` ="$order['order_id']); 
  12.     } 
  13.  
  14.     if ($order['user_id'] > 0 && $order['integral'] > 0) 
  15.     { 
  16.         log_account_change($order['user_id'], 0, 0, 0, $order['integral'], sprintf($GLOBALS['_LANG']['return_order_integral'], $order['order_sn'])); 
  17.     } 
  18.  
  19.     if ($order['bonus_id'] > 0) 
  20.     { 
  21.         unuse_bonus($order['bonus_id']); 
  22.     } 
  23.  
  24.     /* 修改订单 */ 
  25.     $arr = array
  26.         'bonus_id'  => 0, 
  27.         'bonus'     => 0, 
  28.         'integral'  => 0, 
  29.         'integral_money'    => 0, 
  30.         'surplus'   => 0 
  31.     ); 
  32.     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退货时不退其它费

查看更多 ecshop教程 ecshop模板

ECShop手机支付宝支付篡改金额BUG

手机版ECShop点击支付宝支付的时候跳到这个php文件,链接如下面: wapapli/alipayapi.php?WIDseller_email=[卖家支付宝帐户]&WIDout_trade_no...
  • gongqinglin
  • gongqinglin
  • 2016年08月12日 11:28
  • 1672

ECSHOP一键发货简化订单发货流程

如果想看到快速发货,得闲 第一步: 在templates/order_info.htm文件找到: {if $operable_list.confirm}        在此代码前加上“一...
  • u010139093
  • u010139093
  • 2014年07月12日 11:54
  • 2537

ecshop按月统计订单并输出柱状图

柱状图使用的是bootstrap的char.js /*------------------------------------------------------ */ //--订单统计需要的函数...
  • tang05709
  • tang05709
  • 2016年09月27日 11:26
  • 465

ecshop手机端订单城市插件(基于gps定位)

以前曾看到有人说php能获取手机的ip,
  • shuaixianxian
  • shuaixianxian
  • 2014年11月22日 14:30
  • 952

ECSHOP后台权限分配原理分析

1.在admin\includes\inc_menu.php 2.languages\zh_cn\admin\
  • GlatChen
  • GlatChen
  • 2014年08月12日 23:15
  • 3513

ecshop使用PHPEXCEL批量导出订单信息

1.在这里下载PHPEXCEL http://pan.baidu.com/s/1dDF3PWd ,把其中的Classes文件夹解压的根目录下,如图所示: 2.admin/templates/or...
  • GlatChen
  • GlatChen
  • 2014年12月05日 18:06
  • 2753

ecshop二次开发--前台秒杀

1.进入后台系统管理-》自定义导航栏-》添加一个秒杀活动 2.点击秒杀活动 3. 4.生成订单 ...
  • haoyunyun888
  • haoyunyun888
  • 2016年05月14日 10:05
  • 3163

Ecshop模板开发(二十七):列表页筛选功能、清除筛选、高级搜索实现

1、category.dwt {*判断是否有筛选条件*} {if $brands.1 || $price_grade.1 || $filter_attr_list } ...
  • sinat_37390744
  • sinat_37390744
  • 2017年04月14日 20:37
  • 374

ECSHOP文件结构系统简介

原来做电子商务系统一直用zencart,后来虽然接触过一段时间magento,但是magento觉得还是挺高深的,前面两个比较多的用在外贸电子商务,特别是magento,可以说是开源电子商务系统中的豪...
  • fb2058
  • fb2058
  • 2014年12月29日 16:22
  • 5018

ECshop 数据库表结构

- 表的结构 `ecs_account_log` CREATE TABLE IF NOT EXISTS `ecs_account_log` ( `log_id` mediumint(8) unsi...
  • liujn347
  • liujn347
  • 2016年04月24日 14:17
  • 450
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决ecshop订单管理退货时,如何做到不退邮费
举报原因:
原因补充:

(最多只允许输入30个字)