ecshop运费和支付费用的计算总结

2010-04-13 20:41 来源:www.chinab4c.com 作者:admin

     ecshop二次开发过程中,我们常常会考虑到ecshop运费和支付费用的计算总结.ecshop支付原理和ecshop配送费用的原理都很复杂,也很特别.我们将结合ecshop 数据库分析和ecshop 数组来分析.

    首先看到ecshop的includes/lib_order.php文件。function order_fee($order, $goods, $consignee).你可以看到里面有一个很庞大的数组,运费,红包,支付费用,积分支付等,都是通过这个函数来计算的. 

    $shipping_cod_fee = NULL;这个就是计算配送费用的。 $shipping_info = shipping_area_info($order['shipping_id'], $region);根据传递的区域选择,来取得配送区域对应的配送方式. $weight_price = cart_weight_price();这里是取得购物车里面的商品总价格,总重量.接着计算$total['shipping_insure'] = shipping_insure_fee($shipping_info['shipping_code'],$total['goods_price'], $shipping_info['insure']);计算出购物车中商品的保价,他是通过上面一行代码$total['shipping_fee'] = ($shipping_count == 0 AND $weight_price['free_shipping'] == 1) ?0 :  shipping_fee($shipping_info['shipping_code'],$shipping_info['configure'], $weight_price['weight'], $total['goods_price'], $weight_price['number']);来计算的。

  ecshop支付费用, if (!empty($order['pay_id']) && ($total['real_goods_count'] > 0 || $_SESSION['flow_type'] != CART_EXCHANGE_GOODS))如果支付方式选择了,而且支付的费用大于0,而且还是普通商品。那么进行支付费用计算.$total['pay_fee']      = pay_fee($order['pay_id'], $total['amount'], $shipping_cod_fee);

     来源:中国B4C电子商务