ecshop退款订单原理分析,最近在深入研究ecshop订单结构的时候,发现ecshop退款流程还是非常复杂的,也存在一定的漏洞,ecshop的退款覆盖了退款,退货,定单设置为退款状态,但是在ecshop里面,出现了一个大问题,支付完的订单,以及发货了的订单,存在一个物流的信息。所以说如果讨论ecshop退换货,必须考虑一个非常复杂的流程。 ecshop发生退款,是有个申请,首先是设置为未付款,那么就牵涉到余额的概念,首先必须把钱退给客户,这个流程就复杂,是退到客户的余额里,还是生成退款申请呢,或者说是误操作呢这个需要值得讨论。 ecshop的订单在退货的时候,必须是退款,以及退货,这个时候不是未付款,未发货。也就是说ecshop的order_info表里面的order_status=4,pay_status=0以及shipping_status=0,让人感觉和迷惑,我们在这个时候,可以对ecshop的退款流程进行改进了。把ecshop退款订单变成退货,已退款,未发货。这样才是对的。 这个时候为了修改,我们这个时候要考虑给ecshop订单表增加2个状态,订单的退款状态,以及退货状态。把货状态设置为7,退款为3,这个时候就需要修改订单状态编码includes/inc_contanst.php以及order.php以及user.php语言包。达到全站统一的效果。 最后修改程序admin/order.php 1:修改订单的退货状态之后,就完成了2个步骤,订单修改以及金额流动,特别是记录到order_action表。 2:在退货完之后,要出现确认以及付款2个操作按扭。 |