Коллеги, приветствую, подскажите пожалуйста как правильно формировать сигнатуру для робочеков, уже весь мозг прокипятил, не могу найти решение.
Есть документация:
https://docs.robokassa.ru/ru/#6865
Работаю на сервере с PHP 5.6
Вот что пишет мне поддержка:
test:1::%7B%22items%22:%5B%7B%22name%22:%22%D0%A3%D1%81%D0%BB%D1%83%D0%B3%D0%B0%22,%22quantity%22:1,%22sum%22:1,%22tax%22:%22none%22%7D%5D%7D:test:shp_item=test@mail.ru
// JSON массив должен быть обязательно URL кодирован
Сигнатура после хеширования в md5:
498da474bfa68b50045302f01c7c199a
И пытаюсь всё тоже самое воспроизвести через код, но я не могу достичь той же сигнатуры после хэширования. Подскажите люди добрый в чём моя проблема? Вот код:
<?
// 1.
// Оплата заданной суммы с выбором валюты на сайте мерчанта
// Payment of the set sum with a choice of currency on merchant site
// регистрационная информация (логин, пароль #1)
// registration info (login, password #1)
$mrh_login = "test";
$mrh_pass1 = "test";
// номер заказа
// number of order
$inv_id = 1;
// описание заказа
// order description
$inv_desc = "ROBOKASSA Advanced User Guide";
// сумма заказа
// sum of order
$out_summ = "1";
// тип товара
// code of goods
$shp_item = "test@mail.ru";
// предлагаемая валюта платежа
// default payment e-currency
$in_curr = "";
// язык
// language
$culture = "ru";
// кодировка
// encoding
$encoding = "utf-8";
$array= Array(
"items" => Array(
Array(
"name" => "Услуга",
"quantity" => "1",
"sum" => $out_summ,
"tax" => "none"
)
)
);
$receipt = rawurlencode(json_encode($array));
// формирование подписи
// generate signature
$crc = md5("$mrh_login:$inv_id::$receipt:$mrh_pass1:shp_item=$shp_item");
// HTML-страница с кассой
// ROBOKASSA HTML-page
print "<html><script language=JavaScript ".
"src='https://auth.robokassa.ru/Merchant/PaymentForm/FormV.js?".
"MerchantLogin=$mrh_login&OutSum=$out_summ&Shp_item=$shp_item&Receipt=$receipt".
"&Description=$inv_desc&SignatureValue=$crc'></script></html>";
?>