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


Фотография

Ошибка перевода : Неверная подпись ?


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

#1 Пользователь LAW (WMID 765554682638 )

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

Отправлено 31 марта 2006 - 13:09

При использовании тестового примера на РНР получаю следующие ошибки:
Интерфейс 1. Выписывание счета от одного участника (магазина, ресурса) другому участнику (покупателю) системы:
PlanStr:
1765554682638Z16910902212910Тестовая покупкаadmin@wm.bryansk.ru1320060331100631
SignStr:
URL:
/asp/Invoice.asp?SL=765554682638&SP=Z169109022129&CL=765554682638&IN=1&D=%D2%E5%F1%F2%EE%E2%E0%FF+%EF%EE%EA%F3%EF%EA%E0&AD=admin%40wm.bryansk.ru&A=10&E=3&P=1&RN=20060331100631&SS=
Ошибка выписки счета : Неверная подпись
При использовании Интерфейс 3. Перевод средств с одного кошелька на другой.
Ошибка перевода : Неверная подпись
 
Кипер настроен, при запуске из консоли выдает подпись нормально.
С чем это может быть связано?

    • 0
  • Наверх

#2 Пользователь LAW (WMID 765554682638 )

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

Отправлено 01 апреля 2006 - 05:29

Раскомментарил в wm.inc блок "// For PHP < 4.3.0" (не смотря на то что версия РНР 4.3.10)
Стал "подписывать" но похоже что все равно не правильно подписывает...
PlanStr:
1765554682638Z1691090221291testproverka1320060401021627
SignStr:
01ddbeb5469c72967994273576f0a8c385f22a7ad542eaaffc43adfc91fc88e4f8170abf7e3523722d74582105bd07b78feb133bb1778f2d784ac5a60dbcea02005c
URL:
/asp/Invoice.asp?SL=765554682638&SP=Z169109022129&CL=765554682638&IN=1&D=test&AD=proverka&A=1&E=3&P=1&RN=20060401021627&SS=01ddbeb5469c72967994273576f0a8c385f22a7ad542eaaffc43adfc91fc88e4f8170abf7e3523722d74582105bd07b78feb133bb1778f2d784ac5a60dbcea02005c
Ошибка выписки счета : Неверная подпись

    • 0
  • Наверх

#3 Пользователь LAW (WMID 765554682638 )

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

Отправлено 02 апреля 2006 - 20:53

Ну вот нашлось 2 варианта вызова WMSignera на моем хостинге но опять же почему то не полностью работоспособных:


function _GetSign($inStr)
{
  $fp = popen("./WMSigner", "r+");

  $PlanStr = "$inStr\004\r\n";
  fwrite($fp,$PlanStr);
  $s = fgets($fp, 133);
  pclose($fp);

  return $s;
}

function _GetSign($inStr)
{
$tmp=tempnam("/pub/home/cards","wm");
$fp = popen("./WMSigner >".$tmp, "w");
$PlanStr = "$inStr\004\r\n";
fwrite($fp,$PlanStr);
pclose($fp);
$fp=fopen($tmp,"r");
$s = fgets($fp, 133);
fclose($fp);
unlink($tmp);
return $s;
};

При этом способе вызова WMSigner нормально заработали:
Интерфейс 1. Выписывание счета от одного участника (магазина, ресурса) другому участнику (покупателю) системы
Интерфейс 2. Проверка состояния выписанного ранее счета (оплачен счет или нет).
Интерфейс 5. Проверка выполнения операции по переводу средств между кошельками.
Интерфейс 7. Идентификация и аутентификация клиента - владельца WebMoney Keeper Classic на стороннем сайте, проекте, ресурсе.
Интерфейс 8. Получение информации о принадлежности кошелька wm-идентификатору.

А при попытке использованиия:
Интерфейс 3. Перевод средств с одного кошелька на другой.
Интерфейс 4. Перевод средств с одного кошелька на другой с протекцией сделки.


ОПЯТЬ получаю "Ошибка перевода : Неверная подпись"

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

    • 0
  • Наверх

#4 Пользователь Serega (WMID 390006597073 )

  • Группа: Пользователи
  • сообщений 5
  • Регистрация: 17-апреля 06
  • МестоположениеУкраина
  • Webmoney BL

Отправлено 17 апреля 2006 - 01:21

Примерна та же проблема, только использую 1 интерфейс - перевода средств.

Дело обстоит немного лутше - т.е. для некоторых переводов подпись верна, а для не которых нет.

Даже не знаю что предпринять уже. Написал в суппорт, жду ответа.

Люди, кто сталкивался с такими проблемами, не молчите, поделитесь опытом.

    • 0
  • Наверх

#5 Пользователь Serega (WMID 390006597073 )

  • Группа: Пользователи
  • сообщений 5
  • Регистрация: 17-апреля 06
  • МестоположениеУкраина
  • Webmoney BL

Отправлено 24 апреля 2006 - 16:47

Со своей проблеммой разобрался.

Причина была в лишних незначущих нулях значения amount, то есть, к примеру, заместь 10 я передавал 10.00. От этого можно легко подстраховаться использовав, в данном случае, функцию floatval (на PHP).

LAW, не знаю в чём дело у тебя, возможно тоже из-за этого. Могу только сказать, что использовал 1й вариант вызова WMSinger, из вышеприведённых.

    • 0
  • Наверх