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

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/sale-tashim/callback.php';
}
if ($_POST) {
    if ($_POST['pin'] == '' || $_POST['orderId'] == '' || $_POST['amount'] == '' || $_POST['callback'] == '' ||  $_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'];
            $orginator = $_POST['orginator'];
            
            // ارسال درخواست
            $res = $pecRequest->onlineMultiplexedSalePaymentService($orderId,$amount,$account,$orginator); 
            if ($res == false) {
                    $res = $pecRequest->alertMsg();
            }
            else{
                $success = true;
            }
        }
        
    }
    
}
                        

PecRequestClass.php

    // سرویس خرید با امکان تسهیم آنلاین

    public function onlineMultiplexedSalePaymentService($orderId,$amount,$accounts,$orginator){
        $this->url = "https://pec.shaparak.ir/NewIPGServices/MultiplexedSale/OnlineMultiplexedSalePaymentService.asmx?wsdl";
        // اطلاعات اضافی باید خالی باشد.
        $additionalData = "";
        $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->MultiplexedSaleWithIBANPaymentRequest($requestData);
            if ($result->MultiplexedSaleWithIBANPaymentRequestResult->Token && $result->MultiplexedSaleWithIBANPaymentRequestResult->Status === 0) {
                // توکن دریافت شده را  در این مرحله به تراکنش مورد نظر مرتبط نموده و ذخیره سازی کنید.
                // $token = $result->MultiplexedSaleWithIBANPaymentRequestResult->Token;
                header ( "Location: https://pec.shaparak.ir/NewIPG/?Token=" . $result->MultiplexedSaleWithIBANPaymentRequestResult->Token ); /* Redirect browser */
                exit ();
            }
            elseif ( $result->MultiplexedSaleWithIBANPaymentRequestResult->Status  != '0') {
                $err_msg = "( کد خطا : " . $result->MultiplexedSaleWithIBANPaymentRequestResult->Status . ") " .
                $result->MultiplexedSaleWithIBANPaymentRequestResult->Message ;
                $this->errorMsg = $err_msg;
                return false;
            } 
        } catch ( Exception $ex ) {
            $err_msg =  $ex->getMessage();
        }
    }