protected function CheckIncomingHash($aURLParameter)
    {
        $bIsValid = false;
        $oGlobal = TGlobal::instance();
        $sSharedSecret = $this->GetConfigParameter('sSharedSecretIn');
        $sIncomingHash = $oGlobal->GetUserData('SHASIGN');
        $aHashParameter = $this->GetIncomingPaymentParameter();
        $sHash = '';
        $aURLParameter = array_change_key_case($aURLParameter, CASE_UPPER);
        if ('' != $sIncomingHash) {
            foreach ($aHashParameter as $sHashParameter) {
                if (array_key_exists($sHashParameter, $aURLParameter) && '' != $aURLParameter[$sHashParameter]) {
                    $sHash .= $sHashParameter.'='.$aURLParameter[$sHashParameter].$sSharedSecret;
                }
            }
            $sHash = strtoupper(hash('sha256', $sHash));
            if ($sHash == $sIncomingHash) {
                $bIsValid = true;
            }
        } else {
            $bIsValid = true;
        }

        return $bIsValid;
    }