예제 #1
0
 public function _request($url, $xml, $scope = '')
 {
     if (!$this->_log) {
         $this->_log = new log('wm_payments/wm_payments-%d%m%Y.log');
     }
     $this->_log->linePrefix = '%d.%m.%Y %H:%M:%S : ' . getRemoteIP() . " : {$scope} : ";
     $res = parent::_request($url, $xml, $scope);
     $this->_log->writeln('REQUEST:');
     $this->_log->writeln($res->GetRequest());
     $this->_log->writeln('RESPONSE:');
     $this->_log->writeln($res->GetResponse());
     return $res;
 }
예제 #2
0
<?php

//https://beta.free-lance.ru/mantis/view.php?id=28981
ini_set('display_errors', 1);
error_reporting(E_ALL ^ E_NOTICE);
ini_set('max_execution_time', 0);
ini_set('memory_limit', '512M');
if (!isset($_SERVER['DOCUMENT_ROOT']) || !strlen($_SERVER['DOCUMENT_ROOT'])) {
    $_SERVER['DOCUMENT_ROOT'] = rtrim(realpath(pathinfo(__FILE__, PATHINFO_DIRNAME) . '/../../'), '/');
}
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payment_keys.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/WMXI/WMXI.php';
$wmid = '968475351930';
$wmxi = new WMXI();
$key = array('file' => WM_VERIFY_KEYFILE, 'pass' => WM_VERIFY_KEYPASS);
$wmxi->Classic(WM_VERIFY_WMID, $key);
$res = $wmxi->X11($wmid, 0, 1, 0);
$res = $res->toObject();
$v = $res->certinfo->attestat->row['tid'];
print_r($v);
exit;
예제 #3
0
 /**
  * Проверка WMID:
  * - Проверка ввода WMID
  * - Верифицирован ли уже переданный WMID
  * - Проверка аттестата у WMID
  * 
  * @global type $DB
  * @param type $wmid
  * @param type $uid
  * @return boolean
  */
 public function webmoneyCheckWMID($wmid, $uid)
 {
     global $DB;
     //Проверка ввода WMID
     if (!preg_match('/^[0-9]{12}$/', $wmid)) {
         $this->error = 'Неправильно указан WMID.';
         return false;
     }
     //Верифицирован ли уже переданный WMID
     $ret = $DB->val("\n            SELECT 1 \n            FROM verify_webmoney \n            WHERE wmid = ? AND user_id <> ?i AND result", $wmid, $uid);
     if ($ret) {
         $this->error = 'Данный WMID уже используется для верификации другим пользователем сайта.';
         return false;
     }
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/WMXI/WMXI.php';
     //Проверка аттестата у WMID
     $wmxi = new WMXI();
     $key = array('file' => WM_VERIFY_KEYFILE, 'pass' => WM_VERIFY_KEYPASS);
     $wmxi->Classic(WM_VERIFY_WMID, $key);
     $res = $wmxi->X11($wmid, 0, 1, 0);
     $res = $res->toObject();
     $retval = (int) $res['retval'];
     if ($retval > 0) {
         $this->error = 'Произошла ошибка при проверке аттестата. Попробуйте ещё раз.';
         return false;
     }
     $tid = (int) $res->certinfo->attestat->row['tid'];
     if ($tid < self::WM_ATTESTAT_LEVEL) {
         $this->error = 'Требуется аттестат не ниже начального. Получите <a class="b-layout__link underline" href="https://wiki.webmoney.ru/projects/webmoney/wiki/Аттестаты" target="_blank">начальный аттестат</a> или выберите другой способ верификации.';
         return false;
     }
     return $res;
 }