public function parseNotification($params) {
    $Config = GiroCheckout_SDK_Config::getInstance();

    if ($Config->getConfig('DEBUG_MODE')) {
      GiroCheckout_SDK_Debug_helper::getInstance()->logNotificationInput($params);
    }

    if (!is_array($params) || empty($params)) {
      throw new GiroCheckout_SDK_Exception_helper('no data given');
    }
    try {
      $this->notifyParams = $this->requestMethod->checkNotification($params);

      if ($Config->getConfig('DEBUG_MODE')) {
        GiroCheckout_SDK_Debug_helper::getInstance()->logNotificationParams($this->notifyParams);
      }

      if (!$this->checkHash()) {
        throw new GiroCheckout_SDK_Exception_helper('hash mismatch');
      }
    }
    catch (\Exception $e) {
      throw new GiroCheckout_SDK_Exception_helper('Failure: ' . $e->getMessage() . "\n");
    }

    return TRUE;
  }