РЕШЕНО Не зачисляется баланс,в чем проблема?

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

Pluginshik

Участник
Всем доброго времени суток!
Мучаюсь с этими пополнениями уже неделю, все настроено правильно в Payeer url : success, fail тоже на месте обработчик тоже настроен правильно(url) но после оплаты платежа все проходит верно перенаправляет на страницу успешной оплаты но баланс не зачисляется все равно,в бд посмотрел в payeer_insert и там статус стоит на 0 вроде он должен меняться на 1 при успешной оплате,или в файле success нужно поколдовать?

Код payeer_merchant.php:
PHP:
<?php

if (!in_array($_SERVER['REMOTE_ADDR'], array('185.71.65.92', '185.71.65.189', '149.202.17.210'))) die('ERROR IP');

if (isset($_POST['m_operation_id']) && isset($_POST['m_sign']))

?>

# Автоподгрузка классов

function __autoload($name){ include("classes/_class.".$name.".php");}

# Класс конфига

$config = new config;

# Функции

$func = new func;

# База данных

$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);

    $m_key = $config->secretW;

    $arHash = array($_POST['m_operation_id'],

        $_POST['m_operation_ps'],

        $_POST['m_operation_date'],

        $_POST['m_operation_pay_date'],

        $_POST['m_shop'],

        $_POST['m_orderid'],

        $_POST['m_amount'],

        $_POST['m_curr'],

        $_POST['m_desc'],

        $_POST['m_status'],

        $m_key);

    $sign_hash = strtoupper(hash('sha256', implode(':', $arHash)));

    if ($_POST['m_sign'] == $sign_hash && $_POST['m_status'] == 'success')

    {

$order_id = intval($_POST['m_orderid']);

$db->Query("SELECT * FROM db_payeer_insert WHERE id = '".$order_id."'") or die('ERROR ORDER ID IN BASE');

    if($db->NumRows() == 0){ echo $_POST['m_orderid'].'|error'; exit;}

    $payeer_row = $db->FetchArray();

    if($payeer_row['status'] > 0){ echo $_POST['m_orderid'].'|success'; exit;}

    $db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");

    

    $ik_payment_amount = $payeer_row["sum"];

    $user_id = $payeer_row["user_id"];

  

    # Настройки

    $db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");

    $sonfig_site = $db->FetchArray();

  

   $db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");

   $user_ardata = $db->FetchArray();

   $user_name = $user_ardata["user"];

   $refid = $user_ardata["referer_id"];

   $date = time();

  

   # Зачисляем баланс

   $serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );

  

   $db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");

   $ins_sum = $db->FetchRow();

  

   $serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.10) ) : ($serebro + ($serebro * 0.0));

 // Бонус при первом и последующих пополненияй

   $ratingadd  = ($serebro * 0.04); // Бонус рейтинг

   $lsb = time();

   /* ====== Рефералка 3 уровней ====== */

$db->Query("SELECT user, referer_id, referer_id2, referer_id3 FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");

    $user_ardata = $db->FetchArray();

    $ref2 = $user_ardata["referer_id2"];

    $ref3 = $user_ardata["referer_id3"];

    # Задаем процент рефки

    $to_referer  = ($serebro * 0.06); // Первый уровень - 7 процента

    $to_referer2 = ($serebro * 0.04); // Второй уровень - 5 процента

    $to_referer3 = ($serebro * 0.02); // Третий уровень - 3 процент

    $db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer2 WHERE id = '$ref2'");

    $db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer3 WHERE id = '$ref3'");

    $db->Query("UPDATE db_users_a SET doxod2 = doxod2 + $to_referer2 WHERE id = '$user_id'");

    $db->Query("UPDATE db_users_a SET doxod3 = doxod3 + $to_referer3 WHERE id = '$user_id'");

    /* ====== /Рефералка 3 уровней ====== */

 

  

   # Зачисляем средства рефереру и дерево

 

   $db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer, from_referals = from_referals + '$to_referer'  WHERE id = '$refid'");

  

   $db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount' WHERE id = '{$user_id}'");

    # Уведомление

   $db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox, icon) VALUES ('$user_id', '$user_name', '1', 'Admin', 'Успешная транзакция', 'Payeer. Зачислено $serebro рублей!', '0', '$date', 1, 'fa fa-arrow-up')");     

 

   # Статистика пополнений

   $da = time();

   $dd = $da + 60*60*24*15;

   $db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)

   VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");

   # Конкурс инвесторов

$usname = $user_name;

$db->Query("INSERT INTO db_invcompetition_users (user, user_id, points) VALUES ('$usname','$user_id','0')");

$db->Query("SELECT * FROM db_invcompetition WHERE status = '0' LIMIT 1");

$invcomp = $db->FetchArray();

    

$db->Query("SELECT COUNT(*) FROM db_invcompetition_users WHERE user_id = '{$user_id}'");

$rett = $db->FetchArray();

  

if ($invcomp["date_add"] >= 0 AND $invcomp["date_end"] > $da){

$db->Query("UPDATE db_invcompetition_users SET points = points + '$ik_payment_amount' WHERE user_id = '$user_id'");

} else

$db->Query("UPDATE db_invcompetition_users SET points = points + '0' WHERE user_id = '$user_id'");

   # Конкурс рефералов

   $competition = new competition($db);

   $competition->UpdatePoints($user_id, $ik_payment_amount);

  

    # Обновление статистики сайта

    $db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");

    

    $db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".$order_id."'"); 

     echo $_POST['m_orderid'].'|success';

    exit;

    }

    echo $_POST['m_orderid'].'|error';

}

else{

    die('NO OPERATION ID OR SIGN');

}

?>

Вот как выглядит success:

PHP:
<?PHP
$_OPTIMIZATION["title"] = "Успешная транзакция!";
$_OPTIMIZATION["description"] = "Успех транзакции.";
$_OPTIMIZATION["keywords"] = "успех, транзакция, зачислено";
?>
                        <div class="row">
                            <div class="col-sm-12">
                                <h4 class="page-title">Статус транзакции</h4>
                                <p class="text-muted page-title-alt">Успешно</p>
                            </div>
                        </div>
<center>
                            <div class="col-lg-6">
                                <div class="panel panel-success">
                                    <div class="panel-body">
                                        <p class="text-success"><i class="fa fa-check fa-3x"></i></p>
                                        <p><span class="text-success">Успешная транзакция! Средства успешно зачислены!</span></p>
                                    </div>
                                </div>
                            </div>
</center>
 

Invictus

Местный
$db->Query("SELECT * FROM db_payeer_insert WHERE id = '".$order_id."'") or die('ERROR ORDER ID IN BASE');

if($db->NumRows() == 0){ echo $_POST['m_orderid'].'|error'; exit;}

$payeer_row = $db->FetchArray();

if($payeer_row['status'] > 0){ echo $_POST['m_orderid'].'|success'; exit;}

$db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");
 

Pluginshik

Участник
$db->Query("SELECT * FROM db_payeer_insert WHERE id = '".$order_id."'") or die('ERROR ORDER ID IN BASE');

if($db->NumRows() == 0){ echo $_POST['m_orderid'].'|error'; exit;}

$payeer_row = $db->FetchArray();

if($payeer_row['status'] > 0){ echo $_POST['m_orderid'].'|success'; exit;}

$db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");
Это тоже вставить?
 
Статус
Закрыто для дальнейших ответов.
Верх