public function execute(\Magento\Framework\Event\Observer $observer) { /** @var \Magento\Sales\Model\Order $order */ $order = $observer->getData(self::DATA_ORDER); $this->_subRegister->savePv($order); $this->_subRegister->accountPv($order); }
public function execute(\Magento\Framework\Event\Observer $observer) { /** @var \Magento\Sales\Model\Order $order */ $order = $observer->getData(self::DATA_ORDER); /* save PV for order and order items into the registry */ $this->_subRegister->savePv($order); /* account PV if order is paid (credit card payment) */ $state = $order->getState(); $status = $order->getStatus(); if ($state == \Magento\Sales\Model\Order::STATE_PROCESSING && $status != \Magento\Sales\Model\Order::STATUS_FRAUD) { $this->_subRegister->accountPv($order); } }
public function execute(\Magento\Framework\Event\Observer $observer) { /** @var \Magento\Sales\Model\Order\Invoice $invoice */ $invoice = $observer->getData(self::DATA_INVOICE); $state = $invoice->getState(); if ($state == \Magento\Sales\Model\Order\Invoice::STATE_PAID) { /* update date_paid in the PV registry */ /** @var \Magento\Sales\Model\Order $order */ $order = $invoice->getOrder(); $orderId = $order->getEntityId(); if ($orderId) { $datePaid = $this->_toolDate->getUtcNowForDb(); $this->_logger->debug("Update paid date in PV registry on sale order (#{$orderId}) is paid."); $data = [ESale::ATTR_DATE_PAID => $datePaid]; $this->_repoSale->updateById($orderId, $data); /* transfer PV to customer account */ $this->_subRegister->accountPv($order); } } }
public function execute(\Magento\Framework\Event\Observer $observer) { /** @var \Magento\Sales\Model\Order\Invoice $invoice */ $invoice = $observer->getData(self::DATA_INVOICE); $state = $invoice->getState(); if ($state == \Magento\Sales\Model\Order\Invoice::STATE_PAID) { try { /* update date_paid in the PV registry */ /** @var \Magento\Sales\Model\Order $order */ $order = $invoice->getOrder(); $orderId = $order->getEntityId(); $datePaid = $this->_toolDate->getUtcNowForDb(); $this->_logger->debug("Update paid date in PV registry on sale order (#{$orderId}) is paid."); $data = [ESale::ATTR_DATE_PAID => $datePaid]; $this->_repoSale->updateById($orderId, $data); /* transfer PV to customer account */ $this->_subRegister->accountPv($order); } catch (\Throwable $e) { /* catch all exceptions and steal them */ $msg = 'Some error is occurred on update of the paid date in PV register. Error: ' . $e->getMessage(); $this->_logger->error($msg); } } }