راهنمای سرویس پرداخت قبوض

1

ارسال درخواست پراخت قبض

دانلود داکیومنت ها
نمیتواند خالی باشد
نمیتواند خالی باشد
نمیتواند خالی باشد
نمیتواند خالی باشد
نمیتواند خالی باشد
غیر ضروری
غیر ضروری

index.php

        //بارگذاری کلاس مربوط به انجام عملیات های پرداخت
        require_once '../PecRequestClass.php';

$pecRequest = new PecRequestClass();
$res = false;
$success = false;
if(isset($_POST['callback'])){
    $callback = $_POST['callback'];
}else{
    $callback = 'http://localhost/billpayment/callback.php';
}
if ($_POST) {
    if ($_POST['pin'] == '' || $_POST['orderId'] == '' || $_POST['BillId'] == '' || $_POST['PayId'] == '' || $_POST['callback'] == '') {
        $pecRequest->errorMsg = 'لطفا اطلاعات درخواست شده را تکمیل نمایید.';
        $res = $pecRequest->alertMsg();
    }else{
        // دریافت اطلاعات از فرم
        $pecRequest->pin = $_POST['pin'];
        $pecRequest->callbackUrl = $_POST['callback'];
        $orderId = $_POST['orderId'];
        $billId = $_POST['BillId'];
        $payId = $_POST['PayId'];
        $additionalData = $_POST['additionalData'];
        $orginator = $_POST['orginator'];
        
        // ارسال درخواست
        $res = $pecRequest->payBillRequest($orderId,$billId,$payId,$additionalData,$orginator); 
        if ($res == false) {
				$res = $pecRequest->alertMsg();
        }
        else{
            $success = true;
        }
    }
    
}
                        

PecRequestClass.php

// سرویس پرداخت قبض
    public function payBillRequest($orderId,$billId,$payId,$additionalData="",$orginator=""){
        $this->url = "https://pec.shaparak.ir/NewIPGServices/Bill/BillService.asmx?wsdl";
        $this->orderId = $orderId;
        $params = array (
			"LoginAccount" => $this->pin,
			"BillId" => $billId,
            "PayId" => $payId,
			"OrderId" => $orderId,
            "Amount" => '',
			"CallBackUrl" => $this->callbackUrl,
            "AdditionalData" => $additionalData,
            "Originator" => $orginator, 
	    );

        // در این مرحله میتوانید اطلاعات قبل از ارسال را ذخیره سازی کنید.

        $client = new SoapClient ( $this->url );
        try {
            $result = $client->BillPaymentRequest ( array (
                    "requestData" => $params 
            ));
            if ($result->BillPaymentRequestResult->Token && $result->BillPaymentRequestResult->Status === 0) {
                // توکن دریافت شده را میتوانید در این مرحله به تراکنش مورد نظر مرتبط نموده و ذخیره سازی کنید.
                // $token = $result->BillPaymentRequestResult->Token;
                header ( "Location: https://pec.shaparak.ir/NewIPG/?Token=" . $result->BillPaymentRequestResult->Token ); /* Redirect browser */
                exit ();
            }
            elseif ( $result->BillPaymentRequestResult->Status  != '0') {
                $err_msg = "( کد خطا : " . $result->BillPaymentRequestResult->Status . ") " .
                $result->BillPaymentRequestResult->Message ;
                $this->errorMsg = $err_msg;
                return false;
            }
        } catch ( Exception $ex ) {
            $this->errorMsg =  $ex->getMessage();
        }
            
    }