Как побороть несовпадение хэшей в робокассе?

Ребят, привет!
Несколько часов уже бьюсь как рыба об лед - у меня не совпадают хэши, не понимаю почему.
Формирование всех хэшей проверил уже несколько раз! Все верно, даже поменял пароли, думал может косяк какой-то. Фишка в том, что на тестовом сервере все отлично работало! А на реальном не работает!
У меня несколько вопросов еще имеется - как передавать сумму платежа? Как строковое значение или как числовое(целое, флоат)? Я тестил и так и так - результат один и тот же. В БД у столбца для суммы - стоит тип FLOAT, БД - MySQL, движок InnoDB.

Итак, перейдем к нашим баранам теперь.
//это мы формируем на странице оплаты, т.е. где у нас расположена платежная форма на сайте
$pay_summ = "1"; - сумма платежа - сейчас указана как строковое значение.

//формируем цифровую подпись
$hash_crypt = md5("$mrh_login:$pay_summ:$Inv_id:$pass_robo1");

На странице резалт
//данные которые пришли от робокассы
$Inv_id         = $this->input->post('InvId');
$OutSum         = round($this->input->post('OutSum'), 2);
$SignatureValue = $this->input->post('SignatureValue');

//привели хэш пришедший от робокассы к верхнему регистру
$SignatureValue = strtoupper($SignatureValue);

//мой хэш
$My_SignatureValue = strtoupper(md5("$pay_summ:$Inv_id:$pass_robo2"));


Данные на странице успеха
//данные которые пришли от робокассы
$Inv_id         = $this->input->post('InvId');
$OutSum         = round($this->input->post('OutSum'), 2);
$SignatureValue = $this->input->post('SignatureValue');

//привели хэш от робокассы к верхнему регистру
$SignatureValue = strtoupper($SignatureValue);

//формирую свой хэш
$My_SignatureValue = strtoupper(md5("$pay_summ:$Inv_id:$pass_robo1"));


Сделал еще логирование всех данных, которые я отправляю в робокассу, и которые мне приходят, а также которые я вытаскиваю из БД
[2014-12-13 16:37:43]Вставленный id в таблицу - номер заказа 28 - стр.1144
[2014-12-13 16:37:43]Передаваемая сумма платежа в робокассу - 1 - стр.1114
[2014-12-13 16:37:43]Передаваемый хэш в робокассу - d2c8ba4597ff96fd7ca0ddccaf00935b - стр.1156
[2014-12-13 16:37:43]
Array
(
    [mrh_login] => sdfb_sg_odpv
    [pay_summ] => 1
    [pay_method] => WMRM
    [email] => email@mail.ru
    [Inv_id] => 28
    [hash_crypt] => d2c8ba4597ff96fd7ca0ddccaf00935b
)


[2014-12-13 16:38:29]Номер платежа от робокассы в резалт - 28 - стр.1187
[2014-12-13 16:38:29]Сумма платежа от робокассы в резалт - 1 - стр.1188
[2014-12-13 16:38:29]Хэш который пришел от робокассы в резалт - C2ED0A1C626C851427A877C6002FD5CC - стр.1189
[2014-12-13 16:38:29]Номер платежа из моей БД в резалт - 28 - стр.1210
[2014-12-13 16:38:29]Сумма платежа из моей БД в резалт - 1 - стр.1211
[2014-12-13 16:38:29]Мой хэш в резалт - E28BCD4F05BA456909D2814BAA136E26 - стр.1215
[2014-12-13 16:38:29]Не совпали хэши - в резалте - 1204стр.
[2014-12-13 16:38:51]Номер заказа пришедший от робокассы в сакцесс - 28 - стр.1341
[2014-12-13 16:38:51]Сумма платежа пришедший от робокассы в сакцесс - 1 - стр.1342
[2014-12-13 16:38:51]Хэш пришедший от робокассы в сакцесс - 24f9051d3dddf0454f350d740d8483c7 - стр.1343
[2014-12-13 16:38:51]Номер заказа из моей БД в сакцесс - 28 - стр.1366
[2014-12-13 16:38:51]Сумма заказа из моей БД в сакцесс - 1 - стр.1367
[2014-12-13 16:38:51]Мой хэш в сакцесс - 6C01DC7314E968146127D70E89B3356D - стр.1369
[2014-12-13 16:38:51]Не совпали хэши в функ. сакцесс - 1330стр.


Подскажите пожалуйста ребят, в чем проблема??? Я вообще потерянный :( Все вроде бы правильно сделал.
  • Вопрос задан
  • 3244 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Lobanov Автор вопроса
Вопрос решен!
Дело в том, что на сакцесс формируется хэш из данных которые пришли от робокассы, но подсоленые вашим вторым паролем. А я вытаскивал данные из БД и засовывал их в хэш. Хорошо что у робокассы тех.поддержка адекватная, разъяснили этот момент. в сравнении хэшей БД вообще не участвует! Это нужно помнить новичкам! :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы