code: def generate_message_signature(self, query_string):
          
          # split for sorting
          pairs = query_string.split('&')
          pairs = [pair.split('=', 1) for pair in pairs]
          pairs_sorted = sorted(pairs)
          pairs_string = '&' . join(['=' . join(pair) for pair in pairs_sorted])
  
          digest = hmac.new(self.key, b(pairs_string), hashlib.sha1).digest()
          signature = base64.b64encode(digest).decode('utf-8')
  
          return signature
docs: Returns a HMAC-SHA-1 signature for the given query string.
          http://goo.gl/R4O0E