// выполняем необходимые действия $ourData = $payments->explodeServiceString($_POST['SERVICE']); $payments->doAction($ourData[0], $ourData[1], webmoney::generateLogData($_POST, 'SUCCESS'), $_POST['LMI_PAYMENT_NO']); $payments->sendAdminEmail($logData, 'SUCCESS'); } else { // логируем ответ в файл $logData = logs::logPaymentData($_POST, 'FAIL', 'webmoney'); // выполняем необходимые действия $ourData = $payments->explodeServiceString($_POST['SERVICE']); $payments->doAction($ourData[0], $ourData[1], webmoney::generateLogData($_POST, 'FAIL'), $_POST['LMI_PAYMENT_NO']); $payments->sendAdminEmail($logData, 'FAIL'); } } else { // если неверные параметры платежа // логируем ответ в файл logs::logPaymentData($_POST, 'WRONG PARAMS', 'webmoney'); } } elseif (isset($_GET['success']) && !empty($_POST)) { if (isset($_POST['SERVICE']) && $_POST['SERVICE']) { $ourData = $payments->explodeServiceString($_POST['SERVICE']); $payments->succesAnswer($ourData[0]); } } elseif (isset($_GET['fail']) && !empty($_POST)) { if (isset($_POST['LMI_PAYMENT_NO']) && $_POST['LMI_PAYMENT_NO']) { $smarty->assignByRef('order_id', $_POST['LMI_PAYMENT_NO']); $smarty->assign('include_template', SD_ROOT_DIR . 'core/mods/payments/webmoney/templates/webmoney.fail.tpl'); } } else { // проверяем наличие в сессии необходимых параметров и установлена ли цена в тарифной сетке для выбранной услуги if (isset($_SESSION['payment']) && isset($_SESSION['payment']['service']) && $payments->checkPriceInTariff($_SESSION['payment']['service'], $arrTariffs)) { $wmData = array('amount' => $arrTariffs[$_SESSION['payment']['service']], 'order_id' => time(), 'description' => $payments->generatePaymentDescription($_SESSION['payment']['service']), 'description64' => base64_encode($payments->generatePaymentDescription($_SESSION['payment']['service'])), 'service' => $_SESSION['payment']['service'] . '::' . $_SESSION['payment']['id']);
$ourData = $payments->explodeServiceString($_POST['sd_service']); $payments->doAction($ourData[0], $ourData[1], smscoin::generateLogData($_POST, 'SUCCESS'), $_POST['s_order_id']); } else { // логируем ответ в файл $logData = logs::logPaymentData($_POST, 'WRONG PARAMS', 'SMSCoin'); $payments->sendAdminEmail($logData, 'WRONG PARAMS'); } } elseif (isset($_GET['success']) && !empty($_POST)) { if (smscoin::checkStatusParams($_POST)) { $ourData = $payments->explodeServiceString($_POST['sd_service']); $payments->succesAnswer($ourData[0]); } } elseif (isset($_GET['fail']) && !empty($_POST)) { if (smscoin::checkStatusParams($_POST)) { // логируем ответ в файл $logData = logs::logPaymentData($_POST, 'FAIL', 'SMSCoin'); $payments->sendAdminEmail($logData, 'FAIL'); $smarty->assignByRef('order_id', $_POST['s_order_id']); $smarty->assignByRef('amount', $_POST['s_amount']); $smarty->assign('include_template', SD_ROOT_DIR . 'core/mods/payments/smscoin/templates/smscoin.fail.tpl'); } } else { // проверяем наличие в сессии необходимых параметров и установлена ли цена в тарифной сетке для выбранной услуги if (isset($_SESSION['payment']) && isset($_SESSION['payment']['service']) && $payments->checkPriceInTariff($_SESSION['payment']['service'], $arrTariffs)) { $smsData = array('order_id' => time(), 'amount' => $arrTariffs[$_SESSION['payment']['service']], 'clear_amount' => 0, 'description' => $payments->generatePaymentDescription($_SESSION['payment']['service']), 'service' => $_SESSION['payment']['service'] . '::' . $_SESSION['payment']['id']); $smsData['sign'] = smscoin::refSign(array(SMSCOIN_CONF_BANK_ID, $smsData['order_id'], $smsData['amount'], $smsData['clear_amount'], $smsData['description'], SMSCOIN_CONF_BANK_SECRET_CODE)); $smarty->assignByRef('smsData', $smsData); $smarty->assign('include_template', SD_ROOT_DIR . 'core/mods/payments/smscoin/templates/smscoin.pay.form.tpl'); } else { $arrErrors[] = ERROR_PAY_SYSTEM_NOT_DEFINE_PRICE; }
$payments->sendAdminEmail($logData, 'SUCCESS'); // выполняем необходимые действия $ourData = $payments->explodeServiceString($arrResponse['data']['service']); $payments->doAction($ourData[0], $ourData[1], liqpay::generateLogData($arrResponse['data'], 'SUCCESS'), $arrResponse['data']['order_id']); break; case 'failure': case 'wait_secure': default: // логируем ответ в файл $logData = logs::logPaymentData($arrResponse['data'], 'FAIL', 'liqpay'); $payments->sendAdminEmail($logData, 'FAIL'); break; } } else { // логируем ответ в файл $logData = logs::logPaymentData($arrResponse['data'], 'WRONG PARAMS', 'liqpay'); $payments->sendAdminEmail($logData, 'WRONG PARAMS'); } } } elseif (isset($_GET['result']) && !empty($_POST)) { if (isset($_POST['operation_xml']) && !empty($_POST['operation_xml']) && isset($_POST['signature']) && !empty($_POST['signature'])) { // проверяем существование параметров $arrResponse = liqpay::checkResultParams($_POST['operation_xml'], $_POST['signature'], LIQPAY_CONF_SIGNATURE); // если статус false, значит сигнатура не совпадает if ($arrResponse['status']) { if ('success' === $arrResponse['data']['status']) { $ourData = $payments->explodeServiceString($arrResponse['data']['service']); $payments->succesAnswer($ourData[0]); } else { $smarty->assignByRef('status', $arrResponse['data']['status']); $smarty->assignByRef('order_id', $arrResponse['data']['order_id']);
exit; } else { // логируем ответ в файл $logData = logs::logPaymentData($_POST, 'FAIL', 'intellectmoney'); // выполняем необходимые действия $ourData = $payments->explodeServiceString($_POST['SERVICE']); /* @var $payments payments */ $payments->logPayment(intellectmoney::generateLogData($_POST, 'FAIL'), $_POST['LMI_PAYMENT_NO']); $payments->sendAdminEmail($logData, 'FAIL'); header("HTTP/1.0 404 Not Found"); exit; } } else { // если неверные параметры платежа // логируем ответ в файл logs::logPaymentData($_POST, 'WRONG PARAMS', 'intellectmoney'); header("HTTP/1.0 404 Not Found"); die; } } elseif (isset($_GET['success'])) { if (!empty($_SESSION['payment']['service'])) { $payments->succesAnswer($_SESSION['payment']['service']); } else { messages::messageChangeSaved(MESSAGE_PYMENT_WAS_SUCCESS, false, 'index.php', 5000); } } elseif (isset($_GET['fail'])) { $smarty->assign('include_template', SD_ROOT_DIR . 'core/mods/payments/intellectmoney/templates/intellectmoney.fail.tpl'); // оплата не прошла } elseif (isset($_GET['back'])) { $smarty->assign('include_template', SD_ROOT_DIR . 'core/mods/payments/intellectmoney/templates/intellectmoney.back.tpl'); } else {
// уведомление о проведенном платеже $params = a1pay::getParams($_GET); if (a1pay::checkResultParams($params)) { // логируем ответ в файл $logData = logs::logPaymentData($params, 'SUCCESS', 'a1pay'); // выполняем необходимые действия $ourData = a1pay::getOurData($params['msg']); $payments->doAction($ourData[0], $ourData[1], a1pay::generateLogData($params, 'SUCCESS'), $params['order_id']); $payments->sendAdminEmail($logData, 'SUCCESS'); // Фомируем ответ для абонента header("HTTP/1.0 200 Ok"); print 'smsid:' . $params['smsid'] . "\n" . 'status:reply' . "\n\n" . 'Usluga oplachena i vipolnena. Order id: ' . $params['order_id'] . "\n"; exit; } else { // логируем ответ в файл $logData = logs::logPaymentData($params, 'FAIL', 'a1pay'); /* @var $payments payments */ $payments->logPayment(a1pay::generateLogData($params, 'FAIL'), $params['order_id']); $payments->sendAdminEmail($logData, 'FAIL'); // Фомируем ответ для абонента header("HTTP/1.0 404 Not Found"); print 'smsid:' . $params['smsid'] . "\n" . 'status:reply' . "\n\n" . 'Usluga ne vipolnena. Nevernie parametry SMS. Order id: ' . $params['order_id'] . "\n"; exit; } } else { // проверяем наличие в сессии необходимых параметров и установлена ли цена в тарифной сетке для выбранной услуги if (isset($_SESSION['payment']) && isset($_SESSION['payment']['service'])) { $data = array('number' => $arrNumbers[$_SESSION['payment']['service']], 'description' => $payments->generatePaymentDescription($_SESSION['payment']['service']), 'sms' => A1PAY_CONF_PREFIX . ' ' . $_SESSION['payment']['id'] . a1pay::$idDelimiter . a1pay::$serviceCodes[$_SESSION['payment']['service']]); $smarty->assignByRef('data', $data); $smarty->assign('include_template', SD_ROOT_DIR . 'core/mods/payments/a1pay/templates/a1pay.pay.form.tpl'); } else {