MMGP logo
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 649,549 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение - зарегистрируйтесь прямо сейчас.
Liberty Reserve Форум. Все о платежной системе Liberty Reserve
Первый пост Опции темы
Старый 10.08.2010, 14:50
#1
Заблокированный
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 20.03.2010
Сообщений: 199
Благодарностей: 33
Прием платежей LR с получением автоматического ответа

Здравствуйте! У кого-нибудь есть модуль приема платежей через SCI, причем чтобы после успешного платежа получать ответ от сервера Liberty Reserve, именно на php? Тот, что на официальном сайте - неполная версия. То есть там платеж можно только принять, но сделать так, чтобы получить переменную о сумме платежа после его совершения обратно в скрипт - нет. Непонятно куда сервер возвращает данные, в status.php или success.php, и какие это данные. Также неизвестно, какой метод где использовать, GET или POST. В официальной версии SCI там результаты в виде текста передаются на email, а надо - в виде переменной, причем в php форму. Кто с этим сталкивался, или у кого есть готовое решение, выложите плиз...
Navrus вне форума
Старый 10.08.2010, 15:04
#2
Топ Мастер
 
Пол: Мужской
Регистрация: 24.09.2007
Сообщений: 9,250
Благодарностей: 1,334

награды Волшебный горшочек Ветеран MMGP.RU 
Re: Прием платежей LR с получением автоматического ответа

Цитата:
Сообщение от Navrus Посмотреть сообщение
Здравствуйте! У кого-нибудь есть модуль приема платежей через SCI, причем чтобы после успешного платежа получать ответ от сервера Liberty Reserve, именно на php? Тот, что на официальном сайте - неполная версия. То есть там платеж можно только принять, но сделать так, чтобы получить переменную о сумме платежа после его совершения обратно в скрипт - нет. Непонятно куда сервер возвращает данные, в status.php или success.php, и какие это данные. Также неизвестно, какой метод где использовать, GET или POST. В официальной версии SCI там результаты в виде текста передаются на email, а надо - в виде переменной, причем в php форму. Кто с этим сталкивался, или у кого есть готовое решение, выложите плиз...
Да вполне там нормальная версия вроде...
Смотреть Вам нужно на status.php - вся дальнейшая обработка должна происходить в нём...
Если Вы внимательно посмотрите на него, то в самом верху (там где формируется строка для проверки) увидите переменные, из которых эта строка собственно и формируется.
В них Вы увидите и нужное Вам поле
PHP код:
_REQUEST["lr_amnt"
- это и есть сумма платежа.
Вам нужно то всего вместо отправки письма сделать свою обработку - т.е. те действия, которые Вы хотите сделать после удачного завершения платежа...

Если всё-же будут трудности - пишите - дам небольшой пример...
Senator2 вне форума
Старый 10.08.2010, 15:28
#3
Заблокированный
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 20.03.2010
Сообщений: 199
Благодарностей: 33
Автор темы Re: Прием платежей LR с получением автоматического ответа

Хотел бы я, чтобы все было бы так просто. В status.php надо получить переменную lr_amnt, а потом он проверяет какой-то там код sha256 (это типа подписи Md5). И он видно не совпадает, и непонтно с чем сравнивать, хотелось бы попроще, обойтись без него. Потом там есть подпапка include, я ее установил, прописал, все равно не пашет. Хотелось бы пример конечно, что писать в status.php, и как потом из lr_amnt получить сумму и загнать ее в переменную, потому что дальше там уже идет запись в MySql. А до самой записи дело не доходит, вот в чем сложность... И непонятно, цифра приходит или нет...
Navrus вне форума
Старый 10.08.2010, 16:02
#4
Топ Мастер
 
Пол: Мужской
Регистрация: 24.09.2007
Сообщений: 9,250
Благодарностей: 1,334

награды Волшебный горшочек Ветеран MMGP.RU 
Re: Прием платежей LR с получением автоматического ответа

Цитата:
Сообщение от Navrus Посмотреть сообщение
Хотел бы я, чтобы все было бы так просто. В status.php надо получить переменную lr_amnt, а потом он проверяет какой-то там код sha256 (это типа подписи Md5). И он видно не совпадает, и непонтно с чем сравнивать, хотелось бы попроще, обойтись без него. Потом там есть подпапка include, я ее установил, прописал, все равно не пашет. Хотелось бы пример конечно, что писать в status.php, и как потом из lr_amnt получить сумму и загнать ее в переменную, потому что дальше там уже идет запись в MySql. А до самой записи дело не доходит, вот в чем сложность... И непонятно, цифра приходит или нет...
Я немного Вас не понимаю...
1. Проверка та что там делается - она нужна... Без неё делать нельзя - а то будет всё срабатывать и без оплаты...
Эта проверка как раз и проверяет - правильно ли прошел платеж, или пользователь это дело отменил...
Так что - не дурите... Проверку нужно оставлять...
2. Теперь насчет переменной...
Я же Вам написал переменную, в которой хранится сумма платежа
PHP код:
_REQUEST["lr_amnt"
её и нужно использовать для получения суммы... Не просто lr_amnt, а именно так как я написал (только после знака $ нужно убрать пробел)...

И еще - а как Вы проверяете ?
Если просто запустите в браузере status.php - то конечно же у Вас ничего не получится...
Для проверки - нужно именно проводить оплату через SCI интерфейс Liberty. Иначе - никак...

Пример файла status.php (в приведенном скрипте нужно убрать пробел после знаков $)
PHP код:
<?
$ conf_merchantAccountNumber = 'Ваш счет Liberty';
$ conf_merchantStoreName = 'Название MerchantStore';
$ conf_merchantSecurityWord = 'Пароль для этого MerchantStore';
// Сформируем строку, которую будем хешировать для проверки
$ str =
  $ _REQUEST["lr_paidto"].":".
  $ _REQUEST["lr_paidby"].":".
  stripslashes($ _REQUEST["lr_store"]).":".
  $ _REQUEST["lr_amnt"].":".
  $ _REQUEST["lr_transfer"].":".
  $ _REQUEST["lr_currency"].":".
  ;

// Вычислим хеш строки
$ hash = strtoupper(bin2hex(mhash(MHASH_SHA256, )));

// Проверим то что у нас получилось с тем, что прислала нам Liberty
if (isset($ _REQUEST["lr_paidto"]) && $ _REQUEST["lr_paidto"] == strtoupper($ conf_merchantAccountNumber) &&
    isset($ _REQUEST["lr_store"]) && stripslashes($ _REQUEST["lr_store"]) ==  $ conf_merchantStoreName &&
    isset($ _REQUEST["lr_encrypted"]) && $ _REQUEST["lr_encrypted"] == $ hash)
{
    // Все совпадает - значит платеж проведен успешно
        // Здесь делаем то, что Вам нужно делать при успешной оплате
}
else
{
    // Что-то не совпало - значит платеж не прошел
}
?>

Последний раз редактировалось Senator2; 10.08.2010 в 16:38.
Senator2 вне форума
Сказали спасибо:
webog (23.01.2013)
Старый 10.08.2010, 16:26
#5
Заблокированный
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 20.03.2010
Сообщений: 199
Благодарностей: 33
Автор темы Re: Прием платежей LR с получением автоматического ответа

У меня все так и есть, а дальше-то что? Люди платеж делают, деньги мне в кошелек приходят, а скрипт не срабатывает. До записи в базу даже дело не доходит. Если бы срабатывало, в базу бы хотя бы пустая строка записывалась бы. Дальше-то самое интересное, надо получить данные, и записать их в базу MySql. Вот такая строка будет работать? $in_summ=$_REQUEST["lr_amnt"]; а потом mysql_query("update users set cash=cash+'$in_summ' where login='$player'");
Navrus вне форума
Старый 10.08.2010, 16:36
#6
Топ Мастер
 
Пол: Мужской
Регистрация: 24.09.2007
Сообщений: 9,250
Благодарностей: 1,334

награды Волшебный горшочек Ветеран MMGP.RU 
Re: Прием платежей LR с получением автоматического ответа

Да...
Такое должно сработать...
Видать Вы чего-то не донастроили в своём аккаунте Liberty...
Вы всё прописали в настройках Store (в своём аккаунте) ?
- Сделайте скриншот настроек (пароль можете замазать, или потом просто поменяете) - и покажите его здесь...
- ну и можете свой файлик status.php приаттачить - глянем на него...

И еще - Вы делали так как у них в примере - с папкой include ?
Если да - то в файле config.php поменяли данные на свои ?
Senator2 вне форума
Старый 10.08.2010, 16:42
#7
Заблокированный
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 20.03.2010
Сообщений: 199
Благодарностей: 33
Автор темы Re: Прием платежей LR с получением автоматического ответа

Да, это все сделано, я ошибку кажется нашел, я текст записи в базу в конце всего текста прописал... Если сейчас сработает - то все ок...
Navrus вне форума
Старый 11.08.2010, 10:59
#8
Топ Мастер
 
Пол: Мужской
Регистрация: 24.09.2007
Сообщений: 9,250
Благодарностей: 1,334

награды Волшебный горшочек Ветеран MMGP.RU 
Re: Прием платежей LR с получением автоматического ответа

Ну и ???
Получилось или нет ?
Senator2 вне форума
Старый 23.01.2013, 20:29
#9
Заблокированный
 
Имя: ProfitInvest
Пол: Мужской
Возраст: 36
Адрес: Планета ЗЕМЛЯ
Инвестирую в: HYIP
Регистрация: 04.12.2010
Сообщений: 429
Благодарностей: 74
Re: Прием платежей LR с получением автоматического ответа

Parse error: syntax error, unexpected ';'

PHP код:
$str =
  
$_REQUEST["lr_paidto"].":".
  
$_REQUEST["lr_paidby"].":".
  
stripslashes($_REQUEST["lr_store"]).":".
  
$_REQUEST["lr_amnt"].":".
  
$_REQUEST["lr_transfer"].":".
  
$_REQUEST["lr_currency"].":".
Ругается сюда ->  ; 
webog вне форума
Старый 19.02.2013, 23:26
#10
 
Регистрация: 18.02.2013
Сообщений: 1
Благодарностей: 0
Re: Прием платежей LR с получением автоматического ответа

Цитата:
Сообщение от webog Посмотреть сообщение
Parse error: syntax error, unexpected ';'

PHP код:
$str =
  
$_REQUEST["lr_paidto"].":".
  
$_REQUEST["lr_paidby"].":".
  
stripslashes($_REQUEST["lr_store"]).":".
  
$_REQUEST["lr_amnt"].":".
  
$_REQUEST["lr_transfer"].":".
  
$_REQUEST["lr_currency"].":".
Ругается сюда ->  ; 
ясен пень что будет ругаться... $ _REQUEST["lr_currency"].":". -> точка в конце строки лишняя, парсер ждет продолжения, а вы ему говорите что все закончилось
Лиза Терешкова вне форума
Войдите, чтобы оставить комментарий.
Быстрый переход