Find Answers

Find Answers

Specified Languages
British English
English

Contact Us

Merchant Support

Toll-Free Phone: 877-447-3938

Support Hours:
M–F: 5 AM – 5PM PST
(closed major holidays)


Reseller Support

Toll-Free Phone:
888-437-0481

Support Hours:
M–F, 6 AM – 5 PM PST
(closed major holidays)


Affilate Support

Toll-Free Phone:
866-682-4131

Support Hours:
M–F: 6 AM – 5 PM PST
(closed major holidays)


Corporate Offices

Authorize.Net (Utah)
P.O. Box 8999
San Francisco, CA 94128-8999
Tel: 801-492-6450
Fax: 801-492-6489

Authorize.Net (Washington)
P.O. Box 8999
San Francisco, CA 94128-8999
Tel: 425-586-6000
Fax: 425-586-6005

CyberSource Corporation HQ
P.O. Box 8999
San Francisco, CA 94128-8999
Tel: 650-965-6000
Fax: 650-625-9145

Error 97: This transaction cannot be accepted.


Doc ID:    A592
Version:    3.0
Status:    Published
Published date:    06/08/2011
Updated:    06/08/2011
 

Answer

Response Reason Code: 97

Response Reason Text: This transaction cannot be accepted.

Notes: Applicable only to the SIM API. Fingerprints are only valid for a short period of time. This code indicates that the transaction fingerprint has expired.

Error 97s occur when we receive an invalid timestamp from your Web server. Your Web server would use its clock to generate a timestamp which is used to generate a fingerprint hash for security reasons. When your script submits a transaction to us, the fingerprint hash and the timestamp are sent to us. If the timestamp is either fifteen minutes ahead or fifteen minutes behind the current time in Greenwich Mean Time (GMT)--also called Coordinated Universal Time (UTC)--this error would occur.

This error may occur occasionally if a customer takes too long to check out, since the timestamp submitted to us would no longer be current by the time the customer is done. In such a situation the error should not occur very often.

If the error occurs every time a customer tries to check out, the issue is that your Web server's clock is not set correctly, and so the timestamp would be inaccurate. Please contact your Web hosting company for assistance in setting your Web server's clock to the correct time in GMT/UTC.

Adjusting the script

If you cannot adjust the time on your Web server to correct the time difference, you can adjust the timestamp in your script so it will be in sync with the Authorize.Net servers. This should be done as a last resort, since it may be necessary to readjust the timestamp should the Web server's time become corrected later.

You will want to determine the difference between your Web server's timestamp and the Authorize.Net server timestamp. You would then modify your script to subtract (or add) that time in seconds before the fingerprint is generated. Examples on how to make the adjustment, based on Authorize.Net sample scripts, follow below:


Perl:

In the SimLib.pm file, replace the following line:

my $tstamp = time;

with this:

my $tstamp = time - (time difference in seconds);

OR:

my $tstamp = time + (time difference in seconds);


ASP

In the simlib.asp file, replace the following line:

var tstamp = GetSecondsSince1970 ();

with this:

var tstamp = GetSecondsSince1970() - (time difference in seconds);

OR:

var tstamp = GetSecondsSince1970() + (time difference in seconds);


PHP

In the simlib.php file, replace the following line:

$tstamp = time ();

with this:

$tstamp = time () - (time difference in seconds);

OR:

$tstamp = time () + (time difference in seconds);


For more details, see our Error 97 resolution tool at http://developer.authorize.net/tools/responsecode97/


Rate this Page
Did reviewing this article help you to resolve your issue?
Yes
No
 
Why or why not?