Hi jasco,
If you are only seeing timeouts occur only every once in awhile it is unlikely to be due to the method you have used to integrate SIM. It is more than likely due to processes that are running on your server that are preventing your page from accepting the relay response within 10 seconds or factors related to your ISP, webhost or server load. The Authorize.Net online knowledgebase, located at http://www.authorize.net/support/knowledgebase/, has this to say about SIM timeouts:
Relay Response is applicable to merchants using
Server Integration Method (SIM) or Simple Checkout. It instructs the
payment gateway to return transaction results to the merchant using an
HTML form POST to a specified URL on the merchant's Web server. A script
or program at the URL can be used to create a custom receipt page using
the transaction information. The custom receipt page is then relayed
back to the customer's browser. Relay Response does not redirect the end
user back to your server, but relays your specified Relay URL to the
end user through your receipt page instead of displaying our default
receipt page.
When Relay Response is unable to pass the
transaction response to your server or software, your customer will see
the following message:
An error occurred while trying to report this
transaction to the merchant. An e-mail has been sent to the merchant
informing them of the error. The following is a result of the attempt to
charge your credit card.
This response would be followed by the transaction
response text we originally submitted to your software or website. If
the merchant has chosen to receive transaction receipts from
Authorize.Net, we will also send an e-mail with the subject “Transaction
Error Notification” to the merchant. The e-mail starts with this text:
Your script timed out while we were trying to post transaction results to it.
Transaction ID: 9876543210
Transaction Result: This transaction has been approved.
If the transaction was successfully authorized and
captured for settlement, it will settle and the merchant will receive
funding for the transaction. The merchant should contact the customer
and make sure their order is completed successfully.
There are a number of possible causes for this
issue. If it only happens on rare occasion, but the bulk of your
transactions process without problems, then your network might have had a
temporary lag or connection failure. These sorts of issues would be
outside Authorize.Net’s control, but should also be very rare as long as
your network is generally stable and reliable.
If your Relay Response timeouts occur repeatedly but
sporadically, or if the error only occurs in short bursts, then you may
want to consult with your Web hosting company or Internet Service
Provider (ISP) to find out if there are any issues which might cause
Internet connections to drop or time out. Possible causes include
occasional Web server load spikes, routing or load balancing issues, and
Internet congestion.
Note that Relay Response connections may time out
after 10 seconds, so it is important that we receive an acknowledgement
that your server received our response in 10 seconds or less.
If you encounter this issue every time, check the following list of possible causes and make corrections as needed:
- Check that the Relay URL your website is using
(x_relay_url) is spelled correctly and is pointed at the right Web page
or script. Any typing errors will send the transaction response to a
file that doesn’t exist on your server.
- Confirm that you can load the Relay URL in a Web
browser, and that it runs successfully. If you encounter a 500 Internal
Server Error message, your script cannot run on the server and you may
need to check your coding and confirm that the Web server can run the
script correctly.
- If your Web server is not available on the public
Internet, has authentication enabled, or if the Relay URL uses a
non-standard port for HTTP or HTTPS traffic, Relay Response timeouts
will occur. Authorize.Net will not have any means to connect to your
server or authenticate itself on your server, and can only use ports 80
and 443 for all Web traffic.
- Log into the Merchant Interface at https://account.authorize.net/, click Account from the top navigation, click Response/Receipt URLs, and review the settings to ensure that the correct Relay Response URL is configured.
Make sure your script has completely received the transaction
response before it performs any intensive tasks such as writing the
response data to a database. If you start any intensive tasks while
waiting for Relay Response to finish, your server may not be able to
receive the full transaction response before the connection times out.
Thank you,
Elaine