index.php
//بارگذاری کلاس مربوط به انجام عملیات های پرداخت
require_once '../PecRequestClass.php';
$pecRequest = new PecRequestClass();
$res = false;
$success = false;
if(isset($_POST['callback'])){
$callback = $_POST['callback'];
}else{
$callback = 'localhost/mobilecharge/callback.php';
}
if ($_POST) {
if ($_POST['pin'] == '' || $_POST['orderId'] == '' || $_POST['callback'] == ''|| $_POST['Amount'] == '' || $_POST['RequesterMobileNumber'] == '' || $_POST['ChargeMobileNumber'] == '' || $_POST['TopupType'] == '' ) {
$pecRequest->errorMsg = 'لطفا اطلاعات درخواست شده را تکمیل نمایید.';
$res = $pecRequest->alertMsg();
}else{
// دریافت اطلاعات از فرم
$pecRequest->pin = $_POST['pin'];
$pecRequest->callbackUrl = $_POST['callback'];
$orderId = $_POST['orderId'];
$chargeMobileNumber = $_POST['ChargeMobileNumber'];
$requesterMobileNumber = $_POST['RequesterMobileNumber'];
$topupType = $_POST['TopupType'];
$amount = $_POST['Amount'];
$additionalData = $_POST['additionalData'];
$orginator = $_POST['orginator'];
// ارسال درخواست
$res = $pecRequest->chargeMobileService($orderId,$chargeMobileNumber,$requesterMobileNumber,$topupType,$amount,$additionalData,$orginator);
if ($res == false) {
$res = $pecRequest->alertMsg();
}
else{
$success = true;
}
}
}
PecRequestClass.php
// سرویس خرید شارژ موبایل
public function chargeMobileService($orderId,$chargeMobileNumber,$requesterMobileNumber,$topupType,$amount,$additionalData,$orginator){
$this->url = "https://pec.shaparak.ir/NewIPGServices/SimCharge/TopupChargeService.asmx?wsdl";
$this->orderId = $orderId;
$params = array (
"LoginAccount" => $this->pin,
"OrderId" => $orderId,
"ChargeMobileNumber" => $chargeMobileNumber,
"RequesterMobileNumber" => $requesterMobileNumber,
"TopupType" => $topupType,
"Amount" => $amount,
"CallBackUrl" => $this->callbackUrl,
"AdditionalData" => $additionalData,
"Originator" => $orginator,
);
// در این مرحله میتوانید اطلاعات قبل از ارسال را ذخیره سازی کنید.
$client = new SoapClient ( $this->url );
try {
$result = $client->TopupChargeRequest ( array (
"requestData" => $params
));
if ($result->TopupChargeRequestResult->Token && $result->TopupChargeRequestResult->Status === 0) {
// توکن دریافت شده را میتوانید در این مرحله به تراکنش مورد نظر مرتبط نموده و ذخیره سازی کنید.
// $token = $result->TopupChargeRequestResult->Token;
header ( "Location: https://pec.shaparak.ir/NewIPG/?Token=" . $result->TopupChargeRequestResult->Token ); /* Redirect browser */
exit ();
}
elseif ( $result->TopupChargeRequestResult->Status != '0') {
$err_msg = "( کد خطا : " . $result->TopupChargeRequestResult->Status . ") " .
$result->TopupChargeRequestResult->Message ;
$this->errorMsg = $err_msg;
return false;
}
} catch ( Exception $ex ) {
$this->errorMsg = $ex->getMessage();
}
}