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


Фотография

Не приходят [LMI_SYS_INVS_NO], [LMI_SYS_TRANS_NO], [LMI_SYS_TRANS_DATE], [LMI_HASH]

LMI_HASH LMI_SYS_TRANS_DATE LMI_SYS_TRANS_NO

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

#1 Новичок CYBER (WMID 345815137904 )

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

Отправлено 14 июня 2012 - 16:01

Добрый день.
На ResultURL не приходят такие переменные как: [LMI_SYS_INVS_NO], [LMI_SYS_TRANS_NO], [LMI_SYS_TRANS_DATE], [LMI_HASH](если пытаться их проверить).
Если в ResultURL написать


<?php
file_put_contents('log.txt', print_r($_POST, true));
echo "Yes";
?>

То в файле log.txt видно что все переменные на месте(включая [LMI_SYS_INVS_NO], [LMI_SYS_TRANS_NO]...).

Но если в ResultURL попытаться проверить эти данные (Склеить переменные, закодировать в md5, перевести в верхний регист и сравнить с LMI_HASH) эти переменные не приходят.

Вот как я проверяю контрольную подпись:

<?php
file_put_contents('log.txt', print_r($_POST, true));
$i = "Secret Key";

$all = $_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'].$i.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM'];

$mdhash = md5($all);
$hash = strtoupper($mdhash);

if ($hash == $_POST['LMI_HASH']) {
echo "Yes";
} else {
echo "No";
}
?>

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

#2 Знаток 084471955240 (WMID 084471955240 )

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

Отправлено 15 июня 2012 - 12:52

На ResultURL не приходят такие переменные как: [LMI_SYS_INVS_NO], [LMI_SYS_TRANS_NO], [LMI_SYS_TRANS_DATE], [LMI_HASH](если пытаться их проверить).

От того, пытаетесь ли вы их проверить или нет разницы нет.

Проблем может быть несколько.
1) Предварительный запрос. Он отправляется перед осуществлением платежа, соответственно данных о платеже на этот момент нет.
2) в настройках кошелька "Метод формирования контрольной подписи оповещения о платеже" у вас точно стоит MD5?
    • 0
  • Наверх

#3 Новичок CYBER (WMID 345815137904 )

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

Отправлено 16 июня 2012 - 13:50

Все, я решил проблему.

Дописал в ResultURL проверку предварительного запроса.
После проверки предварительного идет проверка контрольной подписи.
Все работает нормально :) .
    • 0
  • Наверх





Еще теги с одним или более ключевыми словами: LMI_HASH, LMI_SYS_TRANS_DATE, LMI_SYS_TRANS_NO