K
K
Kirill2014-12-14 03:19:45
ROBOKASSA
Kirill, 2014-12-14 03:19:45

How to overcome mismatch of hashes in robokassa?

Guys, hello!
For several hours I have been fighting like a fish on ice - my hashes do not match, I don’t understand why.
I have already checked the formation of all hashes several times! That's right, I even changed the passwords, I thought maybe some kind of jamb. The trick is that everything worked fine on the test server! But it doesn't work in real life!
I still have a few questions - how to transfer the payment amount? As a string value or as a numeric (integer, float)? I tested this way and that - the result is the same. In the database, the column for the amount has the FLOAT type, the database is MySQL, the InnoDB engine.
So, let's move on to our sheep now.

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

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

On the result page
//данные которые пришли от робокассы
$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"));

Data on the success page
//данные которые пришли от робокассы
$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"));

I also made logging of all the data that I send to the robokassa, and which I receive, as well as which I pull out from the database
[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 protected]
    [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стр.

Please tell me guys, what is the problem ??? I'm generally lost :( I seem to have done everything right.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
K
Kirill, 2014-12-14
@Lobanov

Issue resolved!
The fact is that a hash is formed for the succession from the data that came from the robokassa, but salted with your second password. And I pulled data from the database and put it into a hash. It's good that the robokassa has adequate technical support, they explained this point. DB does not participate in comparison of hashes at all! Newbies need to remember this! :)

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question