/** * Returns an singleton instance of this class * * @param object $config * @param object $args * @return */ public static function getInstance($config, $args) { if (self::$instance == null) { self::$instance = new PaypalTransactionsManager($config, $args); } return self::$instance; }
public function service() { $token = urlencode($_SESSION['TOKEN']); $ordersManager = OrdersManager::getInstance($this->config, $this->args); $orderBy3rdPartyToken = $ordersManager->getOrderBy3rdPartyToken($token); if (!isset($orderBy3rdPartyToken)) { $_SESSION['error_message'] = $this->getPhrase(595); $this->redirect('orders'); } $paypalTransactionsManager = PaypalTransactionsManager::getInstance($this->config, $this->args); $orderId = $orderBy3rdPartyToken->getId(); $res = $this->getPaypalShippingDetails(); if ($res === true) { $res = $this->confirmOrder(); if ($res === true) { $_SESSION['success_message'] = sprintf($this->getPhrase(593), $orderId); $ordersManager->updateNumericField($orderId, '3rd_party_payment_received', 1); $paypalTransactionsManager->setOrderCompleted($orderId); } else { $paypalTransactionsManager->setOrderPaymentError($orderId, $res); $_SESSION['error_message'] = $res; } } else { $paypalTransactionsManager->setOrderPaymentError($orderId, $res); $_SESSION['error_message'] = $res; } $this->redirect('orders'); }