پرداخت وجوه دولتی با امکان تسهیم چند حسابی

1

ارسال درخواست پرداخت وجوه دولتی با امکان تسهیم چند حسابی

دانلود داکیومنت ها
نمیتواند خالی باشد
نمیتواند خالی باشد
نمیتواند خالی باشد
نمیتواند خالی باشد
غیر ضروری
مشخصات حساب ها
مبلغ (ریال)
شماره شبا
شناسه پرداخت

index.php

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

$pecRequest = new PecRequestClass();
$res = false;
$success = false;
if(isset($_POST['callback'])){
    $callback = $_POST['callback'];
}else{
    $callback = 'localhost/gov/callback.php';
}
if ($_POST) {
    if ($_POST['pin'] == '' || $_POST['orderId'] == '' || $_POST['amount'] == '' || $_POST['callback'] == '' || $_POST['GovId'] == '' || $_POST['Account'] == '') {
        $pecRequest->errorMsg = 'لطفا اطلاعات درخواست شده را تکمیل نمایید.';
        $res = $pecRequest->alertMsg();
    }else{
        // دریافت و اعتبار سنجی اطلاعات مربوط به تسهیم
        $account = [];
        $postAcccount = $_POST['Account'];
        $count = 0;
        $validate = true;
        foreach ($postAcccount as $key => $value) {
                if ($value == '') {
                    $validate = false;
                }
            $account[$count] = $value;
            $count++;
        }
        if (!$validate) {
            $pecRequest->errorMsg = 'اطلاعات مربوط به مشخصات حساب ها را تکمیل نمایید';
            $res = $pecRequest->alertMsg();
        }else{
            // دریافت اطلاعات از فرم
            $pecRequest->pin = $_POST['pin'];
            $pecRequest->callbackUrl = $_POST['callback'];
            $orderId = $_POST['orderId'];
            $amount = $_POST['amount'];
            $govId = $_POST['GovId'];
            $orginator = $_POST['orginator'];
            
            // ارسال درخواست
            $res = $pecRequest->MultixGovermentIdSaleService($orderId,$amount,$govId,$account,$orginator); 
            if ($res == false) {
                    $res = $pecRequest->alertMsg();
            }
            else{
                $success = true;
            }
        }
        
    }
    
}
                        

PecRequestClass.php

                        // سرویس پرداخت وجوه دولتی با امکان تسهیم چند حسابی
    public function MultixGovermentIdSaleService($orderId,$amount,$GovId,$accounts,$orginator=""){
        $this->url = "https://pec.shaparak.ir/NewIPGServices/Sale/GovermentIdSaleServiceSW2.asmx?wsdl";
        $additionalData = "GOVId=".$GovId;
        $this->orderId = $orderId;
        $params = array (
			"LoginAccount" => $this->pin,
			"Amount" => $amount,
			"OrderId" => $orderId,
			"CallBackUrl" => $this->callbackUrl,
            "AdditionalData" => $additionalData,
            "Originator" => $orginator,
	    );
        $params["MultiplexedAccounts"] = $accounts;

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

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