Донецкая группа новостей

вторник, 26 января 2021 г.

Webmoney Донецк ДНР's Post

Не получен XML-ответ в W11
https://forum.web.money/index.php?/topic/48812-%D0%BD%D0%B5-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD-xml-%D0%BE%D1%82%D0%B2%D0%B5%D1%82-%D0%B2-w11/

Здравствуйте
Такая вот проблема
Пытаюсь получить какой аттестат в WebMoney
Выдает: не получен XML-ответ
Код такой:

include_once('auto_pay_req/wmxml.inc.php');
$wmid="258863071482";

$r=_WMXML11($wmid);
echo "Код аттестата - ".$r['att']."";
echo "Флаг отзыва (1 - отозван) - ".$r['recalled']."";
echo "Результат (0 - успешно) - ".$r['retval']."";
echo "Расшифровка - ".$r['retdesc']."";

Обработчик:

if(!DEFINED("ROOT_DIR")) DEFINE("ROOT_DIR", $_SERVER["DOCUMENT_ROOT"]);

require(ROOT_DIR."/config.php"); // тут связь с базой
$global_wmid = "$site_wmid"; // тут вмид сайта

$global_kwm = is_file(ROOT_DIR."/auto_pay_req/keys/$global_wmid.kwm") ? file_get_contents(ROOT_DIR."/auto_pay_req/keys/$global_wmid.kwm") : false;
$Path_Certs = is_file(ROOT_DIR."/auto_pay_req/cert/WMunited.cer") ? ROOT_DIR."/auto_pay_req/cert/WMunited.cer" : false;

include_once(ROOT_DIR."/auto_pay_req/wmsigner.php");


// URL интерфейсов
$XML_addr[1]="https://w3s.webmoney.ru/asp/XMLInvoice.asp";
$XML_addr[2]="https://w3s.webmoney.ru/asp/XMLTrans.asp";
$XML_addr[3]="https://w3s.webmoney.ru/asp/XMLOperations.asp";
$XML_addr[4]="https://w3s.webmoney.ru/asp/XMLOutInvoices.asp";
$XML_addr[5]="https://w3s.webmoney.ru/asp/XMLFinishProtect.asp";
$XML_addr[6]="https://w3s.webmoney.ru/asp/XMLSendMsg.asp";
$XML_addr[7]="https://w3s.webmoney.ru/asp/XMLClassicAuth.asp";
$XML_addr[8]="https://w3s.webmoney.ru/asp/XMLFindWMPurseNew.asp";
$XML_addr[9]="https://w3s.webmoney.ru/asp/XMLPurses.asp";
$XML_addr[10]="https://w3s.webmoney.ru/asp/XMLInInvoices.asp";
$XML_addr[11]="https://passport.webmoney.ru/asp/XMLGetWMPassport.asp";
$XML_addr[13]="https://w3s.webmoney.ru/asp/XMLRejectProtect.asp";
$XML_addr[14]="https://w3s.webmoney.ru/asp/XMLTransMoneyback.asp";
$XML_addr[151]="https://w3s.webmoney.ru/asp/XMLTrustList.asp";
$XML_addr[152]="https://w3s.webmoney.ru/asp/XMLTrustList2.asp";
$XML_addr[153]="https://w3s.webmoney.ru/asp/XMLTrustSave2.asp";
$XML_addr[16]="https://w3s.webmoney.ru/asp/XMLCreatePurse.asp";
$XML_addr[171]="https://arbitrage.webmoney.ru/xml/X17_CreateContract.aspx";
$XML_addr[172]="https://arbitrage.webmoney.ru/xml/X17_GetContractInfo.aspx";
$XML_addr[18]="https://merchant.webmoney.ru/conf/xml/XMLTransGet.asp";
$XML_addr[19]="https://passport.webmoney.ru/XML/XMLCheckUser.aspx";

function _GetReqn(){
$time=microtime();
$int=substr($time,11);
$flo=substr($time,2,5);
return $int.$flo;
};



function _GetAnswer($address, $xml){
global $Path_Certs;
// Инициализируем сеанс 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);
// Проверяем корневой сертификат сервера WebMoney
curl_setopt($ch, CURLOPT_CAINFO, $Path_Certs);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
// Выполняем запрос, ответ помещаем в переменную $result;
$result=curl_exec($ch);
return $result;
}




// ИНТЕРФЕЙС X11. ПОЛУЧЕНИЕ ИНФОРМАЦИИ ИЗ АТТЕСТАТА.
// На выходе: массив ['att'=>код аттестата, 'recalled'=>флаг отзыва аттестата, 'retval'=>код выполнения, 'retdesc'=>описание результата, 'wmids'=>список прикрепленных к аттестату WMID]
function _WMXML11 ($wmid) {
global $XML_addr;
$xml="


$wmid


1
1
0

";
$resxml=_GetAnswer($XML_addr[11], $xml);
echo $resxml;
$xmlres = simplexml_load_string($resxml);
if(!$xmlres) {
$result['att']=0;
$result['retval']=1000;
$result['retdesc']="Не получен XML-ответ";
By: via Webmoney Донецк ДНР

Комментариев нет:

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