public static function verifyNotificationSignature($body, $timestamp, $signature, $validFor = 7200)
    {
        $paramsArray = [
            'body'      => $body,
            'timestamp' => $timestamp,
            'signature' => $signature,
            'validFor'  => $validFor
        ];

        self::validateParams($paramsArray, self::$NOTIFICATION_VALIDATOR_ALLOWED_TYPES);

        if (time() - $timestamp > $validFor) {
            return false;
        }

        $apiSecret = \Cloudinary::config_get('api_secret');
        self::validateApiSecret($apiSecret);

        $payloadToSign = $body . $timestamp;
        $hmac = self::generateHmac($payloadToSign, $apiSecret);

        if ($hmac !== $signature) {
            return false;
        }

        return true;
    }