/** * функция проверяет параметры полученные от сервера intellectmoney в оповещении о платеже ($_POST) * Проверяется наличие всех необходимых полей, услуга и ее стоимость * @param (array) $arrData - массив параметров ($_POST от сервера intellectmoney) * @param (array) $arrTariffs - тарифная сетка intellectmoney * @return bool */ static function checkResultParams(&$arrData, &$arrTariffs) { // проверяем порциями, чтобы было читабельнее if (empty($arrData['LMI_PAYEE_PURSE']) || $arrData['LMI_PAYEE_PURSE'] != INTELLECTMONEY_CONF_PAYEE_PURSE) { return false; } if (empty($arrData['LMI_PAYMENT_AMOUNT']) || empty($arrData['LMI_PAYMENT_NO'])) { return false; } if (empty($arrData['LMI_SYS_INVS_NO']) || empty($arrData['LMI_SYS_TRANS_NO'])) { return false; } if (empty($arrData['LMI_HASH']) || empty($arrData['LMI_SYS_TRANS_DATE'])) { return false; } if (empty($arrData['SERVICE'])) { return false; } // проверяем подпись if (self::refSign($arrData) != strtoupper($arrData['LMI_HASH'])) { return false; } // проверяем услугу и ее цену в тарифной сетке $payments = new payments(); $service = $payments->explodeServiceString($arrData['SERVICE']); if (!in_array($service[0], $arrTariffs) || $arrData['LMI_PAYMENT_AMOUNT'] != $arrTariffs[$service[0]]) { return false; } return true; }
function PaymentData($id) { if ($this->data['users']->role != "admin") { exit; } $payments = payments::where('id', $id)->first(); if ($payments->paymentSuccessDetails == "") { return $this->panelInit->apiOutput(false, $this->panelInit->language['paymentDetails'], $this->panelInit->language['noPaymentDetails']); } else { return $this->panelInit->apiOutput(true, null, null, json_decode($payments->paymentSuccessDetails, true)); } }
public static function payments($categories = array()) { return payments::have_invoices($categories, array('statistics' => '')); }
/** * @package * @todo */ !defined('SDG') ? die('Triple protection!') : null; // инициируем "Наименование страницы" отображаемое в форме $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_MODS, 'link' => false)); /** * иницализация массива подключаемых шаблонов: по умолчанию все значения - false * для подключения шаблона, необходимо установить значение - true * шаблоны подключаются в порядке установленном в файле головного шаблона */ $arrActions = array('payments' => false, 'config' => false, 'mt' => false, 'lt' => false); // определяем шаблон для отображения isset($_GET['action']) && isset($arrActions[$_GET['action']]) ? $arrActions[$_GET['action']] = true : null; $payments = new payments(); $modMenu = array(); // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => MENU_MODS_PAYMENTS, 'link' => CONF_ADMIN_FILE . '?m=mods&s=payments'); /** * Действия */ $issetMod = !empty($_GET['id']) ? $payments->issetMod("id IN (" . secure::escQuoteData($_GET['id']) . ") AND token IN ('active', 'disabled')") : false; /** * Настройки модов */ if ($arrActions['config'] && !empty($_GET['id']) && $issetMod) { // инициируем "Наименование страницы" отображаемое в форме $arrNamePage[] = array('name' => strtoupper($_GET['id']), 'link' => false); $arrNamePage[] = array('name' => MENU_CONFIG, 'link' => false); include_once 'core/mods/payments/' . $_GET['id'] . '/admin.php';
// start $_POST if ($_POST) { /** * untuk mengecek apakah card id sudah terdaftar atau tidak. */ $custom = new custom(); $cekCardId = $custom->cekCardId($_POST['card_id']); // start $cekCardId if ($cekCardId != 0) { $param["clientid"] = $custom->byCardId($_POST['card_id']); $param["amount"] = $_POST['nominal']; $param["description"] = "Topup Saldo {$param["amount"]}"; // start $param["clientid"] if (!$param["clientid"] == false) { // tambah credit $payments = new payments(); $topup = json_decode($payments->Add_Credit($param)); //membuat invoice $invoice["userid"] = $param["clientid"]; $invoice["date"] = date("Ymd"); $invoice["duedate"] = date("Ymd"); $invoice["sendinvoice"] = false; $invoice["itemdescription1"] = $param["description"]; $invoice["itemamount1"] = $param["amount"]; $createInvoice = json_decode($payments->Create_Invoice($invoice)); // update invoice $postfields["invoiceid"] = $createInvoice->invoiceid; $postfields["status"] = 'Paid'; $updateInvoice = json_decode($payments->Update_Invoice($postfields)); if ($updateInvoice->result == 1) { $result['result'] = 1;
<?php if ($_POST) { $payments = new payments(); /** * -------------------------------------------------- * Register pasanan * -------------------------------------------------- * mendaftarkan pesanan untuk menjadi invoice whmcs */ $invoice["userid"] = API_DEFAULT_USER_ID; $invoice["date"] = date("Ymd"); $invoice["duedate"] = date("Ymd"); $invoice["sendinvoice"] = false; $invoice["itemdescription1"] = $_POST['daftar_pesanan']; $invoice["itemamount1"] = $_POST['nominal']; $createInvoice = json_decode($payments->Create_Invoice($invoice)); if ($createInvoice->result == '1') { $result['result'] = $createInvoice->result; $result['invoiceid'] = $createInvoice->invoiceid; $result['message'] = ""; } else { $result['result'] = $createInvoice->result; $result['message'] = $createInvoice->message; } echo json_encode($result); } else { $result['result'] = 0; $result['message'] = "Method not accepted"; echo json_encode($result); }
if ($_POST['payment_status'] == 'Pending') { $reason = $_POST['pending_reason']; //for notification } $fields = array("amount" => $_POST['mc_gross'], "timestamp" => time(), "method" => "paypal", "status" => $paymentStatus, "txn_id" => $_POST['txn_id'], "users_LOGIN" => $_POST['custom'], "charset" => $_POST['charset'], "comments" => $responseText, "lessons" => $lessonIds, "courses" => $courseIds); if (!isset($processedPayments[$_POST['txn_id']])) { $payment = payments::create($fields); if ($couponIds) { $coupon = new coupons($couponIds); is_array($lessonIds) or $lessonIds = array(); is_array($courseIds) or $courseIds = array(); $coupon->useCoupon($user, $payment, array('lessons' => $lessonIds, 'courses' => $courseIds)); } } else { $result = eF_getTableData("payments", "id", "txn_id='" . $_POST['txn_id'] . "'"); $payment = new payments($result[0]['id']); $payment->payments = array_merge($payment->payments, $fields); $payment->persist(); } } else { if (strcmp($res, "INVALID") == 0) { $responseText = ''; foreach ($_POST as $key => $value) { $responseText .= $key . " = " . $value . "\n"; } file_put_contents($logFile, "Live-INVALID IPN\n" . $logText . "\n\n" . $req, FILE_APPEND); } } } fclose($fp); }
/** * public функция закрытия платежа * @param (array) $arrData - содержит все параметры платежа * @param (array || false) $userEmail - email пользователя, которому отправить уведомление * @param (array || false) $message - сообщение, которое будет вставлено в письмо * @return bool */ public function closePayment($arrData, $userEmail, $message) { $payments = new payments(); $logData = $this->generateLogData($arrData); if ($payments->doAction($arrData['action'], $arrData['record_id'], $logData, $arrData['order_id'])) { $arrId = array($arrData['id']); $this->deleteRecordsById($arrId); if (!empty($userEmail) && !empty($message)) { $this->userPaymentNotification('close', $userEmail, $message); } } else { return false; } return true; }
$currentUser->addCourses($nonFreeCourses, array_fill(0, sizeof($nonFreeCourses), 'student'), true); } $message = _SUCCESSFULLYENROLLED; $fields = array("amount" => $totalPrice, "timestamp" => time(), "method" => "free", "status" => "completed", "users_LOGIN" => $currentUser->user['login'], "lessons" => $nonFreeLessons, "courses" => $nonFreeCourses); $payment = payments::create($fields); } else { //Assign new lessons as inactive if (sizeof($nonFreeLessons) > 0) { $currentUser->addLessons($nonFreeLessons, array_fill(0, sizeof($nonFreeLessons), 'student'), false); } if (sizeof($nonFreeCourses) > 0) { $currentUser->addCourses($nonFreeCourses, array_fill(0, sizeof($nonFreeCourses), 'student'), false); } $message = _ADMINISTRATORCONFIRMENROLLED; $fields = array("amount" => $totalPrice, "timestamp" => time(), "method" => "manual", "status" => "completed", "users_LOGIN" => $currentUser->user['login'], "lessons" => $nonFreeLessons, "courses" => $nonFreeCourses); $payment = payments::create($fields); } if ($coupon) { $coupon->useCoupon($currentUser, $payment, array('lessons' => $nonFreeLessons, 'courses' => $nonFreeCourses)); } } } cart::storeCart($cart); if (basename($_SERVER['PHP_SELF']) == 'index.php') { eF_redirect($_SESSION['s_type'] . "page.php?ctg=lessons&message=" . rawurlencode($message) . "&message_type=success"); } else { eF_redirect(basename($_SERVER['PHP_SELF']) . "?ctg=lessons&message=" . rawurlencode($message) . "&message_type=success"); } } catch (Exception $e) { handleNormalFlowExceptions($e); }
} elseif (!empty($_POST['saveMailerTemplate']) && !empty($_POST['text'])) { $_POST['saveMailerTemplate'] = trim($_POST['saveMailerTemplate']); echo !file_put_contents('core/data/templates/mailer/' . $_POST['saveMailerTemplate'] . '.txt', $_POST['text']) ? MESSAGE_CHANGE_NOT_SAVED : MESSAGE_CHANGE_SAVED; } elseif (!empty($_POST['getPamentModData'])) { $payments = new payments(); // платные услуги $strWhere = "id=" . secure::escQuoteData($_POST['getPamentModData']); $arrData = $payments->getRecord($strWhere); if ($arrData) { $smarty->assignByRef('modData', $arrData); $smarty->display('adm.mods.payments.edit.tpl'); } else { echo 'errorModNotExists'; } } elseif (!empty($_POST['savePamentModData']) && isset($_POST['modTitle']) && isset($_POST['modDescr'])) { $payments = new payments(); // платные услуги $arrData = array('title' => trim($_POST['modTitle']), 'description' => trim($_POST['modDescr'])); $strWhere = "id=" . secure::escQuoteData($_POST['savePamentModData']); if ($payments->getRecord($strWhere)) { if ($payments->updateRecords($arrData, $strWhere)) { echo ajax::sdgJSONencode(array('success' => true)); } else { echo ajax::sdgJSONencode(array('error' => MESSAGE_CHANGE_NOT_SAVED)); } } else { echo ajax::sdgJSONencode(array('error' => ERROR_COULD_NOT_FOUND_RECORD_TO_UPDATE)); } } elseif (!empty($_POST['getUpdatesLogsDetail'])) { if (file_exists(CONF_UPDATES_PATH_TO_LOG_FILES . $_POST['getUpdatesLogsDetail'])) { $arrData = filesys::getSerializedData(CONF_UPDATES_PATH_TO_LOG_FILES . $_POST['getUpdatesLogsDetail']);
<?php if ($_POST) { $payments = new payments(); $param["invoiceid"] = $_POST['invoiceid']; $param["itemdescription[1]"] = $_POST['daftar_pesanan']; $param["itemamount[1]"] = $_POST['nominal']; $updateInvoice = json_decode($payments->Update_Invoice($param)); if ($updateInvoice->result == '1') { $result['result'] = $updateInvoice->result; $result['invoiceid'] = $updateInvoice->invoiceid; $result['message'] = ""; } else { $result['result'] = $updateInvoice->result; $result['message'] = $updateInvoice->message; } echo json_encode($result); } else { $result['result'] = 0; $result['message'] = "Method not accepted"; echo json_encode($result); }
/** * функция проверяет параметры полученные от сервера webmoney в оповещении о платеже ($_POST) * Проверяется наличие всех необходимых полей, услуга и ее стоимость * * @param (array) $arrData - массив параметров ($_POST от сервера Webmoney) * @param (array) $arrTariffs - тарифная сетка Webmoney * * @return bool */ static function checkResultParams(&$arrData, &$arrTariffs) { // проверяем порциями, чтобы было читабельнее if (!isset($arrData['LMI_PAYEE_PURSE']) || !$arrData['LMI_PAYEE_PURSE'] || $arrData['LMI_PAYEE_PURSE'] !== WEBMONEY_CONF_PAYEE_PURSE) { return false; } if (!isset($arrData['LMI_PAYMENT_AMOUNT']) || !$arrData['LMI_PAYMENT_AMOUNT'] || !isset($arrData['LMI_PAYMENT_NO']) || !$arrData['LMI_PAYMENT_NO']) { return false; } if (!isset($arrData['LMI_SYS_INVS_NO']) || !$arrData['LMI_SYS_INVS_NO'] || !isset($arrData['LMI_SYS_TRANS_NO']) || !$arrData['LMI_SYS_TRANS_NO']) { return false; } if (!isset($arrData['LMI_MODE']) || !isset($arrData['LMI_PAYER_WM']) || !$arrData['LMI_PAYER_WM'] || !isset($arrData['LMI_PAYER_PURSE']) || !$arrData['LMI_PAYER_PURSE']) { return false; } if (!isset($arrData['LMI_HASH']) || !$arrData['LMI_HASH'] || !isset($arrData['LMI_SYS_TRANS_DATE']) || !$arrData['LMI_SYS_TRANS_DATE']) { return false; } if (!isset($arrData['LMI_PAYMENT_DESC']) || !$arrData['LMI_PAYMENT_DESC'] || !isset($arrData['SERVICE']) || !$arrData['SERVICE']) { return false; } // проверяем подпись if (webmoney::refSign($arrData) != $arrData['LMI_HASH']) { return false; } // проверяем услугу и ее цену в тарифной сетке $payments = new payments(); $service = $payments->explodeServiceString($arrData['SERVICE']); if (!in_array($service[0], $arrTariffs) || $arrData['LMI_PAYMENT_AMOUNT'] != $arrTariffs[$service[0]]) { return false; } return true; }
public static function head_lines($categories = array()) { return payments::have_plans($categories, array('only_count' => '')); }
if ($tokenDetails != false) { $tanggalPembayaran = $tokenDetails->date; $NoInvoice = $tokenDetails->invoice_id; $ClientId = $tokenDetails->client_id; $Sekarang = date("Y-m-d H:i:s"); $state = $tokenDetails->state; // cari rentan waktu $tanggalSekarang = strtotime($Sekarang); $TanggalDatabase = strtotime($tanggalPembayaran); $waktuSekarang = round(abs($tanggalSekarang - $TanggalDatabase) / 60, 0); if ($state == 'paid') { $result['result'] = 0; echo json_encode($result); } else { if ($waktuSekarang <= $batasWaktu) { $payments = new payments(); $noinv['invoiceid'] = $NoInvoice; $getInvoice = $payments->Get_Invoice($noinv); if ($getInvoice->result == "success") { $applyCredit['invoiceid'] = $getInvoice->invoiceid; $applyCredit['amount'] = $getInvoice->total; $apply_Credit = json_decode($payments->Apply_Credit($applyCredit)); if ($apply_Credit->result != 0) { // update tbltoken $custom->uToken($_POST['token']); $result['result'] = 1; echo json_encode($result); } else { $result['result'] = 0; echo json_encode($result); }
Логи - Платежи ********************************************************/ /** * @package * @todo */ !defined('SDG') ? die('Triple protection!') : null; // инициируем "Наименование страницы" отображаемое в форме $arrNamePage = array(array('name' => MENU_ADMIN_MAIN, 'link' => CONF_ADMIN_FILE), array('name' => MENU_LOGS, 'link' => false), array('name' => MENU_LOGS_PAYMENTS, 'link' => CONF_ADMIN_FILE . '?m=logs&s=payments')); /** * иницализация массива подключаемых шаблонов: по умолчанию все значения - false * для подключения шаблона, необходимо установить значение - true * шаблоны подключаются в порядке установленном в файле головного шаблона */ $arrActions = array('files' => false, 'redata' => false); $payments = new payments(); // определяем шаблон для отображения isset($_GET['action']) && isset($arrActions[$_GET['action']]) ? $arrActions[$_GET['action']] = true : null; /** * массив, который возращается в форму * содержит значения по умолчанию для формы отбора */ $retFields = array('order_id' => false, 'records' => 30); /** Строка запроса из адресной строки браузера **/ $qString = !empty($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : 'm=logs&s=payments'; /** Список файлов логов **/ if ($arrActions['files']) { /** инициируем "Наименование страницы" отображаемое в форме **/ $arrNamePage[] = array('name' => MENU_LOGS_FILES, 'link' => false); /** удаление файлов **/ if (isset($_POST['action'])) {