def __encoded_params_for_signature(cls, params):
        def encoded_pairs(params):
            for k, v in six.iteritems(params):
                if k == 'hmac':
                    continue
                if k.endswith('[]'):
                    k = k.rstrip('[]')
                    v = json.dumps(list(map(str, v)))
                k = str(k).replace("%", "%25").replace("=", "%3D")
                v = str(v).replace("%", "%25")
                yield '{0}={1}'.format(k, v).replace("&", "%26")
        return "&".join(sorted(encoded_pairs(params)))