I have been having an intermittent problem with orders not being written to Zen-Cart and/or notifying customers of successful payments.
After months of research with the Payment Gateway (E-Xact), they have advised that the "HashMatchStatus" values do not match when the final figure is even cents. Ie. .00, .10, .20, .30, etc.
According to them,
I am using Authorizenet (SIM) as a payment module (they can't use AIM), and as you can see, have requested me to ensure that the final zero is included in the calculation.After investigating your log entry, it appears that the hash we use is calculated using the amount in the format :
123.40
However, it looks like your zencart system is calculating the response hash using the amount in the format :
123.4
This is causing transactions which end in .00 or .x0 to be missed as they are calculated differently. Please ensure your hash is being calculated using the full amount including the cents.
I'm not a programmer, although I am comfortable changing the code if someone could advise.
Thanks for any help. It'd be nice to see the end of this after more than a year.
No new plugins have been added since creation and the only one it's running is a theme.
Zen Cart v1.5.5f
Database Patch 1.5.5
PHP v7.0.33
Apache 2.4.39
MySQL 5.6.41-84.1
Bookmarks