5 комментариев

error4eg
<?php
function _GetAnswer($address, $xml){

// Инициализируем сеанс CURL
$ch = curl_init($address);
// В выводе CURL http-заголовки не нужны
curl_setopt($ch, CURLOPT_HEADER, 0);
// Возвращать результат, а не выводить его в браузер
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// Метод http-запроса — POST
curl_setopt($ch, CURLOPT_POST,1);
// Что передаем?
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
//curl_setopt($ch, CURLOPT_CAINFO, $Path_cert);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
// Выполняем запрос, ответ помещаем в переменную $result;
$result=curl_exec($ch);
return $result;
}

/*
Функция получения уровня BL
На входе WMID
На выходе: массив ['retval'=>код выполнения (0 — успешно), 'level'=>уровень BL]
*/
function _BL ($wmidd) {
global $WMID, $XML_addr;

$xml="
<WMIDLevel.request>000000000000$wmidd</WMIDLevel.request>";
$resxml=_GetAnswer(«stats.wmtransfer.com/levels/XMLWMIDLevel.aspx», $xml);
//echo $resxml;
//echo $xml;

$xmlres = simplexml_load_string($resxml);
if(!$xmlres) {
$result['retval']=1000;
$result['retdesc']=«Не получен XML-ответ»;
return $result;
}
$result['level']=strval($xmlres->level);
$result['retval']=strval($xmlres->retval);
/*
$result['retdesc']=iconv(«UTF-8», «CP1251», strval($xmlres->retdesc));
$result['date']=strval($xmlres->invoice->datecrt);
$result['wminvid']=strval($xmlres->invoice->attributes()->id);
*/
return $result;

}

/*
Функция получения уровня TL
На входе WMID
На выходе: массив ['retval'=>код выполнения (0 — успешно), 'TL'=>уровень TL]
*/
function _TL ($wmidd) {
global $WMID, $XML_addr;

$xml="
000000000000$wmidd";
$resxml=_GetAnswer(«debt.wmtransfer.com/xmlTrustLevelsGet.aspx», $xml);
// echo $resxml;
//echo $xml;

$xmlres = simplexml_load_string($resxml);
if(!$xmlres) {
$result['retval']=1000;
$result['retdesc']=«Не получен XML-ответ»;
return $result;
}

$result['retval']=strval($xmlres->retval);
$result['TL'] =$xmlres->tl->attributes()->val;
/*
$result['retdesc']=iconv(«UTF-8», «CP1251», strval($xmlres->retdesc));
$result['date']=strval($xmlres->invoice->datecrt);
$result['wminvid']=strval($xmlres->invoice->attributes()->id);
*/
return $result;

}
/*
Функция получения отзывов
На входе WMID
На выходе: массив [ 'wmid'=>запрашиваемый WMID, 'pos_count'=>количество позитивных отзывов,
'neg_count'=>количество негативных отзывов, 'lastdata'=>дата последнего отзыва,
'atststate'=>тип аттестата, 'locked'=>блокировка аттестата (0 не заблокирован) ]
*/
function _ARB ($wmidd) {
global $WMID, $XML_addr;

$xml="
$wmidd";
$resxml=_GetAnswer(«arbitrage.webmoney.ru/asp/XMLGetWMIDClaims.asp», $xml);
//echo $resxml;
// echo $xml;

$xmlres = simplexml_load_string($resxml);

if(!$xmlres) {
$result['retval']=1000;
$result['retdesc']=«Не получен XML-ответ»;
return $result;
}

$result['wmid'] =$xmlres->certinfo->attributes()->wmid;
$result['pos_count'] =$xmlres->certinfo->posclaimscount;
$result['neg_count'] =$xmlres->certinfo->negclaimscount;
$result['lastdate'] =$xmlres->certinfo->claimslastdate;
$result['atststate'] =$xmlres->certinfo->atststate;
$result['locked'] =$xmlres->certinfo->locked;
/*
$result['retdesc']=iconv(«UTF-8», «CP1251», strval($xmlres->retdesc));
$result['date']=strval($xmlres->invoice->datecrt);
$result['wminvid']=strval($xmlres->invoice->attributes()->id);
*/
return $result;

}

/*
Функция получения отзывов
На входе WMID
На выходе: массив ['retval'=>код выполнения (0 — успешно), 'wmid'=>запрашиваемый WMID, 'pos_count'=>количество позитивных отзывов,
'neg_count'=>количество негативных отзывов, 'lastdata'=>дата последнего отзыва,
'atststate_kod'=>код типа аттестата, 'atststate_words'=>текстовое название типа аттестата,
'wmid_l'=>BL уровень, 'wmid_reg'=>дата регистрации аттестата ]
*/

function _WMID_info ($wmidd) {
global $WMID, $XML_addr;

$xml="
$wmidd";
$resxml=_GetAnswer(«passport.webmoney.ru/xml/XMLGetWMIDInfo.aspx», $xml);
//echo $resxml;
// echo $xml;

$xmlres = simplexml_load_string($resxml);
if(!$xmlres) {
$result['retval']=1000;
$result['retdesc']=«Не получен XML-ответ»;
return $result;
}

$result['retval']=strval($xmlres->attributes()->retval);

$result['pos_count'] =$xmlres->certinfo->claims->row->attributes()->posclaimscount;
$result['neg_count'] =$xmlres->certinfo->claims->row->attributes()->negclaimscount;
$result['lastdate'] =$xmlres->certinfo->claims->row->attributes()->claimslastdate;
$result['atststate_kod'] =$xmlres->certinfo->attestat->row->attributes()->tid;
$result['atststate_words'] =$xmlres->certinfo->attestat->row->attributes()->typename;
$result['wmid'] =$xmlres->certinfo->wmids->row->attributes()->wmid;
$result['wmid_l'] =$xmlres->certinfo->wmids->row->attributes()->level;
$result['wmid_reg'] =$xmlres->certinfo->wmids->row->attributes()->datereg;
/*
$result['retdesc']=iconv(«UTF-8», «CP1251», strval($xmlres->retdesc));
$result['date']=strval($xmlres->invoice->datecrt);
$result['wminvid']=strval($xmlres->invoice->attributes()->id);
*/
return $result;

}

?>
alfa
:) там несколько сложнее схема и кстати, там помимо BL давно уже собирается и более интересная информация

Оставить комментарий