سلام دوستان ميشه تنظيم دقيق ماژول تكپ رداخت بگيد من انجام دادم در هاست آپلود كردم تو قسمت مديريت نرم افزار خودم كد پذيرنده زدمولي انجام نمي شه

<?
/*
takpardakht
http://www.takpardakht.com
*/

//-- اطلاعات کلی پلاگین
$pluginData[takpardakht][type] = 'payment';
$pluginData[takpardakht][name] = 'تک پرداخت';
$pluginData[takpardakht][uniq] = 'takpardakht';
$pluginData[takpardakht][description] =
'مخصوص پرداخت با دروازه پرداخت <a href="http://takpardakht.com">تک پرداخت </a><a href="http://www.takpardakht.com"></a>';
$pluginData[takpardakht][author][name] = 'Freer';
$pluginData[takpardakht][author][url] = 'http://www.takpardakht.com';
$pluginData[takpardakht][author][email] = 'info@takpardakht.com';
//-- فیلدهای تنظیمات پلاگین
$pluginData[takpardakht][field][config][1][title] = '(saied_@yahoo.com)';
$pluginData[takpardakht][field][config][1][name] = 'merchant';
$pluginData[takpardakht][field][config][2][title] = (1)';
$pluginData[takpardakht][field][config][2][name] = 'direct';
$pluginData[takpardakht][field][config][3][title] = '(0)';
$pluginData[takpardakht][field][config][3][name] = 'coms';
$pluginData[takpardakht][field][config][4][title] = '(كي شارژ)';
$pluginData[takpardakht][field][config][4][name] = 'pazirandename';
$pluginData[takpardakht][field][config][5][title] = 'فرشگاه اينترنتي كي شارژ';
$pluginData[takpardakht][field][config][5][name] = 'desc';
//-- تابع انتقال به دروازه پرداخت
function gateway__takpardakht($data)
{
global $config,$db,$smarty;
$merchantCode = trim($data[merchant]);
$invoiceNumber = trim($data[invoice_id]);
$amount = $data[amount];
$redirectAddress = $data[callback];
$sql = "SELECT * FROM `payment` WHERE `payment_rand` = '$invoiceNumber' LIMIT 1;";
$payment = $db->fetch($sql);
$email = $payment[payment_email];
//
include_once ('include/nusoap.php');
$client = new nusoap_client('https://takpardakht.com/ws/ws.php?wsdl', 'wsdl');
$soap***** = $client->get*****();
$amountType =0; if($data[coms] == '1') $amountType =1;
$payType = 0; if($data[direct] == '1') $payType = 1;

$err = $soap*****->getError();
$flag = true;
if ( !$err ) {
$res = $soap*****->pay($merchantCode, $invoiceNumber, $amount, $redirectAddress,
$email, urlencode($data[desc]), $payType, urlencode($data[pazirandename]), $amountType);
if ($res['paymentID'] > 0) {

$paymentID = $res['paymentID'];
$actionURL = $res['actionUrl'];
$smarty->assign('data', $data);
$smarty->assign('actionURL', $actionURL);
$smarty->assign('paymentID',$paymentID );
$smarty->display('takpardakht.tpl');
}else {
$flag = false;
}
}else
{ $flag = false;

}
if($flag == false)
{
$data[title] = 'خطای سیستم';
$data[message] = '<font color="red">خطا</font>'.$res.'<br /><a href="index.php" class="button">بازگشت</a>';
$query = 'SELECT * FROM `config` WHERE `config_id` = "1" LIMIT 1';
$conf = $db->fetch($query);
$smarty->assign('config', $conf);
$smarty->assign('data', $data);
$smarty->display('message.tpl');
}
}
//-- تابع بررسی وضعیت پرداخت
function callback__takpardakht($data)
{
global $db, $get;
include_once ('include/nusoap.php');
$invoiceNumber = $_POST['invoiceNumber'];
$paymentID = $_POST['paymentID'];
$merchantCode = trim($data[merchant]);
$amountType =0; if($data[coms] == '1') $amountType =1;
$payType = 0; if($data[direct] == '1') $payType = 1;
$sql = "SELECT * FROM `payment` WHERE `payment_rand` = '$invoiceNumber' LIMIT 1;";
$payment = $db->fetch($sql);
$amount = $payment[payment_amount];
$client = new nusoap_client('https://takpardakht.com/ws/ws.php?wsdl', 'wsdl');
$soap***** = $client->get*****();
$err = $soap*****->getError();
if (!$err) {
// ($paymentID, $merchantID, $invoiceNumber, $amount)
$res = $soap*****->verify($paymentID, $merchantCode, $invoiceNumber, $amount,$payType,$amountType);
$ref_id = $res['refID'];
if ($res['done'] == true) {
//pay OK
$output[status] = 1;
$output[ref_num] = $ref_id;
$output[payment_id] = $payment[payment_id];
} else {
$output[status] = 0;
}
return $output;
}
}
به نظر شما جايش نقص داره