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


Фотография

Получение информации о балансе на кошельках


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

#1 Новичок Roma_17 (WMID 404612604670 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 03-мая 06
  • МестоположениеЭстония
  • Webmoney BL

Отправлено 03 мая 2006 - 03:08

Привет

Существует ли возможность получить информацию о балансе на своих кошельках через HTTPS-интерфейс ? Хочется написать скрипт на Perl который будет раз в час проверять баланс кошельков и при его изменении слать уведомление по почте.

http://www.webmoney....evelhttp1.shtml Сдесь описание подобной функции не нашёл.

    • 0
  • Наверх

#2 Продвинутый пользователь WM-Payments.ru (WMID 884971520629 )

  • Группа: Пользователи
  • сообщений 69
  • Регистрация: 14-ноября 05
  • МестоположениеРоссия, Новосибирск
  • Webmoney BL

Отправлено 03 мая 2006 - 12:45

Привет

Существует ли возможность получить информацию о балансе на своих кошельках через HTTPS-интерфейс ? Хочется написать скрипт на Perl который будет раз в час проверять баланс кошельков и при его изменении слать уведомление по почте.

http://www.webmoney....evelhttp1.shtml Сдесь описание подобной функции не нашёл.



На HTTPS нет. Что Вам мешает воспользоваться интерфейсом Х9

http://www.webmoney....evelxml19.shtml

А прикрутить интерфейс можно. Только вот в Perl я не смогу Вам помочь.

    • 0
  • Наверх

#3 Новичок Roma_17 (WMID 404612604670 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 03-мая 06
  • МестоположениеЭстония
  • Webmoney BL

Отправлено 03 мая 2006 - 15:12

Задача такова что, нужно быстро реагировать на изменения баланся денег на кошельке, сидеть круглые сутки самому перед компьютером не очень интересно, поэтому и родилась идея написания скрипта, который будет по расписанию проверять баланс, при его изменении делать уведомление мне по электронной почте. Я себе предстовлял это как скрипт на Perl (хотя это не принципиально) который запускается из CRONа.

Предложеный вами вариант, как мне показалось не очень подходит для моей задачи, может я не прав просветите пожалуйста.

    • 0
  • Наверх

#4 Продвинутый пользователь WM-Payments.ru (WMID 884971520629 )

  • Группа: Пользователи
  • сообщений 69
  • Регистрация: 14-ноября 05
  • МестоположениеРоссия, Новосибирск
  • Webmoney BL

Отправлено 03 мая 2006 - 16:50

Задача такова что, нужно быстро реагировать на изменения баланся денег на кошельке, сидеть круглые сутки самому перед компьютером не очень интересно, поэтому и родилась идея написания скрипта, который будет по расписанию проверять баланс, при его изменении делать уведомление мне по электронной почте. Я себе предстовлял это как скрипт на Perl (хотя это не принципиально) который запускается из CRONа.

Предложеный вами вариант, как мне показалось не очень подходит для моей задачи, может я не прав просветите пожалуйста.



Предложенный нами вариант используется в атоматическом обменнике для выборки баланса с  кошельков, которые по крону прописываются в базу каждые 10 минут. так же возможно уведомление в виде смс на телефон.

Файл выполнен в виде пхп-скрипта с использованием XML-интерфеса Х9, поскольку проверка баланса на кошельках возможна только при его использовании

 

    • 0
  • Наверх

#5 Новичок Roma_17 (WMID 404612604670 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 03-мая 06
  • МестоположениеЭстония
  • Webmoney BL

Отправлено 03 мая 2006 - 17:05

Меня сбил с толку пример с вашего сайта на Javascript, увидев его я как-то даже не подумал что XML вполне можно использовать в Перле. Спасибо вам за помощ.

Если вы ещё поделились бы со мной вашим скриптом на пхп, благодарность моя вам была бы безграничной.

    • 0
  • Наверх

#6 Продвинутый пользователь WM-Payments.ru (WMID 884971520629 )

  • Группа: Пользователи
  • сообщений 69
  • Регистрация: 14-ноября 05
  • МестоположениеРоссия, Новосибирск
  • Webmoney BL

Отправлено 03 мая 2006 - 17:15

Меня сбил с толку пример с вашего сайта на Javascript, увидев его я как-то даже не подумал что XML вполне можно использовать в Перле. Спасибо вам за помощ.

Если вы ещё поделились бы со мной вашим скриптом на пхп, благодарность моя вам была бы безграничной.



 

Пожалуйста:

include "wm.inc";

$wmconst__shop_wmid = "111111111111"; // WMID
$usd = "Z111111111111"; // WMZ
$rur = "R111111111111"; // WMR


 // Формируем уникальный номер запроса
 $RequestN = _DateID();
 // WM идентификатор магазина.
 global $wmconst__shop_wmid;
 // Формирование строки для подписи
 $PlanStr = "$wmconst__shop_wmid$RequestN";
 // Формирование подписи
 $SignStr = _GetSign($PlanStr);
 // XML-запрос к системе WMT
 $W3sUrl = "
  <w3s.request>
   <reqn>$RequestN</reqn>
   <wmid>$wmconst__shop_wmid</wmid>
   <sign>$SignStr</sign>
   <getpurses>
    <wmid>$wmconst__shop_wmid</wmid>
   </getpurses>
  </w3s.request>
 ";
 // Вызов сервисной функции модуля wm. Получение результатов XML-запроса к системе WMT
 $XMLRes = _XMLReq($W3sUrl);
 //Обработка результата
 // определяем количество кошельков
 $countpurses = eregi_replace("([^\[]*)<purses cnt=\"","",$XMLRes);
 $countpurses = eregi_replace("\" wmid=([^\[]*)","",$countpurses);
 // веделяем облась данных о кошельке из результата запроса
 $datas = eregi_replace("([^\[]*)<purses[^>]+>","",$XMLRes);
 $datas = eregi_replace("</purses>([^\[]*)","",$datas);
 // определяем номера кошельков
 preg_match_all ("|<purse [^>]+><[^>]+>(.*)</[^>]+>|U", $datas, $purses, PREG_PATTERN_ORDER);
 $purses = $purses[1];
 // определяем суммы кошельков
 preg_match_all ("|<am[^>]+>(.*)</[^>]+>|U", $datas, $money, PREG_PATTERN_ORDER);
 $money = $money[1];

 //Раскладываем деньги по кошелькам
 $i = 0;
 while ($i < $countpurses)
 {
  // Вычисляем сумму, которую нужно положить в кошелек обменнго пункта
  $money[$i] = round($money[$i],2);
  // распределяем суммы кошельков по соответствующим переменным
  if ($purses[$i] == $rur)
  {
   $WMR = $money[$i];
  }
  if ($purses[$i] == $usd)
  {
   $WMZ = $money[$i];
  }
  $i++;
 }


    • 0
  • Наверх

#7 Новичок Roma_17 (WMID 404612604670 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 03-мая 06
  • МестоположениеЭстония
  • Webmoney BL

Отправлено 03 мая 2006 - 18:52

Наверное покажусь вам наглым, но всётаки осмелюсь попросить вас, показать листинг функции _XMLReq().
    • 0
  • Наверх

#8 Продвинутый пользователь WM-Payments.ru (WMID 884971520629 )

  • Группа: Пользователи
  • сообщений 69
  • Регистрация: 14-ноября 05
  • МестоположениеРоссия, Новосибирск
  • Webmoney BL

Отправлено 03 мая 2006 - 19:07

Наверное покажусь вам наглым, но всётаки осмелюсь попросить вас, показать листинг функции _XMLReq().



 

В файле wm.inc

 /******************************************************************
 * _XMLReq - реализация XML-запроса к сертификационному центру WM  *
 *           Для внутреннего пользования функциями данного модуля  *
 *                                                                 *
 * Параметры : $addr  - формат запроса                             *
 *                                                                 *
 * Возвращает : Результат вызова XML-запроса (в формате XML)       *
 *                                                                 *
 ******************************************************************/
 function _XMLReq($addr)
 {
  $ch = curl_init("https://w3s.webmoney...p/XMLPurses.asp");
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $addr);
  
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
if (curl_error($ch)) echo '<p>'.curl_error($ch).'</p>'
curl_close($ch);

  return $result;
 }


    • 0
  • Наверх