Перейти к содержимому


Фотография

XML проверка авторизации


  • Пожалуйста, авторизуйтесь для ответа.
3 ответов в данной теме

#1 Новичок InterPol (WMID 704341724348 )

  • Группа: Пользователи
  • сообщений 2
  • Регистрация: 22-августа 14
  • Webmoney BL

Отправлено 22 августа 2014 - 17:13

Авторизация проходит, тикет на сайте вижу, получаю ответ, перепроверяю:
 
$param = $_POST;
$myWmid = 'XXXXXXXXXXX';
$urlId = strtolower('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');

$testTicket = preg_match('/^[a-zA-Z0-9\$\!\/]{32,48}$/i', $param['WmLogin_Ticket']);
if($param['WmLogin_UrlID'] == $urlId && $testTicket == 1)
{
    $xml = "
    <request>
        <siteHolder>\"$myWmid\"</siteHolder>
        <user>\"$param[WmLogin_WMID]\"</user>
        <ticket>\"$param[WmLogin_Ticket]\"</ticket>
        <urlId>\"$param[WmLogin_UrlID]\"</urlId>
        <authType>\"$param[WmLogin_AuthType]\"</authType>
        <userAddress>\"$param[WmLogin_UserAddress]\"</userAddress>
    </request>
    ";
    
    $CertPath = $_SERVER['DOCUMENT_ROOT'].'/codebase/modules/module.account.bundle/WMunited.cer';
    $ch = curl_init("https://login.wmtransfer.com/ws/authorize.xiface");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
    curl_setopt($ch, CURLOPT_CAINFO, $CertPath);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
    $result=curl_exec($ch);
    curl_close($ch);
}
Всегда возвращается только:
 
<?xml version="1.0" encoding="utf-8"?>
<response retval="1" sval="InvalidArgument" lastAccess="1/1/0001 12:00:00 AM" expires="1/1/0001 12:00:00 AM" />
Может кто подскажет?
    • 0
  • Наверх

#2 Обычный пользователь, не сотрудник AndrewTishkin (WMID 282697973392 )

  • Группа: Модераторы
  • сообщений 16 602
  • Регистрация: 17-ноября 08
  • МестоположениеРоссия/Глазов
  • Webmoney BL

Отправлено 23 августа 2014 - 00:31

\"$myWmid\"
\"$param[WmLogin_WMID]\"
\"$param[WmLogin_Ticket]\"
\"$param[WmLogin_UrlID]\"
\"$param[WmLogin_AuthType]\"
\"$param[WmLogin_UserAddress]\"

А на кой чёрт Вы обрамляете значения параметров кавычками? :)
1zpt4647mzk.png.png Реферально-партнёрские ссылки и откровенная (само)реклама на форуме допускаются только в личной подписи :excl:
    • 1
  • Наверх

#3 Новичок InterPol (WMID 704341724348 )

  • Группа: Пользователи
  • сообщений 2
  • Регистрация: 22-августа 14
  • Webmoney BL

Отправлено 25 августа 2014 - 09:37

Наверное потому что дурак!
Ближе к концу рабочего дня смотриш в описание, видиш "string" и автоматом в кавычки.
Большое спасибо!
    • 0
  • Наверх

#4 Новичок denikos (WMID 347051173956 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 08-февраля 15
  • Webmoney BL

Отправлено 08 февраля 2015 - 13:20

Приветствую! Та же самая проблема!

Делаю как в инструкции:

$xml="
        <request>
         <siteHolder>$mywmid</siteHolder>
         <user>".$_POST['WmLogin_WMID']."</user>
         <ticket>".$_POST['WmLogin_Ticket']."</ticket>
         <urlId>".$urlid."</urlId>
         <authType>".$_POST['WmLogin_AuthType']."</authType>
         <userAddress>".$_POST['WmLogin_UserAddress']."</userAddress>
        </request>
        ";

 

Затык происходит видимо на:   <authType>".$_POST['WmLogin_AuthType']."</authType>

потому, что при запросе:

print "WmLogin_WMID:&nbsp;".$_POST['WmLogin_WMID']."<br>";
print "WmLogin_Ticket:&nbsp;".$_POST['WmLogin_Ticket']."<br>";
print "WmLogin_AuthType:&nbsp;".$_POST['WmLogin_AuthType']."<br>";
print "WmLogin_UserAddress:&nbsp;".$_POST['WmLogin_UserAddress']."<br>";
 
Получаем все, кроме AuthType:
WmLogin_WMID: 34........56
WmLogin_Ticket: ckD............(скрыл на всякий случай)...........sk6Qob8
WmLogin_AuthType: 
WmLogin_UserAddress: 178.90.106.76

    • 0
  • Наверх