Exemplo n.º 1
0
 public static function crateFromOrder(Mage_Sales_Model_Order $order)
 {
     $aOrder = new self();
     $aOrder->id = $order->getIncrementId();
     $aOrder->currency = $order->getOrderCurrencyCode();
     $aOrder->total_amount = Aplazame_Sdk_Serializer_Decimal::fromFloat($order->getTotalDue());
     $aOrder->articles = array_map(array('Aplazame_Aplazame_BusinessModel_Article', 'crateFromOrderItem'), $order->getAllVisibleItems());
     if (($discounts = $order->getDiscountAmount()) !== null) {
         $aOrder->discount = Aplazame_Sdk_Serializer_Decimal::fromFloat(-$discounts);
     }
     return $aOrder;
 }
Exemplo n.º 2
0
 /**
  * check if order total is correct
  *
  * @param ShopgateOrder          $order
  * @param Mage_Sales_Model_Order $oMageOrder
  * @param string                 $message
  *
  * @return bool
  */
 public function isOrderTotalCorrect(ShopgateOrder $order, Mage_Sales_Model_Order $oMageOrder, &$message = "")
 {
     $totalShopgate = $order->getAmountComplete();
     $totalMagento = $oMageOrder->getTotalDue() + $oMageOrder->getTotalPaid();
     ShopgateLogger::getInstance()->log("Total Shopgate: {$totalShopgate} {$order->getCurrency()} \n            Total Magento: {$totalMagento} {$order->getCurrency()}", ShopgateLogger::LOGTYPE_DEBUG);
     if (abs($totalShopgate - $totalMagento) > 0.02) {
         $msg = "differing total order amounts:\n";
         $msg .= "\tShopgate:\t{$totalShopgate} {$order->getCurrency()} \n";
         $msg .= "\tMagento:\t{$totalMagento} {$oMageOrder->getOrderCurrencyCode()}\n";
         $message = $msg;
         return false;
     }
     return true;
 }
Exemplo n.º 3
0
 /**
  * @param Mage_Sales_Model_Order $order
  *
  * @return array
  */
 public static function createFromOrder(Mage_Sales_Model_Order $order)
 {
     $serialized = array('id' => $order->getIncrementId(), 'amount' => Aplazame_Sdk_Serializer_Decimal::fromFloat($order->getGrandTotal()), 'due' => Aplazame_Sdk_Serializer_Decimal::fromFloat($order->getTotalDue()), 'status' => $order->getStatus(), 'type' => $order->getPayment()->getMethodInstance()->getCode(), 'order_date' => date(DATE_ISO8601, strtotime($order->getCreatedAt())), 'currency' => $order->getOrderCurrencyCode(), 'billing' => Aplazame_Aplazame_BusinessModel_Address::createFromAddress($order->getBillingAddress()), 'shipping' => Aplazame_Aplazame_BusinessModel_ShippingInfo::createFromOrder($order));
     return $serialized;
 }
Exemplo n.º 4
0
 /**
  * @param Mage_Sales_Model_Order $order
  */
 protected function updatePaymentByOrder(Mage_Sales_Model_Order $order)
 {
     // Set Amount Authorized
     $this->getPayment()->setAmountAuthorized($order->getTotalDue());
     $this->getPayment()->setBaseAmountAuthorized($order->getBaseTotalDue());
 }
Exemplo n.º 5
0
 /**
  * @param Mage_Sales_Model_Order $magentoOrder
  * @param ShopgateOrder          $shopgateOrder
  *
  * @return Mage_Sales_Model_Order
  */
 protected function _updateOrderPayment($magentoOrder, $shopgateOrder)
 {
     if ($shopgateOrder->getUpdatePayment() && $magentoOrder->getTotalDue() > 0) {
         $this->log("# Update payment", ShopgateLogger::LOGTYPE_DEBUG);
         $magentoOrder = $this->_setOrderPayment($magentoOrder, $shopgateOrder);
         $this->log("# Update payment successful", ShopgateLogger::LOGTYPE_DEBUG);
     }
     return $magentoOrder;
 }