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


Фотография

Переменная LMI_HASH не приходит

LMI_HASH

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

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

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

Отправлено 20 сентября 2011 - 00:16

Здравствуйте, возможно кто сталкивался с таким.

Переменная LMI_HASH не приходит на страничку успешной оплаты, галочка отправки LMI_HASH стоит.
    • 0
  • Наверх

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

  • Группа: Модераторы
  • сообщений 121
  • Регистрация: 29-ноября 05
  • Webmoney BL

Отправлено 20 сентября 2011 - 08:17

LMI_HASH не приходит на страничку успешной оплаты


она и не должна туда приходить
внимательно изучите документацию по работе мерчанта
вот ссылка для изучения

LMI_HASH приходит только на Result URL
и только во втором запросе (если в настройках указали платеж с предзапросом)
    • 0
  • Наверх

#3 Новичок 318175217948 (WMID 318175217948 )

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

Отправлено 20 сентября 2011 - 10:10


она и не должна туда приходить
внимательно изучите документацию по работе мерчанта
вот ссылка для изучения

LMI_HASH приходит только на Result URL
и только во втором запросе (если в настройках указали платеж с предзапросом)


Насколько я понял вы говорите что $_POST['LMI_HASH'] появляется в файле к которому обращается Merchant в предварительном запросе

Тогда почему не срабатывает условие
if($_POST['LMI_HASH']){
  echo 'Есть!';
}

Если бы переменная $_POST['LMI_HASH'] была не пустая, то оно сработало б.
    • 0
  • Наверх

#4 Знаток 236056308153 (WMID 236056308153 )

  • Группа: Модераторы
  • сообщений 121
  • Регистрация: 29-ноября 05
  • Webmoney BL

Отправлено 20 сентября 2011 - 10:25

>> вы говорите что $_POST['LMI_HASH'] появляется в файле к которому обращается Merchant в предварительном запросе

я такого не говорил

еще раз повторю
LMI_HASH приходит только на Result URL
только во втором обращении к Result URL, т.е. когда уже идет информация о платеже
в предварительном запросе этой переменной нет

не надо выставлять куски кода на показ... без полной информации о настройках мерчанта они ничего не говорят ни мне ни посетителям форума
    • 0
  • Наверх

#5 Новичок 318175217948 (WMID 318175217948 )

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

Отправлено 20 сентября 2011 - 17:42

Понял, спасибо за полезный ответ и терпение :)
    • 0
  • Наверх

#6 Пользователь SELIVANDEX (WMID 125787732303 )

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

Отправлено 18 января 2012 - 21:20

История та же, на только мне именно во втором запросе не приходит LMI_HASH на Result URL. Просматривал error_log там и обнаружил...
Вот в первом и втором запросе такие логи:
[Wed Jan 18 22:13:25 2012] [error] [client 91.227.52.46] PHP Notice: Undefined index: LMI_HASH in
[Wed Jan 18 22:14:06 2012] [error] [client 91.227.52.46] PHP Notice: Undefined index: LMI_HASH in
    • 0
  • Наверх

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

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

Отправлено 18 января 2012 - 22:10

SELIVANDEX, нет такого понятия второй запрос. Есть понятие предварительный запрос, если включено в настройках "Передавать параметры в предварительном запросе" и на него возвращен ответ, отличный от YES, то платеж не пройдет и соответственно оповещения о платеже не будет.
    • 0
  • Наверх

#8 Пользователь SELIVANDEX (WMID 125787732303 )

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

Отправлено 18 января 2012 - 22:44

В предварительном запросе, я отдаю YES... Но в логах смотрю, не приходит LMI_HASH, в чем дело так и не пойму
    • 0
  • Наверх

#9 Пользователь SELIVANDEX (WMID 125787732303 )

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

Отправлено 18 января 2012 - 22:51

И не просто, дело в том что в логах не приходит LMI_HASH дело в том, что платеж проходит успешно, с кошелька снимаются деньги, на на сайте на баланс не зачисляются.... Вот кусок кода, в предварительном запросе статус платежа меняется на 1, да, это происходит, а далее уже где идет сравнение my_hash и LMI_HASH услови не выполняется, поэтому смотрю логи и вижу что LMI_HASH не приходит, как я уже привел пример куска из логов выше...
  if(($LMI_PREREQUEST == 1 || $LMI_PREREQUEST) && $sum == $LMI_PAYMENT_AMOUNT && $LMI_PAYEE_PURSE == $config['wmr']) {
   $query = $db->query("UPDATE enter SET status = 1 WHERE id = ".intval($LMI_PAYMENT_NO)." LIMIT 1");
	 print "YES";
  } elseif($my_hash == strtolower($LMI_HASH)) {
    if(!$LMI_MODE) {
	 $result = $db->query("SELECT * FROM enter WHERE id = ".intval($_POST['LMI_PAYMENT_NO'])." LIMIT 1");
	 $rows = $db->num_rows($result);
	 if($rows == 1) {
	  $row = $db->get_row($result);
	  $db->query('UPDATE users SET balance = balance + '.$row['sum'].' WHERE id = "'.$row['user_id'].'" LIMIT 1');
	  $db->query("UPDATE enter SET status = 2, wmr = '".$db->safesql($LMI_PAYER_PURSE)."' WHERE id = ".intval($LMI_PAYMENT_NO)." LIMIT 1");
	 } else {
	   er('Can\'t do that!', 10);
	 }
    }
							   print "YES";
  }

    • 0
  • Наверх

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

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

Отправлено 19 января 2012 - 14:03

$LMI_HASH

а register_globals в конфиге php включен, чтобы так писать? может еще где ошибка?
    • 0
  • Наверх

#11 Пользователь SELIVANDEX (WMID 125787732303 )

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

Отправлено 19 января 2012 - 14:38

Перед этим всем описано:
function er($string, $step) {
    error_log($string . ", step: $step, payment_no: ". @$_POST['LMI_PAYMENT_NO']);
    die();
}
$LMI_PREREQUEST  = @$_POST['LMI_PREREQUEST'];  // предварительный запрос
$LMI_PAYEE_PURSE	 = @$_POST['LMI_PAYEE_PURSE'];   // Кошелек продавца
$LMI_PAYMENT_AMOUNT = @$_POST['LMI_PAYMENT_AMOUNT'];  // Сумма платежа ();
$LMI_PAYMENT_NO  = @$_POST['LMI_PAYMENT_NO'];  // Внутренний номер покупки продавца ();
$LMI_MODE   = @$_POST['LMI_MODE'];   // Флаг тестового режима (LMI_MODE);
$LMI_SYS_INVS_NO    = @$_POST['LMI_SYS_INVS_NO'];  // Внутренний номер счета в системе WebMoney Transfer;
$LMI_SYS_TRANS_NO		 = @$_POST['LMI_SYS_TRANS_NO']; // Внутренний номер платежа в системе WebMoney Transfer
$LMI_SYS_TRANS_DATE = @$_POST['LMI_SYS_TRANS_DATE'];   // Дата и время выполнения платежа ();
$LMI_PAYER_PURSE    = @$_POST['LMI_PAYER_PURSE'];   // Кошелек покупателя ();
$LMI_PAYER_WM  = @$_POST['LMI_PAYER_WM'];  // WMId покупателя ().
$LMI_HASH   = $_POST['LMI_HASH'];   // Контрольная подпись

    • 0
  • Наверх

#12 Пользователь SELIVANDEX (WMID 125787732303 )

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

Отправлено 19 января 2012 - 15:13

Пожалуйста, помогите мне... Я уже второй день не могу настроить...
    • 0
  • Наверх

#13 Пользователь SELIVANDEX (WMID 125787732303 )

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

Отправлено 19 января 2012 - 19:06

разобрался... Дело было в том что подпись что я сформировывал на своей стороне не совпадала с той которая приходила на скрипт. Вот вопрос в том почему в логах писалось что не приходила она - ....
    • 0
  • Наверх

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

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

Отправлено 20 января 2012 - 21:02

Вот вопрос в том почему в логах писалось что не приходила она - ....

В логах ошибка обработки предварительно запроса, разве она там должна приходить?
    • 0
  • Наверх