我正在尝试以编程方式更改订单总计,以便允许用户支付部分付款。我尝试编辑核心文件Mage_Payment_Model_Info方法getMethodInstance
if (method_exists($instance,"getOrder")){
$order = $instance->getOrder();
}else{
$session = Mage::getSingleton('checkout/session');
$order = Mage::getModel('sales/order');
$order->loadByIncrementId($session->getLastRealOrderId());
}
$total=$order->getGrandTotal()/2;
$order->setGrandTotal($total);
我知道这不是最好的方法,但正在尝试找到最好的方法。怎么做到这一点?我计划将更改放在自定义模块中。所以不要在核心文件中保留更改。感谢
答案 0 :(得分:1)
我最近不得不做类似的事情并且有一些大问题,但首先是好消息。
然而,
我没想到的一种方法是为每位客户设立信用账户。当付款小于整个订单时,请将其添加到帐户中,并暂时保留订单未付款。允许对帐户进行任意(预)付款。一旦帐户足够好用它来支付订单,你可能想为这个位做一个支付模块 或者它可以反向工作,立即支付所有订单,并在信用账户中留下负余额,以便日后支付。我怀疑这将是最不痛苦的方式。