When using SIM (Simple Integration Method) with Authorize.Net, after the customer submits the payment page, the Authorize.Net server will make a POST request back to your website on the “x_relay_url”. This post will fail if your website is has SSL implemented with SNI. The customer will see a message like:
An error occurred while trying to report this transaction to the merchant. An email has been sent to the merchant informing them of the error. The following is a result of the attempt to charge your credit card.
The problem here is that Authorize.Net does not implement SNI so the relay response does not get routed to your virtual host.
- Use a relay response url without HTTPS.
- Modify hosting configuration to have a dedicated IP address and eliminate SNI.
- Change from SIM to AIM for Authorize.Net integration.
If you’re using X-Cart, the x_relay_url is set in /payment/cc_authorizenet_sim.php and is hard coded to the url of the site. You’ll need to change the code to use HTTP instead of HTTPS.
None of these solutions is very good. What is really needed is for Authorize.Net to add support for SNI. All major browsers support SNI and it’s being implemented in hosting solutions from many hosting companies.