cancel
Showing results for 
Search instead for 
Did you mean: 

Relay Response Basics

Relay Response is a feature available 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 the merchant’s server, but relays the page content to the end user instead of displaying the Authorize.Net default receipt page.

 

When Relay Response is unable to pass the transaction response to the merchant’s server or software, the 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 originally submitted to the merchant’s 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.

 

Why Would I Get a Timeout?

There are a number of possible causes for timeouts. If it only happens on rare occasion, but the bulk of the transactions process without problems, then the merchant’s 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 the merchant’s network is generally stable and reliable.

 

If the Relay Response timeouts occur repeatedly but sporadically, or if the error only occurs in short bursts, then you may want to consult with the 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 Authorize.Net receives an acknowledgement that the 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 necessary:

 

  • Check that the Relay URL the 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 the merchant’s 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 the merchant’s 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.
  • If the relay response page is using an SSL connection, ensure that the SSL certificate is valid and is from a trusted issuer. If Authorize.Net’s server cannot validate the certificate, it will abandon the connection.
  • 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.

 

More Info

For more details on Relay Response and the transaction response fields it returns, please see Section Six - Transaction Response in the SIM Implementation Guide, available at http://developer.authorize.net/guides/SIM/.


 

Michelle
All Star
7 Comments