Error 97 - Authorize.Net SIM
Previous  Top  Next

When submitting an order to the Authorize.Net SIM payment form...

Error (97) This transaction cannot be accepted.

or
Error # 97 The time period for this request has expired.

This is most likely caused by the clock on your server set incorrectly. If the server is set to adjust itself to Daylight Savings Time, it should be changed so that the time is consistent throughout the year.

See http://www.sluggis.com/error97.htm
for more information and a tool that will help you determine if you need to adjust the time on your server.

The time stamp can be found within the source code of the checkout (payment options) page. In some versions of AShop, the checkout page is bypassed when only one payment option is set. If this is the case, create a second payment option temporarily.

1.Add a product to the shopping cart and click Check Out.  
2.When the payment option page appears, click View Source in the browser tool bar.  
4.Find the text 'x_fp_timestamp' in the source code of the page. Immediately following this form field name is the value, which is the time in seconds. Copy the number from this value.  
5.Immediately paste the time stamp value into the "Enter your time" box that is provided at http://www.sluggis.com/error97.htm and click the Test button.  
   
If it isn't possible to adjust the server time, the timestamp that AShop generates can be modified to accommodate the differential, but it will then need to be manually adjusted twice a year when Daylight Savings Time begins and ends.

The time stamp is generated by the script /admin/gateways/authorizenetsim.gw for US dollar integration and /admin/gatewaysgpb/authorizenetsim.gw for British pounds integration.

Open the authorizenetsim.gw file in a text editor and modify the following according to the time differential that is indicated by the sluggis.com test.

replace the following line:
$tstamp = time ();
with something like this:
$tstamp = time () -1234;
Replace the "
-1234" with the actual time differential that is returned by the sluggis.com test.