我使用Magento V.1.9,并实施了额外费用模块,当总金额低于50欧元时,该模块会增加负折扣(例如+5欧元)。
该功能已在整个商店中完全实现,我已经可以用发票购买商品了。
当我想用PayPal购买东西时,出现错误“出现错误,请联系服务器管理员”。如何使用PayPal处理额外的折扣? (我已经尝试过将折扣添加到PayPal中。)
我已经尝试通过新文章(观察者)添加折扣。我已经尝试通过观察者添加折扣,同时覆盖TOTAL_DISCOUNT。
//添加文章(错误:有一个错误...)
public function paypalPrepareLineItems($observer)
{
/* @var $cart Mage_Paypal_Model_Cart */
$label = 'Mindestmengenzuschlag';
$qty = 1;
$cart = $observer->getEvent()->getPaypalCart();
$address = $cart->getSalesEntity()->getIsVirtual() ?
$cart->getSalesEntity()->getBillingAddress() : $cart->getSalesEntity()->getShippingAddress();
$feeAmount = $address->getExtraFeeRuleAmount();
$cart->addItem($label, $qty, $feeAmount);
return $this;
}
//更新总计(错误:金额不相同...)
public function paypalPrepareLineItems($observer)
{
/* @var $cart Mage_Paypal_Model_Cart */
$cart = $observer->getEvent()->getPaypalCart();
$address = $cart->getSalesEntity()->getIsVirtual() ?
$cart->getSalesEntity()->getBillingAddress() : $cart->getSalesEntity()->getShippingAddress();
$feeAmount = $address->getExtraFeeRuleAmount();
$cart->updateTotal(Mage_Paypal_Model_Cart::TOTAL_DISCOUNT, $feeAmount);
}