Cpt.Price
June 3rd, 2013, 11:00
با سلام
دوستان ماژول درگاه بانک ملت برای هر پرداخت کاربر رو به اینوی ای دی 0 پس از پرداخت موفق و واریز مبلغ به حساب ما ردایرکت میکنه که در فایل Callback هست مشکل ، برای اطمینان اما فایل های دیگر نیز به حضور دوستان تقدیم میشه.
فایل ملت در پوشه کال بک
<?php
include("../../../dbconnect.php");include("../../../includes/functions.php");include("../../../includes/gatewayfunctions.php");include("../../../includes/invoicefunctions.php");include("../Mellat/config.php");require_once("../Mellat/lib/nusoap.php");
//curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //$page = curl_exec ($ch);
$client = new nusoap_client('https://pgwsf.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl'); $namespace='http://interfaces.core.sw.bps.com/';
$resId = $_POST['ResCode']; $orderId = $_POST['SaleOrderId']; $verifySaleOrderId = $_POST['SaleOrderId']; $verifySaleReferenceId = $_POST['SaleReferenceId']; $invoiceid = intval(substr($orderid,0,-3)) ;
// Check for an error $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; die(); }if($_POST['ResCode'] == '0'){$parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
// Call the SOAP method $result = $client->call('bpVerifyRequest', $parameters, $namespace); $VerifyAnswer = $result;
if($VerifyAnswer == '0'){$parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
// Call the SOAP method $result = $client->call('bpSettleRequest', $parameters, $namespace); $SetlleAnswer = $result; if ($SetlleAnswer == '0'){
$Pay_Status = 'OK'; }
}}else{ $Pay_Status = '';}
if ($VerifyAnswer <> '0' AND $VerifyAnswer != '' ){ $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
$result = $client->call('bpInquiryRequest', $parameters, $namespace); $InquiryAnswer = $result ; if ($InquiryAnswer == '0'){
$parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
// Call the SOAP method $result = $client->call('bpSettleRequest', $parameters, $namespace); $SetlleAnswer = $result;}else{ $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
// Call the SOAP method $result = $client->call('bpReversalRequest', $parameters, $namespace);}}
$action=$SystemURL."viewinvoice.php?id="."$invoiceid" ;$gatewaymodule = "Mellat";$GATEWAY = getGatewayVariables($gatewaymodule);if (!$GATEWAY["type"]) die("Module Not Activated");
if ($Pay_Status == 'OK' ){ # Save to Gateway Log: name, data array, status addInvoicePayment($invoiceid,$verifySaleReferenceI d,$amount,$fee,$gatewaymodule); # Apply Payment to Invoice: invoiceid, transactionid, amount paid, fees, modulename logTransaction($GATEWAY["name"],$_POST,"Successful"); echo " <script>window.location ='".$action."'</script>"; }else{ # Unsuccessful logTransaction($GATEWAY["name"],$_POST,"Unsuccessful"); # Save to Gateway Log: name, data array, status
echo " <script>window.location ='".$action."'</script>";
}
فایل Pay در پوشه ملت
<?include("../../../dbconnect.php");?><html><head>
<script language="javascript" type="text/javascript"> function postRefId (refIdValue) { var form = document.createElement("form"); form.setAttribute("method", "POST"); form.setAttribute("action", "https://pgw.bpm.bankmellat.ir/pgwchannel/startpay.mellat"); form.setAttribute("target", "_self"); var hiddenField = document.createElement("input"); hiddenField.setAttribute("name", "RefId"); hiddenField.setAttribute("value", refIdValue); form.appendChild(hiddenField);
document.body.appendChild(form); form.submit(); document.body.removeChild(form); }
</script></head>
<body></body></html><?php
require_once("lib/nusoap.php"); include("config.php");
$client = new nusoap_client('https://pgwsf.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl'); $namespace='http://interfaces.core.sw.bps.com/';
$invoideid = $_POST['ResNum']; $invoideid=intval($invoideid); $dbinvoice = mysql_fetch_object(mysql_query("SELECT tblinvoices.total AS amount,tblcurrencies.code AS currency FROM tblinvoices LEFT JOIN tblclients ON tblinvoices.userid=tblclients.id LEFT JOIN tblcurrencies ON tblclients.currency=tblcurrencies.id WHERE tblinvoices.id='$invoideid'")); $amount=str_replace('.00','',$dbinvoice->amount);if ($dbinvoice->currency == 'ریال'){ //nothing $amount=intval($amount);}else{ $amount = intval($amount)*10;}
$orderId = $_POST['ResNum'].rand(100,999); $localDate = date('Ynd'); $localTime = date('His'); $callBackUrl = $_POST['SysURL']."/modules/gateways/callback/Mellat.php"; $additionalData = "" ; $payerId = "0"; $userName ; $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'amount' => $amount, 'localDate' => $localDate, 'localTime' => $localTime, 'additionalData' => $additionalData, 'callBackUrl' => $callBackUrl, 'payerId' => $payerId);
$result = $client->call('bpPayRequest', $parameters, $namespace);
$resultStr = $result;
$res = explode (',',$resultStr); $ResCode = $res[0]; $res[1]; if ($ResCode == "0") { echo 'درحال ورود به سایت بانک ملت ... '; echo "<script language='javascript' type='text/javascript'>postRefId('" . $res[1] . "');</script>"; } else { echo "<script>alert('امکان اتصال وجود ندارد ، لطفاً دوباره تلاش کنید.');</script>"; echo " <script>window.location ='".$_POST['SysURL']."/viewinvoice.php?id=$invoideid" ."'</script>";
}
?>
صمیمانه تشکر میشه در راهنمایی و رفع مشکل.
دوستان ماژول درگاه بانک ملت برای هر پرداخت کاربر رو به اینوی ای دی 0 پس از پرداخت موفق و واریز مبلغ به حساب ما ردایرکت میکنه که در فایل Callback هست مشکل ، برای اطمینان اما فایل های دیگر نیز به حضور دوستان تقدیم میشه.
فایل ملت در پوشه کال بک
<?php
include("../../../dbconnect.php");include("../../../includes/functions.php");include("../../../includes/gatewayfunctions.php");include("../../../includes/invoicefunctions.php");include("../Mellat/config.php");require_once("../Mellat/lib/nusoap.php");
//curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //$page = curl_exec ($ch);
$client = new nusoap_client('https://pgwsf.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl'); $namespace='http://interfaces.core.sw.bps.com/';
$resId = $_POST['ResCode']; $orderId = $_POST['SaleOrderId']; $verifySaleOrderId = $_POST['SaleOrderId']; $verifySaleReferenceId = $_POST['SaleReferenceId']; $invoiceid = intval(substr($orderid,0,-3)) ;
// Check for an error $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre>' . $err . '</pre>'; die(); }if($_POST['ResCode'] == '0'){$parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
// Call the SOAP method $result = $client->call('bpVerifyRequest', $parameters, $namespace); $VerifyAnswer = $result;
if($VerifyAnswer == '0'){$parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
// Call the SOAP method $result = $client->call('bpSettleRequest', $parameters, $namespace); $SetlleAnswer = $result; if ($SetlleAnswer == '0'){
$Pay_Status = 'OK'; }
}}else{ $Pay_Status = '';}
if ($VerifyAnswer <> '0' AND $VerifyAnswer != '' ){ $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
$result = $client->call('bpInquiryRequest', $parameters, $namespace); $InquiryAnswer = $result ; if ($InquiryAnswer == '0'){
$parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
// Call the SOAP method $result = $client->call('bpSettleRequest', $parameters, $namespace); $SetlleAnswer = $result;}else{ $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'saleOrderId' => $verifySaleOrderId, 'saleReferenceId' => $verifySaleReferenceId);
// Call the SOAP method $result = $client->call('bpReversalRequest', $parameters, $namespace);}}
$action=$SystemURL."viewinvoice.php?id="."$invoiceid" ;$gatewaymodule = "Mellat";$GATEWAY = getGatewayVariables($gatewaymodule);if (!$GATEWAY["type"]) die("Module Not Activated");
if ($Pay_Status == 'OK' ){ # Save to Gateway Log: name, data array, status addInvoicePayment($invoiceid,$verifySaleReferenceI d,$amount,$fee,$gatewaymodule); # Apply Payment to Invoice: invoiceid, transactionid, amount paid, fees, modulename logTransaction($GATEWAY["name"],$_POST,"Successful"); echo " <script>window.location ='".$action."'</script>"; }else{ # Unsuccessful logTransaction($GATEWAY["name"],$_POST,"Unsuccessful"); # Save to Gateway Log: name, data array, status
echo " <script>window.location ='".$action."'</script>";
}
فایل Pay در پوشه ملت
<?include("../../../dbconnect.php");?><html><head>
<script language="javascript" type="text/javascript"> function postRefId (refIdValue) { var form = document.createElement("form"); form.setAttribute("method", "POST"); form.setAttribute("action", "https://pgw.bpm.bankmellat.ir/pgwchannel/startpay.mellat"); form.setAttribute("target", "_self"); var hiddenField = document.createElement("input"); hiddenField.setAttribute("name", "RefId"); hiddenField.setAttribute("value", refIdValue); form.appendChild(hiddenField);
document.body.appendChild(form); form.submit(); document.body.removeChild(form); }
</script></head>
<body></body></html><?php
require_once("lib/nusoap.php"); include("config.php");
$client = new nusoap_client('https://pgwsf.bpm.bankmellat.ir/pgwchannel/services/pgw?wsdl'); $namespace='http://interfaces.core.sw.bps.com/';
$invoideid = $_POST['ResNum']; $invoideid=intval($invoideid); $dbinvoice = mysql_fetch_object(mysql_query("SELECT tblinvoices.total AS amount,tblcurrencies.code AS currency FROM tblinvoices LEFT JOIN tblclients ON tblinvoices.userid=tblclients.id LEFT JOIN tblcurrencies ON tblclients.currency=tblcurrencies.id WHERE tblinvoices.id='$invoideid'")); $amount=str_replace('.00','',$dbinvoice->amount);if ($dbinvoice->currency == 'ریال'){ //nothing $amount=intval($amount);}else{ $amount = intval($amount)*10;}
$orderId = $_POST['ResNum'].rand(100,999); $localDate = date('Ynd'); $localTime = date('His'); $callBackUrl = $_POST['SysURL']."/modules/gateways/callback/Mellat.php"; $additionalData = "" ; $payerId = "0"; $userName ; $parameters = array( 'terminalId' => $terminalId, 'userName' => $userName, 'userPassword' => $userPassword, 'orderId' => $orderId, 'amount' => $amount, 'localDate' => $localDate, 'localTime' => $localTime, 'additionalData' => $additionalData, 'callBackUrl' => $callBackUrl, 'payerId' => $payerId);
$result = $client->call('bpPayRequest', $parameters, $namespace);
$resultStr = $result;
$res = explode (',',$resultStr); $ResCode = $res[0]; $res[1]; if ($ResCode == "0") { echo 'درحال ورود به سایت بانک ملت ... '; echo "<script language='javascript' type='text/javascript'>postRefId('" . $res[1] . "');</script>"; } else { echo "<script>alert('امکان اتصال وجود ندارد ، لطفاً دوباره تلاش کنید.');</script>"; echo " <script>window.location ='".$_POST['SysURL']."/viewinvoice.php?id=$invoideid" ."'</script>";
}
?>
صمیمانه تشکر میشه در راهنمایی و رفع مشکل.