Esempio n. 1
0
 /**
  * Collect order data and call service method to transfer PV to customer account.
  *
  * @param \Magento\Sales\Api\Data\OrderInterface $order
  */
 public function accountPv(\Magento\Sales\Api\Data\OrderInterface $order)
 {
     $state = $order->getState();
     if ($state == \Magento\Sales\Model\Order::STATE_PROCESSING) {
         /* transfer PV if order is paid */
         $orderId = $order->getEntityId();
         $itemsData = $this->_subCollector->getServiceItemsForMageSaleOrder($order);
         /** @var \Praxigento\Pv\Service\Sale\Request\AccountPv $req */
         $req = $this->_manObj->create(\Praxigento\Pv\Service\Sale\Request\AccountPv::class);
         $req->setSaleOrderId($orderId);
         $req->setOrderItems($itemsData);
         $this->_callSale->accountPv($req);
     }
 }
 /**
  * Register PV transaction for sale order.
  */
 private function _createPvTransaction($custId, $orderId, $dateApplied)
 {
     $req = new PvSaleAccountPvRequest();
     $req->setCustomerId($custId);
     $req->setSaleOrderId($orderId);
     $req->setDateApplied($dateApplied);
     $resp = $this->_callPvSale->accountPv($req);
     if ($resp->isSucceed()) {
         $this->_logger->debug("New PV transaction is registered for order #{$orderId} and customer #{$custId} .");
     }
 }