ویرایش توسط T.Toosi : March 1st, 2016 در ساعت 20:18
والا توی مرورگر مینویسه 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 گیر میده.
ویرایش توسط T.Toosi : March 1st, 2016 در ساعت 21:48
با سلام
با اجازه از جناب مهندس حسینی
فکر نکنم از هاست وسرور باشه چون ما هم از ایشون سرویس داریم ودرگاه مشکل نداره در whmcs
ویرایش توسط yashil7437 : March 1st, 2016 در ساعت 22:00
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)