سلام
بنده یک اسکریپت دارم که قسمت پرداخت کاربران که میخواهند حساب کاربریشون رو شارژ کنند مبلغ از حساب بانکی کاربر کسر میشود و با موفقیت انجام میشه از سایت درگاه واسط به سایت ما میاد و افزایش موجودی تو پنل کاربر انجام میشه بدون مورد ، ولی ممتاسفانه در بخش مدیریت آن در بخش مربوطه همان تراکنش را ناموفق نشون میده ، میخواستم بدونم چجوری میشه این مورد را رفع کرد و وضعیت هر تراکنش موفق و ناموفق را نشون بده .
محتوای فایل مدیریت مربوطه را در ادامه ارسال کردم:
در ضمن در درگاه واسط تراکنش مربوطه با موفقیت انجام شده و کد بانک دریافت شده .

کد PHP:
<?php
    
class CashierController extends FrontController    {                public function __construct()        {            parent::__construct();            if(empty($_SESSION['user'])){                $this->_call($this->config['site_url'] . 'index/login');                exit();            }        }                public function indexAction()        {            Loader::loadClass('Cashier');                        $error = array();            $flag '';            $_SESSION['user']['user_balance'] = Cashier::getBalance();            $param $this->getParam('index''');            if($param == 'trxOk'){                $flag 'success';                $error[] = $this->lang['trx_ok2'];                $_SESSION['user']['user_balance'] = Cashier::getBalance();            }                        if(isset($_SESSION['error'])){                $error $_SESSION['error'];                $flag 'error';                unset($_SESSION['error']);            }                        $currency_symbol Cashier::getSiteSetting('currency_symbol');
            
loader::loadClass('Sports');            
            
$this->smarty->assign('currency_symbol'$currency_symbol);            $this->smarty->assign('user'$_SESSION['user']);            $this->smarty->assign('c_menu''cashier');            $this->smarty->assign('flag'$flag);            $this->smarty->assign('error'$error);            $this->smarty->display('index.tpl.html');        }                public function depositAction()        {
            
Loader::loadClass('Cashier');$_SESSION['user']['user_balance'] = Cashier::getBalance();            $currency_symbol Cashier::getSiteSetting('currency_symbol');            $deposit_bonus Cashier::getSiteSetting('deposit_bonus');            loader::loadClass('Cashier');            loader::loadClass('Crypt');            $pay_params Cashier::getPayments();            foreach($pay_params as $k => $v){                $payments[$v['payment_name']] =$v;            }            unset($pay_params);            loader::loadClass('Sports');                        $this->smarty->assign('payments'$payments);            Loader::loadClass('Front');                      
            
$this->smarty->assign('currency_symbol'$currency_symbol);            $this->smarty->assign('deposit_bonus'$deposit_bonus);            $this->smarty->assign('user'$_SESSION['user']);            $this->smarty->assign('c_menu''cashier');            $this->smarty->display('cashier/deposit.tpl.html');        }                                                                                                                        public function okpaysAction()        {    Loader::loadClass('Cashier');        Loader::loadClass('Front');         $au $_POST["transid"];$order_id $au;$ss $this->db->fetchall("SELECT * FROM payment_transactions WHERE trx_outer_id='$au' ORDER BY trx_id DESC LIMIT 1");foreach($ss as $v){$money $v['trx_amount'];$karbar $v['trx_user_id'];$trx_result $v['trx_result'];}$price $money


$pin "080D3E920ADE8E62D79A"// api pin ra vared konid



$url 'http://panel.shaparakpay.com/api/verify/'// don't change$fields = array(    'amount' => $price,    'pin' => urlencode($pin),    'transid' => $au,);$fields_string = "";foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }rtrim($fields_string, '&');$ch = curl_init();curl_setopt($ch,CURLOPT_URL, $url);curl_setopt($ch,CURLOPT_POST, count($fields));curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$result = curl_exec($ch);curl_close($ch);
if($result == "1"){    if($money 199999){            $deposit_bonus Cashier::getSiteSetting('deposit_bonus');            $taghsim $deposit_bonus 100;            $zarb $money $taghsim;            $mablagh $money $zarb;        } else {            $mablagh $money;        }        if($trx_result == 'fail'){    $this->db->query("UPDATE users SET user_balance=user_balance+$mablagh WHERE user_id=$karbar");        $this->db->query("UPDATE payment_transactions SET trx_result='success' WHERE trx_outer_id=$order_id");                }    $_SESSION['user']['user_balance'] = Cashier::getBalance();    $error = array();    $error[] = "پرداخت موفقیت آمیز بوده است .";    $error[] = "  مبلغ  "  $mablagh  "  تومان به حساب کاربری شما اضافه شد .  ";    if($money 199999){ $error[] = " پاداش واریز شما به مبلغ  " $zarb "  تومان به حساب کاربریتان اضافه شد  "; }    $flag'success';    $this->smarty->assign('flag'$flag);    $this->smarty->assign('error'$error);    $this->smarty->assign('user'$_SESSION['user']);    $this->smarty->assign('c_menu''cashier');    $this->smarty->display('cashier/deposit.tpl.html');} else {        $_SESSION['user']['user_balance'] = Cashier::getBalance();    $error = array();        $flag'warning';    $this->smarty->assign('flag'$flag);        $error[] = "خطایی رخ داد : شماره خطا " $result;    $this->smarty->assign('error'$error);    $this->smarty->assign('user'$_SESSION['user']);    $this->smarty->assign('c_menu''cashier');    $this->smarty->display('cashier/deposit.tpl.html');}                                
                }        
                                                                                                                                                                                                public function 
depositPaymentAction()        {            Loader::loadClass('Cashier');                        Loader::loadClass('Front');                         $amount $_POST['deposit_amount'];            if($amount == 0){
$error = array();        $error[] = "مبلغ را وارد کنید";$this->smarty->assign('error'$error);    $this->smarty->display('cashier/deposit.tpl.html');                exit();            }
if(
$_POST['submit']){    $ss $this->db->fetchall("SELECT * FROM payment_transactions ORDER BY trx_id DESC LIMIT 1");foreach($ss as $v){ $vv $v['trx_id'];}$orderid = ($vv 1);


$pin "080D3E920ADE8E62D79A"// api pin ra vared konid



$callback $this->config['site_url'].'cashier/okpays/';$description $orderid;    $url 'http://panel.shaparakpay.com/api/create/'// don't change     $fields = array(        'amount' => $amount,        'pin' => urlencode($pin),        'description' => urlencode($description),        'callback' => $callback,    );    $fields_string = "";    foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }    rtrim($fields_string, '&');    $ch = curl_init();    curl_setopt($ch,CURLOPT_URL, $url);    curl_setopt($ch,CURLOPT_POST, count($fields));    curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    $result = curl_exec($ch);    curl_close($ch);

    
if(is_numeric($result)){    $error = array();        $error[] = "خطایی رخ داد : شماره خطا " $result;    $this->smarty->assign('error'$error);    $this->smarty->display('cashier/deposit.tpl.html');    } else {        echo $result;        $trx = array(                'trx_user_id' => (int) $_SESSION['user']['user_id'],                'trx_amount' => $amount,                'trx_date' => jdate('Y-m-d H:i:s'),                'trx_result' => 'success',                'trx_method' => '1',                'trx_type' => 'deposit',                'trx_outer_id' => $result,                'trx_bonus' => $result            );            $this->db->insert('payment_transactions'$trx);        header('Location: http://panel.shaparakpay.com/startpay/'.$result);    }}                    }                                                                                                                                                        public function withdrawAction()        {            loader::loadClass('Sports');                       Loader::loadClass('Front');                               Loader::loadClass('Cashier');            $_SESSION['user']['user_balance'] = Cashier::getBalance();            $currency_symbol Cashier::getSiteSetting('currency_symbol');            $min_withdraw_amount Cashier::getSiteSetting('min_withdraw_amount');                        if(isset($_POST['withdraw_amount'])){                Loader::loadClass('Filter');                                $user_balance Cashier::getBalance();                                $error = array();                $amount floatval($_POST['withdraw_amount']);
                if(
$amount $min_withdraw_amount){                    $error[] = $this->lang['min_withdraw_amount'];                }                if($amount $user_balance){                    $error[] = $this->lang['mb_withdraw_insufficient'];                }                $email Filter::clear($_POST['email']);                $email2 Filter::clear($_POST['email2']);                                                if(empty($error)){                    Loader::loadClass('Moneybookers');                    Loader::loadClass('Crypt');                                        // currency setting                    $site_currency = Cashier::getSiteSetting('site_currency');                                        // payment method params                    $pay_params = Cashier::getPaymentParams('moneybookers');                    foreach($pay_params as $k => $v){                        $pay_params[$v['param_name']] = Crypt::decrypt($v['param_value']);                    }                    $idd = (int) $_SESSION['user']['user_id'];                    // payment transaction                    $payment_transaction = array(                        'trx_user_id' => (int) $_SESSION['user']['user_id'],                        'trx_amount' => $amount,                        'trx_date' => jdate('Y-m-d H:i:s'),                        'trx_result' => 'waiting',                        'trx_method' => 3,                        'trx_type' => 'withdraw',                        'trx_comment' => $email.'/'.$email2                    );                    $this->db->insert('payment_transactions', $payment_transaction);                    $trx_id = $this->db->lastInsertId();                    $this->db->update('users', $trx, "trx_id='$trx_id'");                    $this->db->query("UPDATE users SET user_balance=user_balance-$amount WHERE user_id=$idd LIMIT 1");;                    $this->_call($this->config['site_url'] . 'cashier/index/trxOk');
                                
} else {                    $this->smarty->assign('flag''error');                }            }                        $this->smarty->assign('error'$error);            $this->smarty->assign('currency_symbol'$currency_symbol);            $this->smarty->assign('min_withdraw_amount'$min_withdraw_amount);            $this->smarty->assign('user'$_SESSION['user']);            $this->smarty->assign('c_menu''p_bardasht');            $this->smarty->display('cashier/withdraw.tpl.html');        }                public function historyAction()        {
            
loader::loadClass('Sports');            Loader::loadClass('Front');            Loader::loadClass('Cashier');                        Loader::loadClass("Pager");

                        
$page = (int)$this->getParam("page"1);            $show = (int)$this->getParam("show"20);
            
$url "cashier/history/show/$show/page/";                        $user_id intval($_SESSION['user']['user_id']);                        $data_count $this->db->fetchOne("SELECT COUNT(*) FROM payment_transactions WHERE trx_user_id='$user_id'");            $pager = new Pager($page$data_count);             $pager->setItemsPerPage($show);            $pages_num $pager->getPages();            $pages_text $pager->getPagesAdditional();            $limit $pager->getLimit();            $page $pager->getCurrentPage();
            
$log Cashier::getTrxHistory('',$limit['from'],$show); 
            if(
$data_count $show)$this->smarty->assign("paging_on""yes");            $this->smarty->assign("page"$page);            $this->smarty->assign("show"$show);            $this->smarty->assign("url"$url);            $this->smarty->assign("pages_num"$pages_num);            $this->smarty->assign("pages_text"$pages_text);
                        
$_SESSION['user']['user_balance'] = Cashier::getBalance();            $currency_symbol Cashier::getSiteSetting('currency_symbol');            $this->smarty->assign('currency_symbol'$currency_symbol);            $this->smarty->assign('history'$log);            $this->smarty->assign('user'$_SESSION['user']);            $this->smarty->assign('c_menu''p_listvarizi');            $this->smarty->display('cashier/history.tpl.html');        }






public function 
backmoneyAction()        {             loader::loadClass('Sports');                        Loader::loadClass('Front');          
            
$this->smarty->assign('currency_symbol'$currency_symbol);            $this->smarty->assign('user'$_SESSION['user']);            if (strtolower($_SERVER['REQUEST_METHOD']) == "post") {$id = (int) $_SESSION['user']['user_id'];
$method $this->db->fetchall("SELECT * FROM payment_transactions WHERE trx_result='waiting' AND trx_user_id=$id AND trx_type='withdraw' order by trx_id desc LIMIT 1");
$error = array();if(empty($method)){$error[] = "شما درخواستی برای واریز به حساب بانکی ثبت نکرده اید";}if(empty($error)){foreach($method as $v){$amount $v['trx_amount'];$trxuserid $v[trx_user_id];$this->db->query("UPDATE users SET user_balance=user_balance+$amount WHERE user_id=$trxuserid");
$idd $v[trx_id];$dataa = array('trx_result' => 'cancelled','trx_comment' => 'کنسل شده توسط کاربر',);$this->db->update('payment_transactions'$dataa"trx_id='$idd'");$flag                             'success';$error[] = "برگشت اخرین درخواست واریزی به حساب کاربری شما با موفقیت انجام شد.";
                      }
} }
$this->smarty->assign('flag'$flag);$this->smarty->assign('error'$error);$this->smarty->assign('c_menu''p_backmoney');$this->smarty->display('cashier/back_win.tpl.html');}





        }    
?>