Исправление работы UniGameCMS + ЮМани после 18.05.2026

Статус
Закрыто для дальнейших ответов.

mihaekater

Участник
Сообщения
1
Рейтинг
0
1779722259775.png
Здравствуйте! Проблема: перестали зачисляться платежи на счета пользователей UniGameCMS. Решение для GameCMS было сделано, подскажите как быть с UniGameCMS, index.php для UniGameCMS прикрепляю ниже. Код решения для GameCMS:
Код:
++if(empty($_POST["amount"]) || empty($_POST["operation_id"]) || empty($_POST["label"]) || empty($_POST["sign"]) || empty($_POST["unaccepted"])) {
--if(empty($_POST["amount"]) || empty($_POST["operation_id"]) || empty($_POST["label"]) || empty($_POST["sha1_hash"]) || empty($_POST["unaccepted"])) {
        $Pm->paymentLog($payMethod, "empty data", pdo(), 0, 2);
        exit('Error: [empty data]');
    }

$amount    = clean($_POST['withdraw_amount'], 'float');
$payNumber = clean($_POST["label"], 'int');
$userId    = (int)clean(substr($payNumber, 0, 7), 'int');
++
++   $notificationParams = $_POST;
++   $sign = $notificationParams['sign'];
++    unset($notificationParams['sign']);
++    ksort($notificationParams, SORT_STRING);
++
++    $dataString = '';
++    foreach ($notificationParams as $key => $value) {
++        $encodedValue = rawurlencode($value);
++        if (strlen($dataString)) {
++            $dataString .= '&';
++        }
++        $dataString .= $key . '=' . $encodedValue;
++    }

++    $calculatedSign = hash_hmac('sha256', $dataString, $merchantsSettings->ya_key);

    if(
++        $sign != $calculatedSign

--        //sha1(
--        //    $_POST['notification_type']
--        //    . '&' . $_POST['operation_id']
--        //    . '&' . $_POST['amount']
--        //    . '&' . $_POST['currency']
--        //    . '&' . $_POST['datetime']
--        //    . '&' . $_POST['sender']
--        //    . '&' . $_POST['codepro']
--        //    . '&' . $merchantsSettings->ya_key
--        //    . '&' . $_POST["label"]
--        //) != $_POST['sign']
--
    ) {
 

Вложения

  • index.txt
    index.txt
    28,6 КБ · Просмотры: 1
Статус
Закрыто для дальнейших ответов.
Назад
Верх