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; }
<?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;
/** * Проверка 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; }