Bambora process_transaction.asp error: "Declined: Entered Information Cannot Be Authenticated"

If you are using Bambora's (formerly Beanstream) process_transaction.asp and receive the error "Declined: Entered Information Cannot Be Authenticated", you may find this frustrating, because although this error appears in their documentation, there's no information about what it means or how to solve it, which is basically useless.

At least one reason this error can appear is if the hashValue variable is not included in your query string.  To make it, use code similar to the following:
$query_string .= "&hashValue=" . sha1($query_string . $your_hash_key);
It may be worth it to note that not only is this error message completely undocumented, the hashValue variable does not appear in the Querystring API documentation.
  1. Khaled Hammouda
    May 15th, 2019 at 20:26 | #1

    Thank you! I had an integration with Beanstream working a couple of years ago and wanted to reuse it, and was absolutely stumped when it wasn't working. (I was getting the same error). I saw the hash key in my order settings page, but couldn't understand whether it applies to my integration style, and if yes, how to use it. Your solution worked flawlessly. THANK YOU!

If you would like a reply to your comment, you must leave your email address! We receive dozens of questions every month from people who don't leave us with any way to contact them, so we have no choice but to ignore the question. We try to reply to as many questions as we can, if we know the email address of the person who asked the question. Thanks in advance for writing in :)

Allowed HTML: <b>, <i>, <em>, <strong>. All other < and > will be replaced with &lt; and &gt;.