PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : عدم کار کردن صحییح پلاگین



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


<?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');}





} ?>