Neue Total in Magentos Pay Pal Modul aufnehmen
Wenn man ein Modul geschrieben hat, dass einen neuen Rabatt (oder auch einen Aufpreis) in Magento einfügt und möchte, dass der Rabatt (bzw. Aufpreis) an Paypal weitergegeben wird, kann dies sehr einfach über einen Observer auf das Event paypal_prepare_line_items erfolgen:
/** * Add custom discount amount to PayPal discount total * * @param Varien_Event_Observer $observer Observer * * @return null */ public function addPaypalCustomDiscountItem(Varien_Event_Observer $observer) { /* @var $paypalCart Mage_Paypal_Model_Cart */ $paypalCart = $observer->getEvent()->getPaypalCart(); if ($paypalCart) { $salesEntity = $paypalCart->getSalesEntity(); if ($salesEntity instanceof Mage_Sales_Model_Quote || $salesEntity instanceof Mage_Sales_Model_Order) { $value = (float)$salesEntity->getCustomDiscount(); if ($value > 0.0001) { $paypalCart->updateTotal( Mage_Paypal_Model_Cart::TOTAL_DISCOUNT, $value, Mage::helper('my_module')->__( 'Customt Discount (%s)', Mage::app()->getStore()->convertPrice($value, true, false) ) ); } } else { return; } } }