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


Фотография

Проблемы с настройкой


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

#1 Новичок 187638261689 (WMID 187638261689 )

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

Отправлено 30 октября 2015 - 14:01

Добрый день. Настраиваю ВмМерчант на сайте. Для теста собрал вот такой отрезок кода

 

$str=$_POST['LMI_PAYEE_PURSE'] .
        $_POST['LMI_PAYMENT_AMOUNT'] .
        $_POST['LMI_PAYMENT_NO'] .
        $_POST['LMI_MODE'] .
        $_POST['LMI_SYS_INVS_NO'] .
        $_POST['LMI_SYS_TRANS_NO'] .
        $_POST['LMI_SYS_TRANS_DATE'] .
        $_POST['LMI_SECRET_KEY'] .
        $_POST['LMI_PAYER_PURSE'].
        $_POST['LMI_PAYER_WM'];
    
     if(hash('sha256',$str)!=$_POST['LMI_HASH']) {
       return mail(mailforpays, 'Проверка не пройдена', 'Проверка не сработала '.$str);
     }
     if(hash('sha256',$str)==$_POST['LMI_HASH']) {
      return  mail(mailforpays, 'Проверка  пройдена, 'Проверка  сработала');
     }

Прохожу тестовый платеж, на почту падает два письма, один от сервиса ВМ, второе отосланное мною

1:

LMI_MODE=1
LMI_PAYMENT_AMOUNT=1.00
LMI_PAYEE_PURSE=R304739790247
LMI_PAYMENT_NO=1
LMI_PAYER_WM=187638261689
LMI_PAYER_PURSE=R304739790247
LMI_PAYER_COUNTRYID=RU
LMI_PAYER_PCOUNTRYID=RU
LMI_PAYER_IP=85.233.91.100
LMI_SYS_INVS_NO=212
LMI_SYS_TRANS_NO=550
LMI_SYS_TRANS_DATE=20151030 13:45:10
LMI_HASH=D22EE83C70BC9831CFC2E723A08DADE3E9A5F670E09A285AB22097693712C595
LMI_PAYMENT_DESC=%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9+%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6
LMI_LANG=ru-RU
LMI_DBLCHK=SMS

2:

Проверка не сработала 121255020151030 13:45:10

Что я делаю не так? Очевидно, что не приходит часть параметров, но почему?


Сообщение отредактировал 187638261689: 30 октября 2015 - 14:02

    • 0
  • Наверх

#2 Новичок 187638261689 (WMID 187638261689 )

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

Отправлено 30 октября 2015 - 15:03

Проблему решил, то что описано в предыдущем сообщении связано с моей невнимательностью. Не правильно понял роли резулт и саксес УРЛ.

 

Однако потом, когда сделал все правильно все равно ничего не работало. Всё проклял. Поковырял. Оказалось вот что:

 D02F613D8BDC7725B0B60E09ADA0A6654FF20FC72F5FD2A8C0BCAB458F4E924F d02f613d8bdc7725b0b60e09ada0a6654ff20fc72f5fd2a8c0bcab458f4e924f

 

Оказывается ВМ присылает в поле ХЭШ всю строку заглавными, а функция hash() в php возвращает строчными и сравнение не срабатывало.

Спасибо за внимание к моему монологу


    • 0
  • Наверх

#3 Знаток ^-^ (WMID 273407224562 )

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

Отправлено 01 ноября 2015 - 18:21

И поэтому преобразуем строку в верхний регистр функцией "strtoupper". :)


Бесплатный SSL на 3 мес. / Сертификат SSL от 299 руб.
    • 0
  • Наверх