protected function getSignature(array $parameters)
    {
        if (! array_key_exists(static::SIGNATURE_FIELD, $parameters) || $parameters[static::SIGNATURE_FIELD] == '') {
            throw new \InvalidArgumentException(
                sprintf('Sign key (%s) not present in parameters.', static::SIGNATURE_FIELD)
            );
        }
        return $parameters[static::SIGNATURE_FIELD];
    }