/** * Add svea data to additional_information * * @param Varien_Event_Observer $observer */ public function addSveaData(Varien_Event_Observer $observer) { $payment = $observer->getEvent()->getPayment(); $data = $observer->getEvent()->getInput(); $payment = $this->_addAdditionalInfoToPayment($data, $payment); if ($data['method'] == 'svea_invoice') { // Get fee and tax class $paymentFee = Mage::getStoreConfig('payment/svea_invoice/handling_fee'); $paymentFeeTaxId = Mage::getStoreConfig('payment/svea_invoice/handling_fee_tax_class'); if ($paymentFee > 0) { $quote = Mage::getSingleton('checkout/session')->getQuote(); // Get tax rate for select tax $taxRequest = new Varien_Object(); $taxRequest->setProductClassId($paymentFeeTaxId); $taxRequest->setCustomerClassId($quote->getCustomerTaxClassId()); $taxRequest->setCountryId($quote->getShippingAddress()->getCountry()); $taxHelper = Mage::getSingleton('tax/calculation'); $percent = (100 + $taxHelper->getRate($taxRequest)) / 100; $paymentFeeTaxAmount = $paymentFee - $paymentFee / $percent; $payment->setAdditionalInformation('svea_payment_fee', $paymentFee); $payment->setAdditionalInformation('svea_payment_fee_tax_amount', $paymentFeeTaxAmount); $payment->setAdditionalInformation('svea_payment_fee_refunded', 0); $payment->setAdditionalInformation('svea_payment_fee_invoiced', 0); } } }