PHP 7.4.33
Preview: CourierService.php.bk Size: 46.75 KB
/home/godevadmin/public_html/include/CourierService.php.bk

<?php
    
    class CourierService extends Courrier
    {
        //Configuration
        const AccessLicenseNumber = "ED58E56438B88ECC";
        const UserID = "MyValue365";
        const Password = "hPawha365$";
        const Operation = "ProcessRate";
        const EndPointTracking="https://wwwcie.ups.com/rest/Track";
        /*
         * Production
         */
        //const EndPointURL = 'https://wwwcie.ups.com/rest/Rate';
        //const EndPointShippingURL = 'https://onlinetools.ups.com/rest/Ship';
        
        /*
         * Test
         */
        const EndPointURL = 'https://wwwcie.ups.com/rest/Rate';
        //const EndPointURL = 'https://onlinetools.ups.com/rest/Track';
        const EndPointShippingURL = 'https://wwwcie.ups.com/ship/v1807/shipments?additionaladdressvalidation=city';
        
        
        public function __construct()
        {
            /**
             * ounce, pound, gram
             **/
            
            
            $this->setRequestOption("Rate");
            
            $this->setPickupTypeCode("01");
            $this->setPickupTypeDescription("Daily Pickup");
            
            $this->setCustomerClassificationCode("01");
            $this->setCustomerClassificationDescription("Classfication");
            
            $this->setValidateAddress('no_validation');
            /**
             * Shipper Address
             */
            
            $this->setShipperNumber("222006");
            $this->setShipperName("MyValue365");
            $this->setShipperCity("Chicago");
            $this->setShipperCountryCode("US");
            $this->setShipperStateProvinceCode("IL");
            $this->setShipperPostalCode("60610");
            $this->setShipperAddressLine("1400 N Lakeshore Drive");
            
            //small medium large
            
            
            $this->setDimensionsUnit("inches");
            $this->setDimensionsUnitCode("IN");
            
            $this->setServiceCode("03");
            $this->setServiceDesciption("UPS Ground");
            
            
            $this->setUnit("pounds");
            $this->setUnitCode("Lbs");
            
            
            
            $this->setPackagingCode("02");
            $this->setPackagingDescription("Package");
            
        }
        
        public function getRates()
        {
            try {
                $this->ValidateRequest();
                
                
                if ($this->getCarrier() === 'UPS') {
                    $jsonData = $this->BuildRateRequest();
                    $header = array(
                        'Content-type: application/json',
                        'Content-Length: ' . strlen($jsonData)
                    );
                    
                    $carrierResponse = $this->CurlRquest($this::EndPointURL, $jsonData, $header);
                    $carrierResponse_array = (json_decode($carrierResponse, true));
                    $status = false;
                    if (isset($carrierResponse_array['RateResponse']['Response']['ResponseStatus']['Description']) && $carrierResponse_array['RateResponse']['Response']['ResponseStatus']['Description'] == 'Success')
                        $status = true;
                    
                    echo json_encode(Array(
                        'Status' => array(
                            "result" => $status,
                            "message" => '',
                            "CarrierResponse" => json_decode($carrierResponse)
                        )
                    ));
                    
                }
                
                
            } catch
            (Exception $ex) {
                $this->setError($ex->getMessage());
            }
        }
        
        public function getShippingLabel()
        {
            try {
                $this->ValidateRequest();
                if ($this->getCarrier() === 'UPS') {
                    $jsonData = $this->BuildLabelRequest();
                    //echo $jsonData ;
                    // exit;
                    $header = array(
                        'AccessLicenseNumber: ED58E56438B88ECC',
                        'Password: hPawha365$',
                        'transId: Transaction123',
                        'transactionSrc: GG',
                        'Username: MyValue365',
                        'Content-type: application/json',
                        'Content-Length: ' . strlen($jsonData)
                    );
                    $carrierResponse = $this->CurlRquest($this::EndPointShippingURL, $jsonData, $header);
                    
                    $carrierResponse_array = (json_decode($carrierResponse, true));
                    $status = false;
                    if (isset($carrierResponse_array['ShipmentResponse']['Response']['ResponseStatus']['Description']) && $carrierResponse_array['ShipmentResponse']['Response']['ResponseStatus']['Description'] == 'Success')
                        $status = true;
                    
                    return json_encode(Array(
                        'Status' => array(
                            "result" => $status,
                            "message" => '',
                            "CarrierResponse" => json_decode($carrierResponse)
                        )
                    ));
                    
                }
                
                
            } catch
            (Exception $ex) {
                $this->setError($ex->getMessage());
            }
        }
        public function getTrackingDetail()
        {
            // echo 'Start';
            
            try {
                
                $bodyContent = array(
                    "Security" => array(
                        "UsernameToken" => array(
                            "Username" => $this::UserID,
                            "Password" => $this::Password
                        ),
                        "UPSServiceAccessToken" => array(
                            "AccessLicenseNumber" => $this::AccessLicenseNumber
                        )
                    ),
                    "TrackRequest" => array(
                        "Request" => array(
                            "RequestOption" => 1,
                            "TransactionReference" => array(
                                "CustomerContext" => "Test 002"
                            )
                        ),
                        "InquiryNumber" => $this->getTrackingNumber()
                    )
                );
                
                $params = json_encode($bodyContent);
                
                $headers = array();
                $headers[] = 'Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept';
                $headers[] = 'Access-Control-Allow-Methods: POST';
                $headers[] = 'Access-Control-Allow-Origin: *';
                $headers[] = 'Content-Type: application/json';
                
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
                curl_setopt($ch, CURLOPT_TIMEOUT, 45);
                curl_setopt($ch, CURLOPT_URL, self::EndPointTracking);
                curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
                $response = curl_exec($ch);
                
                return $response;
                
                
                
            } catch
            (Exception $ex) {
                //echo $ex->getMessage();
                $this->setError($ex->getMessage());
            }
        }
        
        
    }
    
    class Courrier
    {
        /*********** Variables ************************/
        const Error_101 = 'Invalid or empty Ship To Name';
        const Error_102 = 'Invalid or empty Ship To Phone';
        const Error_103 = 'Invalid or empty Ship To Company Name';
        const Error_104 = 'Invalid or empty Ship To Address line';
        const Error_105 = 'Invalid or empty Ship To City';
        const Error_106 = 'Invalid or empty Ship To State';
        const Error_107 = 'Invalid or empty Ship To Postal Code';
        const Error_108 = 'Invalid or empty Ship From Name';
        const Error_109 = 'Invalid or empty Ship From Phone';
        const Error_110 = 'Invalid or empty Ship From Company Name';
        const Error_111 = 'Invalid or empty Ship From Address line';
        const Error_112 = 'Invalid or empty Ship From City';
        const Error_113 = 'Invalid or empty Ship From State';
        const Error_114 = 'Invalid or empty Ship From Postal Code';
        const Error_115 = 'Invalid or empty Weight';
        const Error_116 = 'Invalid or empty Carrier';
        const Error_117 = 'Request is not well formated';
        const Error_118 = 'Method Not Allowed';
        const Error_119 = 'Error in Request';
        const Error_120 = 'Validate Address is not valid';
        private $Error = '';
        private $is_Error = false;
        private $Validate_Address = "";
        private $Ship_To_Name = "";
        private $Ship_To_Phone = "";
        private $Ship_To_Company_Name = "";
        private $Ship_To_Address_Line1 = "";
        private $Ship_To_Address_Line2 = "";
        private $Ship_To_City_Locality = "";
        private $Ship_To_State_Province = "";
        private $Ship_To_Postal_Code = "";
        private $Ship_To_Country_Code = "";
        private $Ship_From_Name = "";
        private $Ship_From_Phone = "";
        private $Ship_From_Company_Name = "";
        private $Ship_From_Address_Line1 = "";
        private $Ship_From_Address_Line2 = "";
        private $Ship_From_City_Locality = "";
        private $Ship_From_State_Province = "";
        private $Ship_From_Postal_Code = "";
        private $Ship_From_Country_Code = "";
        private $Ship_From__Tax_Identification_Number = "";
        private $Weight = "";
        private $Unit = "";
        private $DimensionsUnit = "";
        private $Dimensions_Length = "";
        private $Dimensions_Width = "";
        private $Dimensions_Height = "";
        private $Carrier = "";
        private $Service_Code = "";
        private $Service_Desciption = "";
        private $ShipperNumber = "";
        private $Shipper_AddressLine = "";
        private $Shipper_City = "";
        private $Shipper_StateProvinceCode = "";
        private $Shipper_PostalCode = "";
        private $Shipper_CountryCode = "";
        /**
         * @var string
         */
        private $Shipper_Name = "";
        private $Request_Option = "";
        private $Pickup_Type_Code = "";
        private $Pickup_Type_Description = "";
        private $Customer_Classification_Code = "";
        private $Customer_Classification_Description = "";
        private $Dimensions_Unit_Code = "";
        private $Unit_Code = "";
        private $Packaging_Code = "";
        private $Packaging_Description = "";
        private $Transaction_Reference = "";
        private $Box_Type = "";
        private $Shipper_Attention_Name = "";
        private $Shipper_Tax_Identification_Number = "";
        private $Shipper_Phone_Number = "";
        private $Shipper_Fax_Number = "";
        private $trackingNumber="";
        
        /**
         * @return string
         */
        public function getShipFromTaxIdentificationNumber()
        {
            return $this->Ship_From__Tax_Identification_Number;
        }
        
        /*********** Variables ************************/
        /**
         * @return string
         */
        public function getTrackingNumber()
        {
            return $this->trackingNumber;
        }
        
        /**
         * @param string $trackingNumber
         */
        public function setTrackingNumber($trackingNumber)
        {
            $this->trackingNumber = $trackingNumber;
        }
        /**
         * @param string $Ship_From__Tax_Identification_Number
         */
        public function setShipFromTaxIdentificationNumber($Ship_From__Tax_Identification_Number)
        {
            $this->Ship_From__Tax_Identification_Number = $Ship_From__Tax_Identification_Number;
        }
        
        /**
         * @return string
         */
        public function getShipperFaxNumber()
        {
            return $this->Shipper_Fax_Number;
        }
        
        /**
         * @param string $Shipper_Fax_Number
         */
        public function setShipperFaxNumber($Shipper_Fax_Number)
        {
            $this->Shipper_Fax_Number = $Shipper_Fax_Number;
        }
        
        /**
         * @return string
         */
        public function getBoxType()
        {
            return $this->Box_Type;
        }
        
        /**
         * @param string $Box_Type
         */
        public function setBoxType($Box_Type)
        {
            $this->Box_Type = $Box_Type;
            if ($Box_Type == "Small") {
                $this->setDimensionsHeight("10");
                $this->setDimensionsLength("10");
                $this->setDimensionsWidth("12");
            }
            if ($Box_Type == "Medium") {
                $this->setDimensionsHeight("16");
                $this->setDimensionsLength("18");
                $this->setDimensionsWidth("18");
            }
            if ($Box_Type == "Large") {
                $this->setDimensionsHeight("24");
                $this->setDimensionsLength("18");
                $this->setDimensionsWidth("18");
            }
        }
        
        /**
         * @param string $Dimensions_Height
         */
        private function setDimensionsHeight($Dimensions_Height)
        {
            $this->Dimensions_Height = $Dimensions_Height;
        }
        
        /**
         * @param string $Dimensions_Length
         */
        private function setDimensionsLength($Dimensions_Length)
        {
            $this->Dimensions_Length = $Dimensions_Length;
        }
        
        /**
         * @param string $Dimensions_Width
         */
        private function setDimensionsWidth($Dimensions_Width)
        {
            $this->Dimensions_Width = $Dimensions_Width;
        }
        
        /**
         * @return string
         */
        public function getPickupTypeCode()
        {
            return $this->Pickup_Type_Code;
        }
        
        /**
         * @param string $Pickup_Type_Code
         */
        public function setPickupTypeCode($Pickup_Type_Code)
        {
            $this->Pickup_Type_Code = $Pickup_Type_Code;
        }
        
        /**
         * @return string
         */
        public function getPickupTypeDescription()
        {
            return $this->Pickup_Type_Description;
        }
        
        /**
         * @param string $Pickup_Type_Description
         */
        public function setPickupTypeDescription($Pickup_Type_Description)
        {
            $this->Pickup_Type_Description = $Pickup_Type_Description;
        }
        
        /**
         * @return string
         */
        public function getCustomerClassificationCode()
        {
            return $this->Customer_Classification_Code;
        }
        
        /**
         * @param string $Customer_Classification_Code
         */
        public function setCustomerClassificationCode($Customer_Classification_Code)
        {
            $this->Customer_Classification_Code = $Customer_Classification_Code;
        }
        
        /**
         * @return string
         */
        public function getCustomerClassificationDescription()
        {
            return $this->Customer_Classification_Description;
        }
        
        /**
         * @param string $Customer_Classification_Description
         */
        public function setCustomerClassificationDescription($Customer_Classification_Description)
        {
            $this->Customer_Classification_Description = $Customer_Classification_Description;
        }
        
        /**
         * @return string
         */
        public function getError()
        {
            return $this->Error;
        }
        
        /**
         * @param string $Error
         */
        public function setError($Error)
        {
            $this->is_Error = true;
            $this->Error = json_encode(Array(
                'Status' => array(
                    "result" => false,
                    "message" => $Error
                )
            ));
        }
        
        /**
         * @return string
         */
        public function getShipToAddressLine2()
        {
            return $this->Ship_To_Address_Line2;
        }
        
        /**
         * @param string $Ship_To_Address_Line2
         */
        public function setShipToAddressLine2($Ship_To_Address_Line2)
        {
            $this->Ship_To_Address_Line2 = $Ship_To_Address_Line2;
        }
        
        /**
         * @return string
         */
        public function getShipFromAddressLine2()
        {
            return $this->Ship_From_Address_Line2;
        }
        
        /**
         * @param string $Ship_From_Address_Line2
         */
        public function setShipFromAddressLine2($Ship_From_Address_Line2)
        {
            $this->Ship_From_Address_Line2 = $Ship_From_Address_Line2;
        }
        
        public function ValidateRequest()
        {
            if ($this->getValidateAddress() === "" || ($this->getValidateAddress() !== "no_validation" && $this->getValidateAddress() !== "validate_only" && $this->getValidateAddress() !== "validate_and_clean")) {
                // $this->setError(self::Error_120);
                throw new Exception(self::Error_120);
            } elseif ($this->getShipToName() === "") {
                //$this->setError(self::Error_101);
                throw new Exception(self::Error_101);
            } /*elseif ($this->getShipToPhone() === "") {
            $this->setError(self::Error_102);
        }
        elseif ($this->getShipToCompanyName() === "") {
            $this->setError(self::Error_103);
        } */
            
            elseif ($this->getShipToAddressLine1() === "") {
                // $this->setError(self::Error_104);
                throw new Exception(self::Error_104);
            } elseif ($this->getShipToCityLocality() === "") {
                throw new Exception(self::Error_105);
                //$this->setError(self::Error_105);
            } elseif ($this->getShipToStateProvince() === "") {
                //$this->setError(self::Error_106);
                throw new Exception(self::Error_106);
            } elseif ($this->getShipToPostalCode() === "") {
                //$this->setError(self::Error_107);
                throw new Exception(self::Error_107);
            } elseif ($this->getShipFromName() === "") {
                //$this->setError(self::Error_108);
                throw new Exception(self::Error_108);
            } /*elseif ($this->getShipFromPhone() === "") {
            $this->setError(self::Error_109);
        } elseif ($this->getShipFromCompanyName() === "") {
            $this->setError(self::Error_110);
        }*/
            elseif ($this->getShipFromAddressLine1() === "") {
                //$this->setError(self::Error_111);
                throw new Exception(self::Error_111);
            } elseif ($this->getShipFromCityLocality() === "") {
                //$this->setError(self::Error_112);
                throw new Exception(self::Error_112);
            } elseif ($this->getShipFromStateProvince() === "") {
                //$this->setError(self::Error_113);
                throw new Exception(self::Error_113);
            } elseif ($this->getShipFromPostalCode() === "") {
                //$this->setError(self::Error_114);
                throw new Exception(self::Error_114);
            } elseif ($this->getWeight() === "") {
                //$this->setError(self::Error_115);
                throw new Exception(self::Error_115);
            } elseif ($this->getCarrier() === "") {
                //$this->setError(self::Error_116);
                throw new Exception(self::Error_116);
            }
            
        }
        
        /**
         * @return string
         */
        public function getValidateAddress()
        {
            return $this->Validate_Address;
        }
        
        /**
         * @param string $Validate_Address
         */
        public function setValidateAddress($Validate_Address)
        {
            
            $this->Validate_Address = $Validate_Address;
        }
        
        /**
         * @return string
         */
        public function getShipToName()
        {
            return $this->Ship_To_Name;
        }
        
        /**
         * @param string $Ship_To_Name
         */
        public function setShipToName($Ship_To_Name)
        {
            $this->Ship_To_Name = $Ship_To_Name;
        }
        
        /**
         * @return string
         */
        public function getShipToAddressLine1()
        {
            return $this->Ship_To_Address_Line1;
        }
        
        /**
         * @param string $Ship_To_Address_Line1
         */
        public function setShipToAddressLine1($Ship_To_Address_Line1)
        {
            $this->Ship_To_Address_Line1 = $Ship_To_Address_Line1;
        }
        
        /**
         * @return string
         */
        public function getShipToCityLocality()
        {
            return $this->Ship_To_City_Locality;
        }
        
        /**
         * @param string $Ship_To_City_Locality
         */
        public function setShipToCityLocality($Ship_To_City_Locality)
        {
            $this->Ship_To_City_Locality = $Ship_To_City_Locality;
        }
        
        /**
         * @return string
         */
        public function getShipToStateProvince()
        {
            return $this->Ship_To_State_Province;
        }
        
        /**
         * @param string $Ship_To_State_Province
         */
        public function setShipToStateProvince($Ship_To_State_Province)
        {
            $this->Ship_To_State_Province = $Ship_To_State_Province;
        }
        
        /**
         * @return string
         */
        public function getShipToPostalCode()
        {
            return $this->Ship_To_Postal_Code;
        }
        
        /**
         * @param string $Ship_To_Postal_Code
         */
        public function setShipToPostalCode($Ship_To_Postal_Code)
        {
            $this->Ship_To_Postal_Code = $Ship_To_Postal_Code;
        }
        
        /**
         * @return string
         */
        public function getShipFromName()
        {
            return $this->Ship_From_Name;
        }
        
        /**
         * @param string $Ship_From_Name
         */
        public function setShipFromName($Ship_From_Name)
        {
            $this->Ship_From_Name = $Ship_From_Name;
        }
        
        /**
         * @return string
         */
        public function getShipFromAddressLine1()
        {
            return $this->Ship_From_Address_Line1;
        }
        
        /**
         * @param string $Ship_From_Address_Line1
         */
        public function setShipFromAddressLine1($Ship_From_Address_Line1)
        {
            $this->Ship_From_Address_Line1 = $Ship_From_Address_Line1;
        }
        
        /**
         * @return string
         */
        public function getShipFromCityLocality()
        {
            return $this->Ship_From_City_Locality;
        }
        
        /**
         * @param string $Ship_From_City_Locality
         */
        public function setShipFromCityLocality($Ship_From_City_Locality)
        {
            $this->Ship_From_City_Locality = $Ship_From_City_Locality;
        }
        
        /**
         * @return string
         */
        public function getShipFromStateProvince()
        {
            return $this->Ship_From_State_Province;
        }
        
        /**
         * @param string $Ship_From_State_Province
         */
        public function setShipFromStateProvince($Ship_From_State_Province)
        {
            $this->Ship_From_State_Province = $Ship_From_State_Province;
        }
        
        /**
         * @return string
         */
        public function getShipFromPostalCode()
        {
            return $this->Ship_From_Postal_Code;
        }
        
        /**
         * @param string $Ship_From_Postal_Code
         */
        public function setShipFromPostalCode($Ship_From_Postal_Code)
        {
            $this->Ship_From_Postal_Code = $Ship_From_Postal_Code;
        }
        
        /**
         * @return string
         */
        public function getWeight()
        {
            return $this->Weight;
        }
        
        /**
         * @param string $Weight
         */
        public function setWeight($Weight)
        {
            $this->Weight = $Weight;
        }
        
        /**
         * @return string
         */
        public function getCarrier()
        {
            return $this->Carrier;
        }
        
        /**
         * @param string $Carrier
         */
        public function setCarrier($Carrier)
        {
            $this->Carrier = $Carrier;
        }
        
        public function BuildLabelRequest()
        {
            
            
            //create soap request
            
            
            $Shipper['Name'] = $this->getShipperName();
            $Shipper['AttentionName'] = $this->getShipperAttentionName();
            $Shipper['TaxIdentificationNumber'] = $this->getShipper_Tax_Identification_Number();
            $Shipper['Phone'] = array('Number' => $this->getShipperPhoneNumber());
            $Shipper['ShipperNumber'] = $this->getShipperNumber();
            $Address['AddressLine'] = $this->getShipperAddressLine();
            $Address['City'] = $this->getShipperCity();
            $Address['StateProvinceCode'] = $this->getShipperStateProvinceCode();
            $Address['PostalCode'] = $this->getShipperPostalCode();
            $Address['CountryCode'] = $this->getShipperCountryCode();
            $Shipper['Address'] = $Address;
            $Shipment['Description'] = 'MyValue365 Grocery';
            $Shipment['Shipper'] = $Shipper;
            
            
            $ShipTo['Name'] = $this->getShipToName();
            $ShipTo['Phone'] = array('Number' => $this->getShipToPhone());
            $AddressTo['AddressLine'] = $this->getShipToAddressLine1();
            $AddressTo['City'] = $this->getShipToCityLocality();
            $AddressTo['StateProvinceCode'] = $this->getShipToStateProvince();
            $AddressTo['PostalCode'] = $this->getShipToPostalCode();
            $AddressTo['CountryCode'] = $this->getShipToCountryCode();
            $AddressTo['ResidentialAddressIndicator'] = '';
            $ShipTo['Address'] = $AddressTo;
            $Shipment['ShipTo'] = $ShipTo;
            
            $ShipFrom['Name'] = $this->getShipFromName();
            $ShipFrom['TaxIdentificationNumber'] = $this->getShipper_Tax_Identification_Number();
            $ShipFrom['Phone'] = array('Number' => $this->getShipFromPhone());
            $AddressFrom['AddressLine'] = $this->getShipFromAddressLine1();
            $AddressFrom['City'] = $this->getShipFromCityLocality();
            $AddressFrom['StateProvinceCode'] = $this->getShipFromStateProvince();
            $AddressFrom['PostalCode'] = $this->getShipFromPostalCode();
            $AddressFrom['CountryCode'] = $this->getShipFromCountryCode();
            $ShipFrom['Address'] = $AddressFrom;
            $Shipment['ShipFrom'] = $ShipFrom;
            
            
            $Shipment['PaymentInformation'] = array('ShipmentCharge' => array('Type' => '01', 'BillShipper' => array('AccountNumber' => $this->getShipperNumber())));
            
            $service['Code'] = $this->getServiceCode();
            $service['Description'] = $this->getServiceDesciption();
            $Shipment['Service'] = $service;
            
            $packaging1['Code'] = $this->getPackagingCode();
            //$packaging1['Description'] = $this->getPackagingDescription();
            $package1['Packaging'] = $packaging1;
            $dunit1['Code'] = $this->getDimensionsUnitCode();
            $dunit1['Description'] = $this->getDimensionsUnit();
            $dimensions1['UnitOfMeasurement'] = $dunit1;
            $dimensions1['Length'] = $this->getDimensionsLength();
            $dimensions1['Width'] = $this->getDimensionsWidth();
            $dimensions1['Height'] = $this->getDimensionsHeight();
            
            //$package1['Dimensions'] = $dimensions1;
            $punit1['Code'] = $this->getUnitCode();
            //$punit1['Description'] = $this->getUnit();
            $packageweight1['Weight'] = $this->getWeight();
            $packageweight1['UnitOfMeasurement'] = $punit1;
            $package1['PackageWeight'] = $packageweight1;
            
            
            $Shipment['Package'] = array($package1);
            $Shipment['ShipmentServiceOptions'] = '';
            $Shipment['LargePackageIndicator'] = '';
            $Request['Shipment'] = $Shipment;
            $Request['LabelSpecification'] = array('LabelImageFormat' => array('Code' => 'GIF'));
            
            
            $RateRequest["ShipmentRequest"] = $Request;
            
            
            //echo "Request.......\n";
            //print_r(json_encode($RateRequest));
            //echo "\n\n";
            return json_encode($RateRequest);
        }
        
        /**
         * @return string
         */
        public function getShipperName()
        {
            return $this->Shipper_Name;
        }
        
        /**
         * @param string $Shipper_Name
         */
        public function setShipperName($Shipper_Name)
        {
            $this->Shipper_Name = $Shipper_Name;
        }
        
        /**
         * @return string
         */
        public function getShipperAttentionName()
        {
            return $this->Shipper_Attention_Name;
        }
        
        /**
         * @param string $Shipper_Attention_Name
         */
        public function setShipperAttentionName($Shipper_Attention_Name)
        {
            $this->Shipper_Attention_Name = $Shipper_Attention_Name;
        }
        
        /**
         * @return string
         */
        public function getShipper_Tax_Identification_Number()
        {
            return $this->Shipper_Tax_Identification_Number;
        }
        
        /**
         * @param string $Shipper_Tax_Identification_Number
         */
        public function setShipper_Tax_Identification_Number($Shipper_Tax_Identification_Number)
        {
            $this->Shipper_Tax_Identification_Number = $Shipper_Tax_Identification_Number;
        }
        
        /**
         * @return string
         */
        public function getShipperPhoneNumber()
        {
            return $this->Shipper_Phone_Number;
        }
        
        /**
         * @param string $Shipper_Phone_Number
         */
        public function setShipperPhoneNumber($Shipper_Phone_Number)
        {
            $this->Shipper_Phone_Number = $Shipper_Phone_Number;
        }
        
        /**
         * @return string
         */
        public function getShipperNumber()
        {
            return $this->ShipperNumber;
        }
        
        /**
         * @param string $ShipperNumber
         */
        public function setShipperNumber($ShipperNumber)
        {
            $this->ShipperNumber = $ShipperNumber;
        }
        
        /**
         * @return string
         */
        public function getShipperAddressLine()
        {
            return $this->Shipper_AddressLine;
        }
        
        /**
         * @param string $Shipper_AddressLine
         */
        public function setShipperAddressLine($Shipper_AddressLine)
        {
            $this->Shipper_AddressLine = $Shipper_AddressLine;
        }
        
        /**
         * @return string
         */
        public function getShipperCity()
        {
            return $this->Shipper_City;
        }
        
        /**
         * @param string $Shipper_City
         */
        public function setShipperCity($Shipper_City)
        {
            $this->Shipper_City = $Shipper_City;
        }
        
        /**
         * @return string
         */
        public function getShipperStateProvinceCode()
        {
            return $this->Shipper_StateProvinceCode;
        }
        
        /**
         * @param string $Shipper_StateProvinceCode
         */
        public function setShipperStateProvinceCode($Shipper_StateProvinceCode)
        {
            $this->Shipper_StateProvinceCode = $Shipper_StateProvinceCode;
        }
        
        /**
         * @return string
         */
        public function getShipperPostalCode()
        {
            return $this->Shipper_PostalCode;
        }
        
        /**
         * @param string $Shipper_PostalCode
         */
        public function setShipperPostalCode($Shipper_PostalCode)
        {
            $this->Shipper_PostalCode = $Shipper_PostalCode;
        }
        
        /**
         * @return string
         */
        public function getShipperCountryCode()
        {
            return $this->Shipper_CountryCode;
        }
        
        /**
         * @param string $Shipper_CountryCode
         */
        public function setShipperCountryCode($Shipper_CountryCode)
        {
            $this->Shipper_CountryCode = $Shipper_CountryCode;
        }
        
        /**
         * @return string
         */
        public function getShipToPhone()
        {
            return $this->Ship_To_Phone;
        }
        
        /**
         * @param string $Ship_To_Phone
         */
        public function setShipToPhone($Ship_To_Phone)
        {
            $this->Ship_To_Phone = $Ship_To_Phone;
        }
        
        /**
         * @return string
         */
        public function getShipToCountryCode()
        {
            return $this->Ship_To_Country_Code;
        }
        
        /**
         * @param string $Ship_To_Country_Code
         */
        public function setShipToCountryCode($Ship_To_Country_Code)
        {
            $this->Ship_To_Country_Code = $Ship_To_Country_Code;
        }
        
        /**
         * @return string
         */
        public function getShipFromPhone()
        {
            return $this->Ship_From_Phone;
        }
        
        /**
         * @param string $Ship_From_Phone
         */
        public function setShipFromPhone($Ship_From_Phone)
        {
            $this->Ship_From_Phone = $Ship_From_Phone;
        }
        
        /**
         * @return string
         */
        public function getShipFromCountryCode()
        {
            return $this->Ship_From_Country_Code;
        }
        
        /**
         * @param string $Ship_From_Country_Code
         */
        public function setShipFromCountryCode($Ship_From_Country_Code)
        {
            $this->Ship_From_Country_Code = $Ship_From_Country_Code;
        }
        
        /**
         * @return string
         */
        public function getServiceCode()
        {
            return $this->Service_Code;
        }
        
        /**
         * @param string $Service_Code
         */
        public function setServiceCode($Service_Code)
        {
            $this->Service_Code = $Service_Code;
        }
        
        /**
         * @return string
         */
        public function getServiceDesciption()
        {
            return $this->Service_Desciption;
        }
        
        /**
         * @param string $Service_Desciption
         */
        public function setServiceDesciption($Service_Desciption)
        {
            $this->Service_Desciption = $Service_Desciption;
        }
        
        /**
         * @return string
         */
        public function getPackagingCode()
        {
            return $this->Packaging_Code;
        }
        
        /**
         * @param string $Packaging_Code
         */
        public function setPackagingCode($Packaging_Code)
        {
            $this->Packaging_Code = $Packaging_Code;
        }
        
        /**
         * @return string
         */
        public function getDimensionsUnitCode()
        {
            return $this->Dimensions_Unit_Code;
        }
        
        /**
         * @param string $Dimensions_Unit_Code
         */
        public function setDimensionsUnitCode($Dimensions_Unit_Code)
        {
            $this->Dimensions_Unit_Code = $Dimensions_Unit_Code;
        }
        
        /**
         * @return string
         */
        public function getDimensionsUnit()
        {
            return $this->DimensionsUnit;
        }
        
        /**
         * @param string $DimensionsUnit
         */
        public function setDimensionsUnit($DimensionsUnit)
        {
            $this->DimensionsUnit = $DimensionsUnit;
        }
        
        /**
         * @return string
         */
        public function getDimensionsLength()
        {
            return $this->Dimensions_Length;
        }
        
        /**
         * @return string
         */
        public function getDimensionsWidth()
        {
            return $this->Dimensions_Width;
        }
        
        /**
         * @return string
         */
        public function getDimensionsHeight()
        {
            return $this->Dimensions_Height;
        }
        
        /**
         * @return string
         */
        public function getUnitCode()
        {
            return $this->Unit_Code;
        }
        
        /**
         * @param string $Unit_Code
         */
        public function setUnitCode($Unit_Code)
        {
            $this->Unit_Code = $Unit_Code;
        }
        
        public function BuildRateRequest()
        {
            
            
            //create soap request
            
            $UsernameToken['Username'] = $this::UserID;
            $UsernameToken['Password'] = $this::Password;
            $ServiceAccessToken['AccessLicenseNumber'] = $this::AccessLicenseNumber;
            
            $UPSSecurity['UsernameToken'] = $UsernameToken;
            $UPSSecurity['ServiceAccessToken'] = $ServiceAccessToken;
            
            $Option['RequestOption'] = $this->getRequestOption();
            $TransactionReference['CustomerContext'] = $this->getTransactionReference();
            $Option['TransactionReference'] = $TransactionReference;
            $Request['Request'] = $Option;
            
            // $PickupType['Code'] = $this->getPickupTypeCode();
            // $PickupType['Description'] = $this->getPickupTypeDescription();
            // $Request['PickupType'] = $PickupType;
            
            //$CustomerClassification['Code'] = $this->getCustomerClassificationCode();
            //$CustomerClassification['Description'] = $this->getCustomerClassificationDescription();
            //$Request['CustomerClassification'] = $CustomerClassification;
            
            $Shipper['Name'] = $this->getShipperName();
            $Shipper['ShipperNumber'] = $this->getShipperNumber();
            $Address['AddressLine'] = array($this->getShipperAddressLine());
            $Address['City'] = $this->getShipperCity();
            $Address['StateProvinceCode'] = $this->getShipperStateProvinceCode();
            $Address['PostalCode'] = $this->getShipperPostalCode();
            $Address['CountryCode'] = $this->getShipperCountryCode();
            $Shipper['Address'] = $Address;
            $Shipment['Shipper'] = $Shipper;
            
            $ShipFrom['Name'] = $this->getShipFromName();
            $AddressFrom['AddressLine'] = array($this->getShipFromAddressLine1());
            $AddressFrom['City'] = $this->getShipFromCityLocality();
            $AddressFrom['StateProvinceCode'] = $this->getShipFromStateProvince();
            $AddressFrom['PostalCode'] = $this->getShipFromPostalCode();
            $AddressFrom['CountryCode'] = $this->getShipFromCountryCode();
            $ShipFrom['Address'] = $AddressFrom;
            $Shipment['ShipFrom'] = $ShipFrom;
            
            
            $ShipTo['Name'] = $this->getShipToName();
            $AddressTo['AddressLine'] = array($this->getShipToAddressLine1());
            $AddressTo['City'] = $this->getShipToCityLocality();
            $AddressTo['StateProvinceCode'] = $this->getShipToStateProvince();
            $AddressTo['PostalCode'] = $this->getShipToPostalCode();
            $AddressTo['CountryCode'] = $this->getShipToCountryCode();
            $AddressTo['ResidentialAddressIndicator'] = '';
            $ShipTo['Address'] = $AddressTo;
            $Shipment['ShipTo'] = $ShipTo;
            
            
            $service['Code'] = $this->getServiceCode();
            $service['Description'] = $this->getServiceDesciption();
            $Shipment['Service'] = $service;
            
            $packaging1['Code'] = $this->getPackagingCode();
            $packaging1['Description'] = $this->getPackagingDescription();
            $package1['PackagingType'] = $packaging1;
            $dunit1['Code'] = $this->getDimensionsUnitCode();
            $dunit1['Description'] = $this->getDimensionsUnit();
            $dimensions1['UnitOfMeasurement'] = $dunit1;
            $dimensions1['Length'] = $this->getDimensionsLength();
            $dimensions1['Width'] = $this->getDimensionsWidth();
            $dimensions1['Height'] = $this->getDimensionsHeight();
            
            $package1['Dimensions'] = $dimensions1;
            $punit1['Code'] = $this->getUnitCode();
            $punit1['Description'] = $this->getUnit();
            $packageweight1['Weight'] = $this->getWeight();
            $packageweight1['UnitOfMeasurement'] = $punit1;
            $package1['PackageWeight'] = $packageweight1;
            
            
            $Shipment['Package'] = array($package1);
            $Shipment['ShipmentServiceOptions'] = '';
            $Shipment['LargePackageIndicator'] = '';
            $Request['Shipment'] = $Shipment;
            $RateRequest["UPSSecurity"] = $UPSSecurity;
            $RateRequest["RateRequest"] = $Request;
            
            
            //echo "Request.......\n";
            //print_r(json_encode($RateRequest));
            // echo "\n\n";
            return json_encode($RateRequest);
        }
        
        /**
         * @return string
         */
        public function getRequestOption()
        {
            return $this->Request_Option;
        }
        
        /**
         * @param string $Request_Option
         */
        public function setRequestOption($Request_Option)
        {
            $this->Request_Option = $Request_Option;
        }
        
        /**
         * @return string
         */
        public function getTransactionReference()
        {
            return $this->Transaction_Reference;
        }
        
        /**
         * @param string $Transaction_Reference
         */
        public function setTransactionReference($Transaction_Reference)
        {
            $this->Transaction_Reference = $Transaction_Reference;
        }
        
        /**
         * @return string
         */
        public function getPackagingDescription()
        {
            return $this->Packaging_Description;
        }
        
        /**
         * @param string $Packaging_Description
         */
        public function setPackagingDescription($Packaging_Description)
        {
            $this->Packaging_Description = $Packaging_Description;
        }
        
        /**
         * @return string
         */
        public function getUnit()
        {
            return $this->Unit;
        }
        
        /**
         * @param string $Unit
         */
        public function setUnit($Unit)
        {
            $this->Unit = $Unit;
        }
        
        public function CurlRquest($urlEndpoint, $jsonData, $header)
        {
            
            
            $curl_options = array(
                CURLOPT_URL => $urlEndpoint,
                CURLOPT_SSL_VERIFYPEER => false, //implemented to perform a TRUST on the server certificate
                CURLOPT_FRESH_CONNECT => true,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_HTTPHEADER => $header,
                CURLOPT_POST => true,
                CURLOPT_POSTFIELDS => $jsonData
            );
//print_r($curl_options);
            $ch = curl_init();
            curl_setopt_array($ch, $curl_options);
            
            $result = curl_exec($ch);
            
            //Log Response or Error
            if ($result !== false) {
                //  Error;
            } else {
                //  Error;
            }
            
            //Close the handle
            curl_close($ch);
            //echo "<pre>";
            //print_r($result);
            
            return ($result);
        }
        
        /**
         * @return string
         */
        public function getShipToCompanyName()
        {
            return $this->Ship_To_Company_Name;
        }
        
        /**
         * @param string $Ship_To_Company_Name
         */
        public function setShipToCompanyName($Ship_To_Company_Name)
        {
            $this->Ship_To_Company_Name = $Ship_To_Company_Name;
        }
        
        /**
         * @return string
         */
        public function getShipFromCompanyName()
        {
            return $this->Ship_From_Company_Name;
        }
        
        /**
         * @param string $Ship_From_Company_Name
         */
        public function setShipFromCompanyName($Ship_From_Company_Name)
        {
            $this->Ship_From_Company_Name = $Ship_From_Company_Name;
        }
        
        /**
         * @return bool
         */
        public function isError()
        {
            return $this->is_Error;
        }
    }

?>

Directory Contents

Dirs: 1 × Files: 25

Name Size Perms Modified Actions
ckeditor DIR
- drwxrwxr-x 2023-11-07 20:00:00
Edit Download
649 B lrwxrwxr-x 2023-11-07 19:59:58
Edit Download
649 B lrwxrwxr-x 2023-11-07 19:59:58
Edit Download
4.71 KB lrwxrwxr-x 2023-11-07 19:59:58
Edit Download
4.10 KB lrwxrwxr-x 2025-01-22 14:39:16
Edit Download
3.97 KB lrwxrwxr-x 2023-11-22 20:59:28
Edit Download
4.04 KB lrwxrwxr-x 2024-02-22 09:17:20
Edit Download
73.66 KB lrwxrwxr-x 2023-11-07 19:59:58
Edit Download
46.75 KB lrwxrwxr-x 2023-11-07 19:59:58
Edit Download
1.79 KB lrwxrwxr-x 2023-11-07 19:59:58
Edit Download
1.79 KB lrwxrwxr-x 2023-11-07 19:59:58
Edit Download
69.77 KB lrwxrwxr-x 2023-11-07 19:59:58
Edit Download
11.18 KB lrwxrwxr-x 2023-11-18 00:41:42
Edit Download
25.88 KB lrwxrwxr-x 2025-12-08 14:24:06
Edit Download
14.21 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
4.54 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
43.90 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
6.63 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
554 B lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
3.36 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
3.28 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
1.08 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
3.35 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
2.18 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
2.39 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download
15.41 KB lrwxrwxr-x 2023-11-07 20:00:00
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).