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
{
// Что-то не совпало - значит платеж не прошел
}
?>