cancel
Showing results for 
Search instead for 
Did you mean: 

(97) This transaction cannot be accepted

Hello,

i have got a free TEST AUTHORIZE account to process credit card transactions but i always get this final error:

 

The following errors have occurred.

(97) This transaction cannot be accepted.

 

My hosting server is www.eshost.es

 

I read solution reported here:

http://developer.authorize.net/tools/responsecode97/

 

but i do not understand these 3 things:


1) Your timestamp = 97 seconds.
The Authorize.Net system timestamp is 1364404392 seconds.
The difference is -1364404295 seconds.

 

HOW DO I CALCULATE MY TIMESTAMP ????

 

2) Solution always reported here:

http://developer.authorize.net/tools/responsecode97/

tells this:

 

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);

 

but in my TEST AUTHORIZE ACCOUNT installed folder named "anet_php_sdk" there is any simlib.php file.

So where is my simlib.php file ?

 

3) Verify that the time on the Web server that hosts the SIM script is configured correctly to the GMT time zone. You can also modify the SIM script to format UTC.

 

How do i verify that my web server (www.eshost.es) is configured correctly to the GMT time zone ?

 

Goodbye.

pierini1
Contributor
21 REPLIES 21

Well, you can see my web server time here:

http://digitalsoftware.eshost.es/horario.php

 

and yes sure, it matches in http://developer.authorize.net/tools/responsecode97 because its value is -10

 

Anyway can you tell me what do I have to edit in my sim.php scritps in order not to get  this error:

The following errors have occurred.

(97) This transaction cannot be accepted.

 

This is my script to be edited in TIMESTAMP values:

 

<?php
require_once 'anet_php_sdk/AuthorizeNet.php'; // Include the SDK you downloaded in Step 2
$api_login_id = '2eGa3jT3V';
$transaction_key = '4wPT8m36C3G682kH';
$amount = "5.99";
$fp_timestamp = time() - ();
$fp_sequence = "123" . time(); // Enter an invoice or other unique number.
$fingerprint = AuthorizeNetSIM_Form::getFingerprint($api_login_id,
  $transaction_key, $amount, $fp_sequence, $fp_timestamp)
?>

<form method='post' action="https://certification.authorize.net/gateway/transact.dll">
<input type='hidden' name="x_login" value="2eGa3jT3V" />
<input type='hidden' name="x_fp_hash" value="<?php echo $fingerprint?>" />
<input type='hidden' name="x_amount" value="<?php echo $amount?>" />
<input type='hidden' name="x_fp_timestamp" value="<?php echo $fp_timestamp?>" />
<input type='hidden' name="x_fp_sequence" value="<?php echo $fp_sequence?>" />
<input type='hidden' name="x_version" value="3.1">
<input type='hidden' name="x_show_form" value="payment_form">
<input type='hidden' name="x_test_request" value="false" />
<input type='hidden' name="x_method" value="cc">
<input type='submit' value="Click here for the secure payment form">
</form>

Run to the form post page, and look at the web broswer page source. See if the hidden x_fp_timestamp input field value is set correctly.

Run to the form post page, and look at the web broswer page source. See if the hidden x_fp_timestamp input field value is set correctly.

 

 

 

 

Yes, the x_fp_timestamp value is correct but the problem is every second it changes.

I mean, my webserver time DIFFERENCE changes every second so i am not sure i checked the DIFFERENCE correctly.

 

I checked DIFFERENCE here:

http://developer.authorize.net/tools/responsecode97/

 

In Enter your timestamp (in seconds) box i entered this value:

1365399141

because my web server time shown here:

http://digitalsoftware.eshost.es/horario.php

told me it.

 

but when i click again in my web server time link:

http://digitalsoftware.eshost.es/horario.php

 

the value changes all the times infact now it tells me:

1365399198

so that difference cannnot be set in sim.php

 

What is right time difference ?

 

Yes, the x_fp_timestamp value is correct but the problem is every second it changes.

I mean, my webserver time DIFFERENCE changes every second so i am not sure i checked the DIFFERENCE correctly.

So, did you actually look at the form post page source of the x_fp_timestamp value or just http://digitalsoftware.eshost.es/horario.php ?

 

 "is either 15 minutes ahead, or 15 minutes behind", so if it close, it would be ok.

 

Also, for test account, form post to https://test.authorize.net/gateway/transact.dll

input type='hidden' name="x_fp_timestamp" value="-10" />

 

Where is the error ?

the value should be like what you have in http://digitalsoftware.eshost.es/horario.php

e.g. 1365771149

and not -10

so why they told to insert the DIFFERENCE in seconds ?

no, they tell you to make it close to what authorize.net

http://developer.authorize.net/tools/responsecode97/

is getting by subtracting or adding to what your server time is.

Ok so this is the result:

Your timestamp = 1366055474 seconds.
The Authorize.Net system timestamp is 1366055480 seconds.
The difference is -6 seconds.

 

so i have go tto put 1366055474, right ?

 

But the problem is my timestamp (1366055474) changes every second.....so is it right to put 1366055474 ?

 

For example now it is:

Your timestamp = 1366055685 seconds.
The Authorize.Net system timestamp is 1366055690 seconds.
The difference is -5 seconds

 

So do i have got to put 1366055474 or 1366055685 ?