Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Онлайн покупка привилегий

Статус пользователя nikson1337
сообщение 14.2.2017, 0:18
Сообщение #1
Стаж: 9 лет 5 месяцев

Сообщений: 127
Благодарностей: 5
Полезность: < 0

Вообщем купил себе персональный аттестат начал подключать магазин все подключил проверил проект одобрили,но при оплате писало не верная цифровая подпись.

Написал в ТП они сказали в скрипте заменить

Код
function md5sign( $params, $secretKey ) {
        @ksort( $params );
        unset( $params['sign'] );
        return md5( @join( null, $params ).$secretKey);
    }


На

Код
function getSignature($method, $params, $secretKey)
{
    ksort($params);
    unset($params['sign']);
    unset($params['signature']);
    array_push($params, $secretKey);
    array_unshift($params, $method);

    return hash('sha256', join('{up}', $params));
}


Заменил но теперь в настройках ссылка на обрабочик платижей выдает ошибку формата не могу понять в чем дело может подскажете?

Целый код
Код
<?php
    define ( 'BLOCK', true );
    @require_once 'core/cfg.php';
    if ( $uni_on == 0 ) exit ( "
        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
        <html>
            <head>
                <title>404 Not Found</title>
            </head>
            <body>
                <h1>Not Found</h1>
                <p>The requested URL was not found on this server.</p>
            </body>
        </html>" );
        
    $secretKey = $uni_secret_key;
    $method = $_GET['method'];
    $params = $_GET['params'];
    $auth = $params['account'];
    
function getSignature($method, $params, $secretKey)
{
    ksort($params);
    unset($params['sign']);
    unset($params['signature']);
    array_push($params, $secretKey);
    array_unshift($params, $method);

    return hash('sha256', join('{up}', $params));
}
    
    function responseError($message) {
        $error = array( "jsonrpc" => "2.0", "error" => array( "code" => -32000, "message" => $message ), 'id' => 1 );
        echo json_encode( $error ); exit();
    }
    
    function responseSuccess( $message ) {
        $success = array( "jsonrpc" => "2.0", "result" => array( "message" => $message ), 'id' => 1 );
        echo json_encode( $success ); exit();
    }
    
    if ( $params['sign'] != md5sign( $params, $secretKey ) ) { responseError("Некорректная цифровая подпись!"); }
    
    switch( $method )
    {
        case 'check':
            $query_acc = $db->m_query( "SELECT * FROM `".DBcfg::$dbopt['db_prefix']."_temp_adm` WHERE `id` = '".abs( ( int ) $auth )."' LIMIT 1" );
            $query_adm = $db->m_query( "SELECT * FROM `".DBcfg::$dbopt['db_prefix']."_admins` WHERE `id` = '".abs( ( int ) $auth )."' LIMIT 1" );
            
            if ( $db->n_rows( $query_acc ) > 0 )
            {
                $arr_acc = $db->f_arr( $query_acc );
                $query_tarif = $db->m_query( "SELECT * FROM `".DBcfg::$dbopt['db_prefix']."_tarifs`, `".DBcfg::$dbopt['db_prefix']."_tarif_time` WHERE `".DBcfg::$dbopt['db_prefix']."_tarif_time`.tarif_id = '".$arr_acc['service_id']."' AND `".DBcfg::$dbopt['db_prefix']."_tarifs`.server_id = '".$arr_acc['server_id']."' AND `".DBcfg::$dbopt['db_prefix']."_tarifs`.id = '".$arr_acc['service_id']."' AND `".DBcfg::$dbopt['db_prefix']."_tarif_time`.time = '".$arr_acc['utime']."' LIMIT 1" );
                $tarif_info = $db->f_arr( $query_tarif );
                if ( $tarif_info['price'] != abs( ( int ) $params['sum'] ) ) { responseError('Неверная сумма!'); exit; }
            } else if ( $db->n_rows( $query_adm ) > 0 ) {
                $arr_adm = $db->f_arr( $query_adm );
                $query_tarif = $db->m_query( "SELECT * FROM `".DBcfg::$dbopt['db_prefix']."_tarifs`, `".DBcfg::$dbopt['db_prefix']."_tarif_time` WHERE `".DBcfg::$dbopt['db_prefix']."_tarif_time`.tarif_id = '".$arr_adm['service_id']."' AND `".DBcfg::$dbopt['db_prefix']."_tarifs`.server_id = '".$arr_adm['server_id']."' AND `".DBcfg::$dbopt['db_prefix']."_tarifs`.id = '".$arr_adm['service_id']."' AND `".DBcfg::$dbopt['db_prefix']."_tarif_time`.time = '".abs( ( int ) $params['time'] )."' LIMIT 1" );
                $tarif_info = $db->f_arr( $query_tarif );
                if ( $tarif_info['price'] != abs( ( int ) $params['sum'] ) ) { responseError('Неверная сумма!'); exit; }
            } else {
                responseError('Заказ не найден! Повторите попытку!'); exit();
            }
            break;
        case 'pay':
            $query_adm = $db->m_query( "SELECT * FROM `".DBcfg::$dbopt['db_prefix']."_admins` WHERE `id` = '".abs( ( int ) $auth )."' LIMIT 1" );

            if ( $db->n_rows( $query_adm ) > 0 )
            {
                $arr_adm = $db->f_arr( $query_adm );
                $time = abs( ( int ) $params['time'] );
            
                if ( $time == 0 ) {
                    $db->m_query( "UPDATE `".DBcfg::$dbopt['db_prefix']."_admins` SET `utime` = ('0') WHERE `id` = '".$arr_adm['id']."'" );
                } else {
                    $date_con_a = time()+3600*24*$time;
                    $date_con_b = 3600*24*$time;
                    
                    if ( $arr_adm['utime'] < time() ) {
                        $db->m_query( "UPDATE `".DBcfg::$dbopt['db_prefix']."_admins` SET `utime` = ('".$date_con_a."') WHERE `id` = '".$arr_adm['id']."'" );
                    } else {
                        $db->m_query( "UPDATE `".DBcfg::$dbopt['db_prefix']."_admins` SET `utime` = (`utime`+'".$date_con_b."') WHERE `id` = '".$arr_adm['id']."'" );
                    }
                }
                $eng->up_cfg ( $arr_adm['server_id'], $eng->g_cfg( $arr_adm['server_id'] ) );
            } else {
                $query_acc = $db->m_query( "SELECT * FROM `".DBcfg::$dbopt['db_prefix']."_temp_adm` WHERE `id` = '".abs( ( int ) $auth )."' LIMIT 1" );
                $arr_acc = $db->f_arr( $query_acc );
                
                if ( $arr_acc['utime'] == 0 ) {
                    $date_end = 0;
                } else {
                    $date_end = time()+3600*24*$arr_acc['utime'];
                }
                
                $db->m_query( "INSERT INTO `".DBcfg::$dbopt['db_prefix']."_admins` (`id`, `auth`, `password`, `access`, `flags`, `servpass`, `name`, `skype`, `server_id`, `service_id`, `time`, `utime`, `hash`) VALUES (NULL, '".$arr_acc['auth']."', '".md5( sha1( $arr_acc['password'] ) )."', '".$arr_acc['access']."', '".$arr_acc['flags']."', '".$arr_acc['password']."', '', '', '".$arr_acc['server_id']."', '".$arr_acc['service_id']."', '".time()."', '".$date_end."', '".$at->GenerateKey()."')" );
                $eng->up_cfg ( $arr_acc['server_id'], $eng->g_cfg( $arr_acc['server_id'] ) );
            }
            break;
        case 'error':
            break;
        default:
            responseError("Некорректный метод, поддерживаются методы: error, check и pay"); exit;
    }
    responseSuccess("Успех");
?>
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя esterio
сообщение 14.2.2017, 1:15
Сообщение #2
Стаж: 13 лет
Город: Украина

Сообщений: 266
Благодарностей: 215
Полезность: 627

@ - подавление ошибок. Одно из правил PHP-разработчиков гласит не использовать данный символ. Итог: тот скрипт что вы имеете полная ****

а по факту достаточно использовать любой SDK. например https://github.com/baibaratsky/php-webmoney

Отредактировал: esterio, - 14.2.2017, 1:18


Ми будемо вбивати росіян у будь-якій точці світу до повної перемоги України
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя nikson1337
сообщение 14.2.2017, 3:13
Сообщение #3
Стаж: 9 лет 5 месяцев

Сообщений: 127
Благодарностей: 5
Полезность: < 0

Цитата(esterio @ 14.2.2017, 2:15) *
@ - подавление ошибок. Одно из правил PHP-разработчиков гласит не использовать данный символ. Итог: тот скрипт что вы имеете полная ****

а по факту достаточно использовать любой SDK. например https://github.com/baibaratsky/php-webmoney

Я просто не разбираюсь в это надеюсь может кто то поможет готовым кодом
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.2.2017, 8:22
Сообщение #4


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(esterio @ 14.2.2017, 2:15) *
@ - подавление ошибок. Одно из правил PHP-разработчиков гласит не использовать данный символ. Итог: тот скрипт что вы имеете полная ****

а по факту достаточно использовать любой SDK. например https://github.com/baibaratsky/php-webmoney

Это SDK для вебмани. У ТС, судя по коду, unitpay. ТС, пусть пишет ошибку формата, данных то нет. Проверяй оплату
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nikson1337
сообщение 14.2.2017, 14:44
Сообщение #5
Стаж: 9 лет 5 месяцев

Сообщений: 127
Благодарностей: 5
Полезность: < 0

может кто то по теме ответить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя default1k
сообщение 14.2.2017, 14:46
Сообщение #6
Стаж: 12 лет

Сообщений: 718
Благодарностей: 180
Полезность: 153

nikson1337, тут все по теме. Почитайте пожалуйста инструкцию по магазину, там написано как правильно генерировать подпись
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nikson1337
сообщение 14.2.2017, 15:31
Сообщение #7
Стаж: 9 лет 5 месяцев

Сообщений: 127
Благодарностей: 5
Полезность: < 0

Цитата(default1k @ 14.2.2017, 15:46) *
nikson1337, тут все по теме. Почитайте пожалуйста инструкцию по магазину, там написано как правильно генерировать подпись

Инструкция утеряна если у вас имеется или можете подсказать подскажите пожалуйста
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя cscms
сообщение 14.2.2017, 16:37
Сообщение #8
Стаж: 10 лет

Сообщений: 311
Благодарностей: 17
Полезность: < 0

Сколько стоит аттестат формальный? тоже хочу unitpay
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MpAimPro
сообщение 14.2.2017, 16:42
Сообщение #9
Стаж: 9 лет
Город: Минск

Сообщений: 827
Благодарностей: 205
Полезность: 253

Меценат Меценат

Цитата(cscms @ 14.2.2017, 17:37) *
Сколько стоит аттестат формальный? тоже хочу unitpay

Эм как бы формальный бесплатно. А перс в районе 3к рублей стоит.
PS В юнити только с перс
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nikson1337
сообщение 14.2.2017, 17:53
Сообщение #10
Стаж: 9 лет 5 месяцев

Сообщений: 127
Благодарностей: 5
Полезность: < 0

Цитата(esterio @ 14.2.2017, 2:15) *
@ - подавление ошибок. Одно из правил PHP-разработчиков гласит не использовать данный символ. Итог: тот скрипт что вы имеете полная ****

а по факту достаточно использовать любой SDK. например https://github.com/baibaratsky/php-webmoney

Скинешь файл в личку как сделать или поделишься тут пожалуйста?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 14.2.2017, 22:14
Сообщение #11


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

nikson1337, Эм... http://help.unitpay.ru/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя esterio
сообщение 14.2.2017, 22:40
Сообщение #12
Стаж: 13 лет
Город: Украина

Сообщений: 266
Благодарностей: 215
Полезность: 627

nikson1337, Мне нечего скидывать по многим пунктам
1. Я не знаю что у вас там за мега крутой "скрипт"
2. Я дал силку на библиотеку но не на готовый "скрипт"
3. Мне не интересно писать такое ввиду личной неприязни к платным услугам


Ми будемо вбивати росіян у будь-якій точці світу до повної перемоги України
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nikson1337
сообщение 15.2.2017, 0:32
Сообщение #13
Стаж: 9 лет 5 месяцев

Сообщений: 127
Благодарностей: 5
Полезность: < 0

Цитата(onotole @ 14.2.2017, 23:14) *
nikson1337, Эм... http://help.unitpay.ru/

я понимаю что вы меня ткнули в инфу я там поменял как написано но ничего не помогло если вас не затруднит можете помочь сделать?
я пытался в верху поста указал что и как делал
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nikson1337
сообщение 20.2.2017, 15:37
Сообщение #14
Стаж: 9 лет 5 месяцев

Сообщений: 127
Благодарностей: 5
Полезность: < 0

Кто может помочь настроить не бесплатно конечно оставьте свои контакты в ЛС пожалуйста
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: