• Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Веб Личный Кабинет v0.8.0

  • Автор темы Автор темы FaiCraft
  • Дата начала Дата начала
Почему не приходит $_POST['ik_sign'] от самой интеркассы?
 
Последнее редактирование:
Почему не приходит $_POST['ik_sign'] от самой интеркассы?
такая же хрень
вот что приходит от ik

ik_co_id -> shopid
ik_inv_id -> 26191110
ik_inv_st -> success
ik_inv_crt -> 2014-03-12 13:22:59
ik_inv_prc -> 2014-03-12 13:22:59
ik_pm_no -> ID_4233
ik_pw_via -> test_interkassa_test_xts
ik_am -> 100.00
ik_cur -> RUB
ik_co_rfn -> 100.0000
ik_ps_price -> 106.09
ik_desc -> Event Description
 
Последнее редактирование:
  • Нравится
Реакции: Evan
такая же хрень
вот что приходит от ik

ik_co_id -> shopid
ik_inv_id -> 26191110
ik_inv_st -> success
ik_inv_crt -> 2014-03-12 13:22:59
ik_inv_prc -> 2014-03-12 13:22:59
ik_pm_no -> ID_4233
ik_pw_via -> test_interkassa_test_xts
ik_am -> 100.00
ik_cur -> RUB
ik_co_rfn -> 100.0000
ik_ps_price -> 106.09
ik_desc -> Event Description
Когда была интеркасса, всё прекрасно работало. Попробуйте взять файлы интеркассы из фикса, где-то на ведре лежат...
 
Когда была интеркасса, всё прекрасно работало. Попробуйте взять файлы интеркассы из фикса, где-то на ведре лежат...
дело в том, что сравнивать нечего
if($sign == $_REQUEST['ik_sign'])
это равно
if ("DSfsdSDfsdF43w35t635h==" == null)
Иными словами, нету параметра ik_sign
 
interkassa.php:
PHP:
<?
    require('config.php');
   
    function ik_sign($ik_post, $secret_key) {
        ksort($ik_post, SORT_STRING);
        array_push($ik_post, $secret_key);
        return base64_encode(md5(implode(':', $ik_post), true));
    }
   
    /* Защита от XSS, SQL инъекций */
    foreach($_POST as $key=>$val)
        $_POST_REAL[$key] = strip_tags(mysql_real_escape_string($val));
    /* Защита от XSS, SQL инъекций */
   
    if ( $_POST_REAL['ik_submit'] ) {
       
        $ik_post = array();
        $ik_post = $_POST_REAL;
       
        unset($ik_post['ik_submit']);
        $ik_post['ik_x_username'] = $user['name'];
       
        foreach($ik_post as $key=>$val)
            $url .= '&'.$key.'='.urlencode($val);
       
        header('Location: https://sci.interkassa.com/?ik_x_sign='.ik_sign($ik_post, $cfg['ik_key']).$url);
       
    } else {
       
        $ik_post = array();
        $ik_post = $_POST_REAL;
       
        $ik_post_sign = array(
            'ik_co_id' => $ik_post['ik_co_id'], 
            'ik_am' => $ik_post['ik_am'], 
            'ik_pm_no' => $ik_post['ik_pm_no'], 
            'ik_desc' => $ik_post['ik_desc'],
            'ik_x_username' => $ik_post['ik_x_username']
        );
       
        if ( urldecode(ik_sign($ik_post_sign, $cfg['ik_key'])) == $_POST_REAL['ik_x_sign'] && $ik_post['ik_inv_st'] == 'success' && $ik_post['ik_co_id'] == $cfg['ik_co_id']) {
           
            if ( !mysql_num_rows(mysql_query("SELECT `id` FROM `lk_transaction` WHERE `id` = '{$ik_post['ik_inv_id']}'")) ) {
               
                mysql_query("INSERT INTO `lk_transaction` VALUES ({$ik_post['ik_inv_id']}, '{$ik_post['ik_x_username']}', ".round($ik_post['ik_co_rfn']).", ".time().", '{$ik_post['ik_inv_st']}')");
                mysql_query("UPDATE `{$cfg['table_Users']}` SET `realmoney` = realmoney+".round($ik_post['ik_co_rfn'])." WHERE `{$cfg['column_Username']}` = '{$ik_post['ik_x_username']}'");
               
            } else echo 'Данный платеж уже совершен.';
           
        } else echo 'Неверная контрольная подпись. Платеж не был совершен.';
       
    }

А что за плагин? (самому нужно)
:facepalm:
ConsoleScheduler
 
interkassa.php:
PHP:
<?
    require('config.php');
  
    function ik_sign($ik_post, $secret_key) {
        ksort($ik_post, SORT_STRING);
        array_push($ik_post, $secret_key);
        return base64_encode(md5(implode(':', $ik_post), true));
    }
  
    /* Защита от XSS, SQL инъекций */
    foreach($_POST as $key=>$val)
        $_POST_REAL[$key] = strip_tags(mysql_real_escape_string($val));
    /* Защита от XSS, SQL инъекций */
  
    if ( $_POST_REAL['ik_submit'] ) {
      
        $ik_post = array();
        $ik_post = $_POST_REAL;
      
        unset($ik_post['ik_submit']);
        $ik_post['ik_x_username'] = $user['name'];
      
        foreach($ik_post as $key=>$val)
            $url .= '&'.$key.'='.urlencode($val);
      
        header('Location: https://sci.interkassa.com/?ik_x_sign='.ik_sign($ik_post, $cfg['ik_key']).$url);
      
    } else {
      
        $ik_post = array();
        $ik_post = $_POST_REAL;
      
        $ik_post_sign = array(
            'ik_co_id' => $ik_post['ik_co_id'],
            'ik_am' => $ik_post['ik_am'],
            'ik_pm_no' => $ik_post['ik_pm_no'],
            'ik_desc' => $ik_post['ik_desc'],
            'ik_x_username' => $ik_post['ik_x_username']
        );
      
        if ( urldecode(ik_sign($ik_post_sign, $cfg['ik_key'])) == $_POST_REAL['ik_x_sign'] && $ik_post['ik_inv_st'] == 'success' && $ik_post['ik_co_id'] == $cfg['ik_co_id']) {
          
            if ( !mysql_num_rows(mysql_query("SELECT `id` FROM `lk_transaction` WHERE `id` = '{$ik_post['ik_inv_id']}'")) ) {
              
                mysql_query("INSERT INTO `lk_transaction` VALUES ({$ik_post['ik_inv_id']}, '{$ik_post['ik_x_username']}', ".round($ik_post['ik_co_rfn']).", ".time().", '{$ik_post['ik_inv_st']}')");
                mysql_query("UPDATE `{$cfg['table_Users']}` SET `realmoney` = realmoney+".round($ik_post['ik_co_rfn'])." WHERE `{$cfg['column_Username']}` = '{$ik_post['ik_x_username']}'");
              
            } else echo 'Данный платеж уже совершен.';
          
        } else echo 'Неверная контрольная подпись. Платеж не был совершен.';
      
    }
ты не понял прикола, подпись ровно генерирует, её сравнить не с чем!
От интеркассы не приходит такая переменная как ik_sign
 
Обменник запили!
 
Последнее редактирование:
Народ, а у кого-то осталась версия 0.6? или старее, можно даже 0.7.0, хочется глянуть)
 
@FaiCraft Напиши в своей теме правильную настройку с интеркассой 2.0
Скиньте кто нибудь скрин правильной настройки с интеркассой и почему выдаёт

Код:
Ошибка приложения!
Parameter "ik_cur" is empty
открой файл интеркасса пхп
после
PHP:
$ik_post['ik_x_username'] = $user['name'];
вставь
PHP:
$ik_post['ik_cur'] = 'RUB';
 
@FaiCraft Напиши в своей теме правильную настройку с интеркассой 2.0
Скиньте кто нибудь скрин правильной настройки с интеркассой и почему выдаёт

Код:
Ошибка приложения!
Parameter "ik_cur" is empty
Надо в настройках интеркассу поставить валюту, только RUB.
 
Назад
Верх