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


Фотография

Не выводит сообщение ошибки платежа.


  • Тема закрыта
7 ответов в данной теме

#1 Новичок Sergejk (WMID 775647640007 )

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

Отправлено 20 июля 2016 - 18:20

Здравствуйте!

 

В сервисе зарегистрировался недавно. Нужно сделать прием оплаты на сайте.

Вот мой result url:

<?php

session_start();

if($_POST["LMI_PREREQUEST"] == 1) {

   $var = $_SESSION["var"];

   echo $_SESSION["var"];

}

else { 

/... 

}

при оплате никакого сообщения не выводит.

https://files.webmon.../files/5T4dYS3K

 

Помогите пожалуйста.

?>


    • 0
  • Наверх

#2 Знаток ! добрый торговец ! (WMID 217358758215 )

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

Отправлено 20 июля 2016 - 18:55

 $var = $_SESSION["var"];
   echo $_SESSION["var"];

Это, вообще, что и к чему? Что должно быть в $_SESSION["var"]?
    • 1
  • Наверх

#3 Новичок Sergejk (WMID 775647640007 )

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

Отправлено 20 июля 2016 - 19:07

Это не столь важно.

К примеру мне необходимо, чтобы пользователь оплатил с определенного кошелька.

В этой сессии содержится его кошелек(R.....).

При проверке данных я просто хочу сравнить $_POST["LMI_PAYER_PURSE"] и $_SESSION["var"]

Вот суть в общем.


    • 0
  • Наверх

#4 Знаток ! добрый торговец ! (WMID 217358758215 )

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

Отправлено 20 июля 2016 - 19:09

удалено

Сообщение отредактировал ! добрый торговец !: 20 июля 2016 - 19:37

    • 1
  • Наверх

#5 Новичок Sergejk (WMID 775647640007 )

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

Отправлено 20 июля 2016 - 19:12

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

if($_POST["LMI_PREREQUEST"] == 1) {

   if($_POST["LMI_PAYER_PURSE"] != $_SESSION["var"]) echo "Пожалуйста оплатите с кошелька".$_SESSION["var"];

}

Выводит просто:
Продавец не дал разрешение на выполнение этой операции : 
Пожалуйста оплатите с кошелька
Т.е Webmoney не выводит мою сессию
 


Сообщение отредактировал Sergejk: 20 июля 2016 - 19:15

    • 0
  • Наверх

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

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

Отправлено 20 июля 2016 - 19:40

Сделайте

echo session_id();

перед переходом на мерчант для себя и сохраните ID сессии. И в скрипте для мерчанта тоже сделайте

echo session_id();

Вы будете приятно удивлены  :) 

Сессия для Вас != Сессия для мерчанта или для любого другого компа. Сервер не может одну и ту же сессию выдать двум пользователям в один пересекающийся промежуток времени. Соответственно и переменные, которые в них хранятся. Ибо тогда эти сессию фундаментально подрывают безопасность хранящихся в них данных.


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

#7 Знаток ! добрый торговец ! (WMID 217358758215 )

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

Отправлено 20 июля 2016 - 19:44

Проблема в том, что если я хочу вывести, что он оплачивает с другого кошелька,
if($_POST["LMI_PREREQUEST"] == 1) {
   if($_POST["LMI_PAYER_PURSE"] != $_SESSION["var"]) echo "Пожалуйста оплатите с кошелька".$_SESSION["var"];
}
Выводит просто:
Продавец не дал разрешение на выполнение этой операции : 
Пожалуйста оплатите с кошелька
Т.е Webmoney не выводит мою сессию

Упс, что то я не то насоветовал.
if($_POST["LMI_PREREQUEST"] == 1) {
  if(trim($_POST['LMI_PAYMENT_AMOUNT'])!=сумме платежа || trim($_POST['LMI_PAYEE_PURSE'])!=кошельку, на который оплачивать){
    echo "Error";// отрицательный ответ для сервера мерчанта (при возникновении ошибки)
    die();//прервать выполнение скрипта
  }
  echo "YES";// положительный ответ для сервера мерчанта
}
Нужные параметры, в т.ч. и номер кошелька, заносите предварительно в базу данных, а в этом скрипте вынимайте из базы, тогда вы сможете его подставить. Но не через сессию.

Сообщение отредактировал ! добрый торговец !: 20 июля 2016 - 19:56

    • 1
  • Наверх

#8 Новичок Sergejk (WMID 775647640007 )

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

Отправлено 21 июля 2016 - 00:22

Спасибо ребята!

Ваши советы очень помогли. :)  :)  :)


    • 0
  • Наверх