private function sign($data, $algorithm) { if ($algorithm === 'HmacSHA1') { $hash = 'sha1'; } else { if ($algorithm === 'HmacSHA256') { $hash = 'sha256'; } else { throw new \Exception("Non-supported signing method specified"); } } return base64_encode(hash_hmac($hash, $data, $this->config->getSecretKey(), true)); }