/** * Start payment * * @param $cart * @param $order * * @return bool|null */ public function plgVmConfirmedOrder(VirtueMartCart $cart, array $order) { $config = $this->getVmPluginMethod($cart->virtuemart_paymentmethod_id); $address = $this->getAddress($order); if (!$config || !$this->selectedThisElement($config->payment_element)) { return null; // Another method was selected, do nothing } try { $response = $this->getPaynetProcessorAggregate($config)->startSale($address, $this->getReturnUrl($address)); } catch (Exception $e) { $this->logException($e); $this->saveAddress($address); $this->cancelOrder($address, $config); JRequest::setVar('html', $this->getErrorMessage(), 'post'); return; } $this->saveAddress($address); $cart->_confirmDone = false; $cart->_dataValidated = false; $cart->setCartIntoSession(); JFactory::getApplication()->redirect($response->getRedirectUrl()); }