コード例 #1
0
 /**
  * функция проверяет параметры полученные от сервера 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;
 }
コード例 #2
0
 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));
     }
 }
コード例 #3
0
ファイル: payments.php プロジェクト: hzhou9/coupon_deal
 public static function payments($categories = array())
 {
     return payments::have_invoices($categories, array('statistics' => ''));
 }
コード例 #4
0
/**
* @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';
コード例 #5
0
ファイル: topup.php プロジェクト: anggagewor/whmcs-api
// 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;
コード例 #6
0
ファイル: pesanan.php プロジェクト: anggagewor/whmcs-api
<?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);
}
コード例 #7
0
ファイル: ipn.php プロジェクト: kaseya-university/efront
             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);
 }
コード例 #8
0
ファイル: jur.class.php プロジェクト: innova-market/JobExpert
 /**
  * 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;
 }
コード例 #9
0
ファイル: catalog.php プロジェクト: kaseya-university/efront
                     $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);
 }
コード例 #10
0
ファイル: admajax.php プロジェクト: innova-market/JobExpert
 } 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']);
コード例 #11
0
<?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);
}
コード例 #12
0
 /**
  * функция проверяет параметры полученные от сервера 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;
 }
コード例 #13
0
ファイル: others.php プロジェクト: hzhou9/coupon_deal
 public static function head_lines($categories = array())
 {
     return payments::have_plans($categories, array('only_count' => ''));
 }
コード例 #14
0
ファイル: token.php プロジェクト: anggagewor/whmcs-api
 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);
                 }
コード例 #15
0
	Логи - Платежи
********************************************************/
/**
* @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&amp;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&amp;s=payments';
/** Список файлов логов **/
if ($arrActions['files']) {
    /** инициируем "Наименование страницы" отображаемое в форме **/
    $arrNamePage[] = array('name' => MENU_LOGS_FILES, 'link' => false);
    /** удаление файлов **/
    if (isset($_POST['action'])) {