/** * Handle gateway processing message * Occurs when returning from gateway, but payment was not yet confirmed * * @return void */ public function processing() { $app = JFactory::getApplication(); $submit_key = $app->input->getString('key', ''); if ($app->input->get('lang')) { $lang_v = "&lang=" . $app->input->get('lang'); } $model = $this->getModel('payment'); $model->setSubmitKey($submit_key); $submitters = $model->getSubmitters(); if (count($submitters)) { $first = current($submitters); if (!empty($first->integration)) { switch ($first->integration) { case 'redevent': $app->redirect('index.php?option=com_redevent&view=payment&submit_key=' . $submit_key . '&state=processing' . $lang_v); break; default: $app->redirect('index.php?option=com_' . $first->integration . '&view=payment&submit_key=' . $submit_key . '&state=processing' . $lang_v); break; } } } // Analytics for default landing page if (redFORMHelperAnalytics::isEnabled()) { $payement = $model->getPaymentDetails($submit_key); // Add transaction $trans = new stdclass(); $trans->id = $submit_key; $trans->affiliation = $payement->form; $trans->revenue = $model->getPrice(); redFORMHelperAnalytics::addTrans($trans); // Add submitters as items foreach ($submitters as $s) { $item = new stdclass(); $item->id = $submit_key; $item->productname = 'submitter' . $s->id; $item->sku = 'submitter' . $s->id; $item->category = ''; $item->price = $s->price; redFORMHelperAnalytics::addItem($item); } redFORMHelperAnalytics::trackTrans(); } $app->input->set('view', 'payment'); $app->input->set('layout', 'final'); $app->input->set('state', 'processing'); $this->display(); }