Hmm, you are posting to a URL with GET parameters. I think it would be easier to post data -- the receiving server would have an easier time parsing it. Due to how the signing works, you'd still need to post a single query string, maybe something like:

    request.post(url, {signed_notice: signedQueryString}, ...)

Alternatively, you could post data normally like ``{price: '0.99', result: 'success', signature: 'xyz'}`` and we could modify the token check API to alphabetize the values on input before checking the signature. http://zippypayments.readthedocs.org/en/latest/security.html#token-checking This might take more effort.