Esempio n. 1
0
 /**
  * @method void overridePaymentMethod()
  * @description Called on event 'sales_quote_payment_import_data_before'
  *
  * @return void
  */
 public function overridePaymentMethod(Varien_Event_Observer $observer)
 {
     /**
      * Is the "Save this card" box checked?  If it is, change the payment
      * method to 'ccsave'
      */
     if ($observer->getInput()->getData('save_card') == 'on') {
         $observer->getInput()->setMethod('ccsave');
     }
 }
Esempio n. 2
0
 /**
  * Handle custom payment data fields
  *
  * @param Varien_Event_Observer $observer
  * @return void
  */
 public function salesQuotePaymentImportDataBefore(Varien_Event_Observer $observer)
 {
     /** @var $input Varien_Object */
     $input = $observer->getInput();
     /** @var $payment Mage_Sales_Model_Quote_Payment */
     $payment = $observer->getPayment();
     $paymentMethod = $input->getMethod();
     if (isset($paymentMethod)) {
         // Clear any possible additional info from previous requests
         $customPaymentAddInfoFields = CLS_Paypal_Helper_Data::$customPaymentAddInfoFields;
         if (!empty($customPaymentAddInfoFields)) {
             foreach ($customPaymentAddInfoFields as $_customField) {
                 if ($payment->hasAdditionalInformation($_customField)) {
                     $payment->unsAdditionalInformation($_customField);
                 }
             }
         }
         /** @var $helper CLS_Paypal_Helper_Data */
         $helper = Mage::helper('cls_paypal');
         // Handle "Save this card" option for native Magento payment methods
         if ($helper->isSupportedPaymentMethod($paymentMethod)) {
             if ($input['cc_save_future'] == 'Y') {
                 // Set 'Save for future use' flag
                 $payment->setAdditionalInformation('cc_save_future', 'Y');
             }
         } elseif ($helper->isCustomerstoredPaymentMethod($paymentMethod)) {
             if ($input['stored_card_id']) {
                 // Save stared card ID into the additional information,
                 // card ID will be validated afterwards
                 $payment->setAdditionalInformation('stored_card_id', $input['stored_card_id']);
             }
         }
     }
 }
 /**
  * Collects codFee from qoute/addresses to quote
  *
  * @param Varien_Event_Observer $observer
  *
  */
 public function sales_quote_collect_totals_after(Varien_Event_Observer $observer)
 {
     $quote = $observer->getEvent()->getQuote();
     $data = $observer->getInput();
     $quote->setCodFee(0);
     $quote->setBaseCodFee(0);
     $quote->setCodTaxAmount(0);
     $quote->setBaseCodTaxAmount(0);
     foreach ($quote->getAllAddresses() as $address) {
         $quote->setCodFee((double) $quote->getCodFee() + $address->getCodFee());
         $quote->setBaseCodFee((double) $quote->getBaseCodFee() + $address->getBaseCodFee());
         $quote->setCodTaxAmount((double) $quote->getCodTaxAmount() + $address->getCodTaxAmount());
         $quote->setBaseCodTaxAmount((double) $quote->getBaseCodTaxAmount() + $address->getBaseCodTaxAmount());
     }
 }