Пример #1
0
 /**
  * Принимает от assist результаты платежа, производит зачисление.
  *
  * @param array $req   массив $_POST с данными.
  */
 function checkdeposit($req)
 {
     $this->log->writeln('Поступление платежа.');
     $this->log->writevar($req);
     if ($req['merchant_id'] != self::MERCHANT_ID) {
         $this->fail(self::ERR_MERCHANT_ID);
     }
     $hash_x = $req['merchant_id'] . $req['ordernumber'] . $req['amount'] . $req['currency'] . $req['orderstate'];
     $hash = strtoupper(md5(strtoupper(md5($this->_secret) . md5($hash_x))));
     if ($hash != $req['checkvalue']) {
         $this->fail(self::ERR_HASH);
     }
     if ($req['responsecode'] == 'AS000' && $req['orderstate'] == 'Approved') {
         $card_account = new card_account();
         $billing_no = $card_account->checkPayment($req['ordernumber']);
         if (!$billing_no) {
             $this->fail(self::ERR_ORDERNUM);
         }
         $amm = $req['orderamount'];
         $descr = "CARD номер счета в ассисте {$req['billnumber']} с карты {$req['meantypename']} {$req['meannumber']} " . "сумма - {$req['orderamount']} {$req['ordercurrency']}, " . "обработан {$req['packetdate']}, номер покупки - {$req['ordernumber']}";
         if ($error = $this->deposit($op_id, $billing_no, $amm, $descr, 6, $req['orderamount'])) {
             $this->fail(self::ERR_DEPOSIT, $error);
         }
     }
     $this->success($req['billnumber'], $req['packetdate']);
 }
Пример #2
0
 /**
  * Зачисление средств при поступлении "Payment Confirmation" от Paymaster.
  *
  * @see /income/pm.php 
  * @param array  $req   параметры запроса.  
  * @return string Сообщение об ошибке
  */
 function checkdeposit($req)
 {
     $this->log = new log('pmpay/checkdeposit-%d%m%Y.log', 'a', '%d.%m.%Y %H:%M:%S : ');
     $this->log->writevar($req);
     $hash_str = $req['LMI_MERCHANT_ID'] . ';' . $req['LMI_PAYMENT_NO'] . ';' . $req['LMI_SYS_PAYMENT_ID'] . ';' . $req['LMI_SYS_PAYMENT_DATE'] . ';' . $req['LMI_PAYMENT_AMOUNT'] . ';' . $req['LMI_CURRENCY'] . ';' . $req['LMI_PAID_AMOUNT'] . ';' . $req['LMI_PAID_CURRENCY'] . ';' . $req['LMI_PAYMENT_SYSTEM'] . ';' . $req['LMI_SIM_MODE'] . ';' . $this->key;
     $hash_str = base64_encode(md5($hash_str, true));
     if ($req['LMI_HASH'] == $hash_str) {
         $error = $this->_setDeposit($req);
     } else {
         $error = 'Bad LMI_HASH';
     }
     $this->log->writeln($error ? $error : 'YES');
     $this->log->writeln();
     return $error;
 }
Пример #3
0
<?php

define('NO_CSRF', 1);
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/platipotom.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/log.php';
$platipotom = new platipotom();
$log = new log('platipotom/%d%m%Y.log');
$log->writeln('----- ' . date('d.m.Y H:i:s'));
$log->writevar($_GET);
$result = $platipotom->order();
$log->writeln('----- ' . (isset($result['status']) && $result['status'] == 1 ? 'SUCCESS' : 'FAIL'));
$log->writeln();
header('Content-Type: application/json');
echo json_encode($result);
Пример #4
0
<?php

define('NO_CSRF', 1);
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/stdf.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/yandex_kassa.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/log.php";
$yandex_kassa = new yandex_kassa();
$log = new log('ykassa/%d%m%Y.log');
$log->writeln('----- ' . date('d.m.Y H:i:s'));
$log->writevar($_POST);
$action = __paramInit('string', null, 'action');
//@todo: выставляем тестовый режим для валидации по IP
//после тестирования резерва БС убрать
/*
$scid = __paramInit('string', null, 'scid');
$is_test = $scid == yandex_kassa::SCID_SBR_TEST;
if($is_test) $yandex_kassa->setTest($is_test);
*/
$result = array();
if ($action == 'checkOrder') {
    $result = $yandex_kassa->order(false);
}
if ($action == 'paymentAviso') {
    $result = $yandex_kassa->order(true);
}
$log->writeln('----- ' . (isset($result['message']) ? $result['message'] : 'YES'));
$log->writeln();
echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>";
?>

<<?php 
Пример #5
0
$post = $_POST;
$get = $_GET;
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/stdf.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/pskb.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/log.php";
$src = __paramValue('int', $get['res']);
$state = __paramValue('int', $post['state']);
$lc_id = __paramValue('int', $post['account']);
$log_data = array('GET' => $get, 'POST' => $post);
if (!pskb::validateCardRequest($post)) {
    $src = 2;
    $state = -999;
    $log_data['err'] = array('src' => $src, 'state' => $state);
}
$log = new log("pskb_cards/income-" . SERVER . '-%d%m%Y.log', 'a', '%d.%m.%Y %H:%M:%S : ' . $_SERVER['REMOTE_ADDR'] . ' : ');
$log->writevar($log_data);
$pskb = new pskb();
$_lc = $pskb->getLCbyLCId($lc_id);
$err_msg = "Неизвестная ошибка";
if ($src == 2) {
    if ($state && in_array($state, array_keys(pskb::$card_messages))) {
        $err_msg = pskb::$card_messages[$state];
    }
    if (!in_array($state, array(2, -999))) {
        $pskb->upLC(array('state' => 'err', 'stateReason' => $err_msg), $_lc['lc_id']);
    }
}
if ($src === 1 && defined('PSKB_TEST_MODE')) {
    $lc = new pskb_lc(json_encode($_lc));
    $lc->id = $_lc['lc_id'];
    $lc->state = 'cover';
Пример #6
0
 private function _log($message = '', $var = null)
 {
     if (!$this->_log) {
         return;
     }
     if ($message) {
         $this->_log->writeln($message);
     }
     if ($var) {
         $this->_log->writevar($var);
     }
 }