Source/SimpleIpn.php
public function validateReceived()
    {
        $this->debugMessage[] = 'IPN VALIDATION: START';
        if (!$this->ipnPostDataCheck()) {
            $this->debugMessage[] = 'IPN VALIDATION: END';
            return false;
        }

        //'ORDERSTATUS'
        $this->logFunc("IPN", $this->postData, @$this->postData['REFNOEXT']);
        if (!in_array(trim($this->postData['ORDERSTATUS']), $this->successfulStatus)) {
            $this->errorMessage[] = 'INVALID IPN ORDER STATUS: ' . $this->postData['ORDERSTATUS'];
            $this->debugMessage[] = 'IPN VALIDATION: END';
            return false;
        }
        $validationResult = false;
        $calculatedHashString = $this->createHashString($this->flatArray($this->postData, array("HASH")));
        if ($calculatedHashString == $this->postData['HASH']) {
            $validationResult = true;
        }
        if ($validationResult) {
            $this->debugMessage[] = 'IPN VALIDATION: ' . 'SUCCESSFUL';
            $this->debugMessage[] = 'IPN CALCULATED HASH: ' . $calculatedHashString;
            $this->debugMessage[] = 'IPN HASH: ' . $this->postData['HASH'];
            $this->debugMessage[] = 'IPN VALIDATION: END';
            return true;
        } elseif (!$validationResult) {
            $this->errorMessage[] = 'IPN VALIDATION: ' . 'FAILED';
            $this->errorMessage[] = 'IPN CALCULATED HASH: ' . $calculatedHashString;
            $this->errorMessage[] = 'IPN RECEIVED HASH: ' . $this->postData['HASH'];
            $this->debugMessage[] = 'IPN VALIDATION: END';
            return false;
        }
        return false;
    }
public function validateReceived()
    {
        $this->debugMessage[] = 'IPN VALIDATION: START';
        if (!$this->ipnPostDataCheck()) {
            $this->debugMessage[] = 'IPN VALIDATION: END';
            return false;
        }

        //'ORDERSTATUS'
        $this->logFunc("IPN", $this->postData, @$this->postData['REFNOEXT']);
        if (!in_array(trim($this->postData['ORDERSTATUS']), $this->successfulStatus)) {
            $this->errorMessage[] = 'INVALID IPN ORDER STATUS: ' . $this->postData['ORDERSTATUS'];
            $this->debugMessage[] = 'IPN VALIDATION: END';
            return false;
        }
        $validationResult = false;
        $calculatedHashString = $this->createHashString($this->flatArray($this->postData, array("HASH")));
        if ($calculatedHashString == $this->postData['HASH']) {
            $validationResult = true;
        }
        if ($validationResult) {
            $this->debugMessage[] = 'IPN VALIDATION: ' . 'SUCCESSFUL';
            $this->debugMessage[] = 'IPN CALCULATED HASH: ' . $calculatedHashString;
            $this->debugMessage[] = 'IPN HASH: ' . $this->postData['HASH'];
            $this->debugMessage[] = 'IPN VALIDATION: END';
            return true;
        } elseif (!$validationResult) {
            $this->errorMessage[] = 'IPN VALIDATION: ' . 'FAILED';
            $this->errorMessage[] = 'IPN CALCULATED HASH: ' . $calculatedHashString;
            $this->errorMessage[] = 'IPN RECEIVED HASH: ' . $this->postData['HASH'];
            $this->debugMessage[] = 'IPN VALIDATION: END';
            return false;
        }
        return false;
    }
public function validateReceived ( ) { $ this -> debugMessage [ ] = 'IPN VALIDATION: START' ; if ( ! $ this -> ipnPostDataCheck ( ) ) { $ this -> debugMessage [ ] = 'IPN VALIDATION: END' ; return false ; } //'ORDERSTATUS' $ this -> logFunc ( "IPN" , $ this -> postData , @ $ this -> postData [ 'REFNOEXT' ] ) ; if ( ! in_array ( trim ( $ this -> postData [ 'ORDERSTATUS' ] ) , $ this -> successfulStatus ) ) { $ this -> errorMessage [ ] = 'INVALID IPN ORDER STATUS: ' . $ this -> postData [ 'ORDERSTATUS' ] ; $ this -> debugMessage [ ] = 'IPN VALIDATION: END' ; return false ; } $ validationResult = false ; $ calculatedHashString = $ this -> createHashString ( $ this -> flatArray ( $ this -> postData , array ( "HASH" ) ) ) ; if ( $ calculatedHashString == $ this -> postData [ 'HASH' ] ) { $ validationResult = true ; } if ( $ validationResult ) { $ this -> debugMessage [ ] = 'IPN VALIDATION: ' . 'SUCCESSFUL' ; $ this -> debugMessage [ ] = 'IPN CALCULATED HASH: ' . $ calculatedHashString ; $ this -> debugMessage [ ] = 'IPN HASH: ' . $ this -> postData [ 'HASH' ] ; $ this -> debugMessage [ ] = 'IPN VALIDATION: END' ; return true ; } elseif ( ! $ validationResult ) { $ this -> errorMessage [ ] = 'IPN VALIDATION: ' . 'FAILED' ; $ this -> errorMessage [ ] = 'IPN CALCULATED HASH: ' . $ calculatedHashString ; $ this -> errorMessage [ ] = 'IPN RECEIVED HASH: ' . $ this -> postData [ 'HASH' ] ; $ this -> debugMessage [ ] = 'IPN VALIDATION: END' ; return false ; } return false ; }
Validate recceived data against HMAC HASH

@return boolean
Validate recceived data against HMAC HASH