Exemple #1
0
 /**
  * Set the payment for the given quote
  *
  * @param Mage_Sales_Model_Quote $quote
  * @param ShopgateOrder          $order
  *
  * @return Mage_Sales_Model_Quote
  */
 protected function _setQuotePayment($quote, $order)
 {
     $payment = $this->_getFactory()->getPaymentModel();
     $paymentInfo = array();
     $info = $order->getPaymentInfos();
     if ($order->getPaymentMethod() == ShopgateOrder::COD) {
         if (Mage::getConfig()->getModuleConfig('MSP_CashOnDelivery')->is('active', 'true')) {
             $checkoutSession = Mage::getSingleton('checkout/session');
             $checkoutSession->replaceQuote($quote);
         }
     }
     if ($payment instanceof Shopgate_Framework_Model_Payment_MobilePayment) {
         $this->log("payment is shopgate", ShopgateLogger::LOGTYPE_DEBUG);
         $payment->setShopgateOrder($order);
         //allows printing of order details
     }
     if ($payment->getCode() == Mage::getModel("shopgate/payment_mobilePayment")->getCode()) {
         $paymentInfo = $order->getPaymentInfos();
     }
     if ($order->getPaymentMethod() == ShopgateOrder::PREPAY) {
         $paymentInfo["mailing_address"] = $info["purpose"];
     }
     if ($order->getAmountShopPayment() != 0) {
         $paymentInfo["amount_payment"] = $order->getAmountShopPayment();
     }
     $paymentInfo['is_customer_invoice_blocked'] = $order->getIsCustomerInvoiceBlocked();
     $paymentInfo['is_test'] = $order->getIsTest();
     $paymentInfo['is_paid'] = $order->getIsPaid();
     $quote->getPayment()->setMethod($payment->getCode());
     $quote->getPayment()->setAdditionalData(serialize($paymentInfo));
     $quote->getPayment()->setAdditionalInformation($paymentInfo);
     $quote->getPayment()->setLastTransId($order->getPaymentTransactionNumber());
     $quote = $this->_getFactory()->prepareQuote($quote, $info);
     return $quote;
 }