/** * This method handles payment process for creating payments in Payment Gateway * * @param string $paymentName Payment name * @param string $extensionName Name of the extension * @param string $ownerName Name of the owner * @param array $data Request data * @param array &$logData Log data * @param bool &$isAccepted If process is successful then this flag should be true * * @return void */ public function onRedpaymentRequestProcess($paymentName, $extensionName, $ownerName, $data, &$logData, &$isAccepted) { if (!$this->isPaymentEnabled($paymentName, $extensionName, $ownerName)) { return; } $logData = RApiPaymentHelper::generatePaymentLog(RApiPaymentStatus::getStatusCreated(), $data, JText::sprintf('LIB_REDCORE_PAYMENT_LOG_PROCESS_MESSAGE', $this->paymentName)); // Handle process $this->paymentHelper->handleProcess($extensionName, $ownerName, $data, $logData, $isAccepted); // If plugin did not set the message text we will set it if (empty($logData['message_text'])) { if ($isAccepted === true) { $logData['message_text'] = JText::sprintf('LIB_REDCORE_PAYMENT_LOG_ACCEPT_MESSAGE', $extensionName, $this->paymentName); } elseif ($isAccepted === false) { $logData['message_text'] = JText::sprintf('LIB_REDCORE_PAYMENT_LOG_CANCEL_MESSAGE', $extensionName, $this->paymentName); } else { $logData['message_text'] = JText::sprintf('LIB_REDCORE_PAYMENT_LOG_DEFAULT_MESSAGE', $extensionName, $this->paymentName); } } // Save payment log and update change for payment RApiPaymentHelper::saveNewPaymentLog($logData); // We call extension helper file to trigger afterHandleProcess method if needed RApiPaymentHelper::triggerExtensionHelperMethod($extensionName, 'afterHandleProcess', $ownerName, $paymentName, $data, $isAccepted); }