همه ی موارد چک شده
مورد آخر هم ، وبسرور LiteSpeed هستش ...
- - - Updated - - -
امین جان ، 100% برای امنیت یکسری فانکشن ها بسته شده
به نظرت چه فانکشنیه که مشکل ایجاد کرده بسته بودنش؟
نمایش نسخه قابل چاپ
والا توی مرورگر مینویسه 500 server error
اینم کد
کد PHP:
<?php/** * Plugin Name: Sibapal Payment Module For Whmcs * Plugin URI: http://omidtak.ir * Version: 1.0 * Author: Omid Aran * Author Email: info[at]omidtak[dot]ir */ session_start();
$amount=strtok($_POST['amount'],'.');if($_POST['currencies']=='Rial') $amount = $amount/10; $callback = $_POST['systemurl'].'/modules/gateways/callback/smn.php?invoiceid='.$_POST['invoiceid'].'&amount='.$amount; $_SESSION['invoice'][$_POST['invoiceid']] = $amount;
function request_smn($pin='',$amount='',$callback='',$order_id=0){ $params = array( 'pin'=>$pin , 'amount'=>$amount , 'callback'=>urlencode($callback) , 'order_id'=> (int) $order_id , ); $params = json_encode($params); $do = curl_init(); curl_setopt($do,CURLOPT_URL,"https://sibapal.com/Eserviceapi/request?params={$params}"); curl_setopt($do, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($do,CURLOPT_RETURNTRANSFER,1); curl_setopt($do, CURLOPT_CONNECTTIMEOUT, 20); $response = curl_exec($do); curl_close($do); return json_decode($response,true);}
$res = request_smn($_POST['pin'],$amount,$callback,$_POST['invoiceid']);
if(empty($res)) echo '<meta charset=utf-8><div align="center"><pre><font size="4px">خطایی رخ داده است <br /> شرح خطا : </font><font color="red" size="4px">خطا در اتصال به سرور !</font></pre></div>';else if($res['result'] == 1){ $au = $res['au']; $_SESSION['smn'][$_POST['invoiceid']] = array( 'au'=>$au , 'amount'=>$amount , ); echo "<div style='display:none'>{$res['form']}</div><script language='javascript'>document.siba.submit(); </script>"; exit;} else die('<meta charset=utf-8><div align="center"><pre><font size="4px">خطایی رخ داده است <br /> شرح خطا : </font><font color="red" size="4px">'.urldecode($res['msg']).'</font></pre></div>');?>
سلام
فانکشن url decode بسته شده ؟
لیست فانکشن ها رو دهید تا بررسی کنم
تست کنیدکد:<?php
session_start();
$amount=strtok($_POST['amount'],'.');if($_POST['currencies']=='Rial') $amount = $amount/10; $callback = $_POST['systemurl'].'/modules/gateways/callback/smn.php?invoiceid='.$_POST['invoiceid'].'&amount='.$amount; $_SESSION['invoice'][$_POST['invoiceid']] = $amount;
function request_smn($pin='',$amount='',$callback='',$order_id=0){ $params = array( 'pin'=>$pin , 'amount'=>$amount , 'callback'=>urlencode($callback) , 'order_id'=> (int) $order_id , ); $params = json_encode($params); $do = curl_init(); curl_setopt($do,CURLOPT_URL,"https://sibapal.com/Eserviceapi/request?params={$params}"); curl_setopt($do, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($do,CURLOPT_RETURNTRANSFER,1); curl_setopt($do, CURLOPT_CONNECTTIMEOUT, 20); $response = curl_exec($do); curl_close($do); return json_decode($response,true);}
$res = request_smn($_POST['pin'],$amount,$callback,$_POST['invoiceid']);
if(empty($res)) echo '<meta charset=utf-8><div align="center"><pre><font size="4px">خطایی رخ داده است <br /> شرح خطا : </font><font color="red" size="4px">خطا در اتصال به سرور !</font></pre></div>';else if($res['result'] == 1){ $au = $res['au']; $_SESSION['smn'][$_POST['invoiceid']] = array( 'au'=>$au , 'amount'=>$amount , ); echo "<div style='display:none'>{$res['form']}</div><script language='javascript'>document.siba.submit(); </script>"; exit;} else die('Err');?>
ببخشید ، این کد callback هست که ارور میده
کد PHP:
<?php/** * Plugin Name: Sibapal Payment Module For Whmcs * Plugin URI: http://omidtak.ir * Version: 1.0 * Author: Omid Aran * Author Email: info[at]omidtak[dot]ir */ session_start();
include('../../../dbconnect.php');include('../../../includes/functions.php');include('../../../includes/gatewayfunctions.php');include('../../../includes/invoicefunctions.php'); function verify_smn($pin='',$amount='',$au='',$order_id=0,$bank_return=array()){ $params = array( 'pin'=>$pin , 'amount'=>$amount , 'au'=>$au , 'order_id'=> (int) $order_id , 'bank_return'=> ! empty($bank_return)?$bank_return:($_POST+$_GET) , ); $params['bank_return'] = base64_encode(json_encode($params['bank_return'])); $params = json_encode($params); $do = curl_init(); curl_setopt($do,CURLOPT_URL,"https://sibapal.com/Eserviceapi/verify?params={$params}"); curl_setopt($do, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($do,CURLOPT_RETURNTRANSFER,1); curl_setopt($do, CURLOPT_CONNECTTIMEOUT, 20); $response = curl_exec($do); curl_close($do); return json_decode($response,true);}
$gatewaymodule = 'smn';
$GATEWAY = getGatewayVariables($gatewaymodule);if (!$GATEWAY['type']) die('Module Not Activated'); $invoiceid = $_GET['invoiceid'];$data = $_SESSION['smn'][$invoiceid];$amount = $data['amount'];$transid = $data['au']; if(empty($data['amount'])) die('error');
$invoiceid = checkCbInvoiceID($invoiceid,$GATEWAY['name']);
checkCbTransID($transid); $price = $amount; $bank_return = $_POST + $_GET; $res = verify_smn($GATEWAY['pin'],$amount,$transid,$invoiceid,$bank_return); if($GATEWAY['Currencies']=='Rial') $amount = $amount*10; if (!empty($res) and $res['result']==1){ addInvoicePayment($invoiceid,$res['bank_au'],$amount,0,$gatewaymodule); logTransaction($GATEWAY['name'],$_POST,'Successful'); } else logTransaction($GATEWAY['name'],$_POST,'Unsuccessful');
$url = $CONFIG['SystemURL'].'/viewinvoice.php?id='.$invoiceid;die("<script>window.location='$url';</script>");// or header('Location: '.$url); ?>
تنها راهی که الان شما میتونی مشکل رو پیدا کنید آزمون خطاست. تا جای متد getGatewayVariables برید بعدش die('e'); قرار بدید بعد چک کنید بازم ارور داره یا نه همینطور پیش برید تا لاینی که مشکل داره رو پیدا کنید.
کامنت اول خط هم پاک کنید در php بالا 5.4 گیر میده.
با سلام
با اجازه از جناب مهندس حسینی
فکر نکنم از هاست وسرور باشه چون ما هم از ایشون سرویس داریم ودرگاه مشکل نداره در whmcs