cancel
Showing results for 
Search instead for 
Did you mean: 

Who Me Too'd this topic

Payment page returns error, but payment data arrives at our server (wpStoreCart)

Hi.

 

We use WordPress and wpStoreCart - a shopping cart solution that has an API that works with authorize.net.

 

Not sure if anyone here knows about wpStoreCart - one other issue is that American Express payments do not seem to work at all, but that's not why I'm writing here today.

 

The issue is that the cart is passing invoice information to https://secure.authorize.net/gateway/transact.dll.

I enter a credit card, and then I receive this 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 the result of the attempt to charge your credit card.

      This transaction has been approved.

It is advisable for you to contact the merchant to verify that you will receive the product or service.

 

The email contains this error:

 

Your script timed out while we were trying to post transaction results to it. 

 

Now the interesting thing is that our server logs clearly show that the payment information is received by us. We get the approval code, card type, last 4 digits, etc.

However, authorize.net still throws an error message.

 

The data that is submitted to the payment gateway includes x_relay_url and the correct URL to our server - and obviously, that is working since we do receive the payments.

 

When I access that url myself, the server responds (by default with an empty page, but I changed that - see later).

 

During 3 long chats with support, I was given the following information:

 

https://support.authorize.net/authkb/index?page=content&id=A663

which includes a list of troubleshooting steps. I tried all of them and couldn't find anything wrong.

 

The next person gave me this:

 

To begin troubleshooting an error 52 (time out error) please review the following information from our help files: 
-Before doing anything else, have your script start writing to your receipt page. For example: Print your page headers and the first part of the page body. If your script prints to the screen first, we recognize that you and your customer have received the transaction results. 
-Check that your script permissions are correct and that it can accept an HTTPS POST. 
-Check that the script is not completing other functions before writing to the screen such as writing to a database or sending e-mails. 
-Please check to see if there are different processes that are used in your script for approvals, declines, or errors. Check each process to be sure that they write to the screen before any other functions. 
-Verify that your script is not using redirects upon receiving the response from our servers. Redirects are strongly discouraged because they can potentially interfere with the process.

 

The development site says this:

 

if the merchant’s web server does not send a positive response after ten seconds, then the connection will time-out

 

So I'm figuring there's something that their server expects from ours since all is working on our end.

 

So I started following the steps and created an HTML header first thing before anything else happens and throw it out on the page. That works when I open the page directly in a browser.

 

Still nothing...

 

My system is running PHP, but even developers who use other languages might be able to help here.

 

All I basically need to know:

 

What does their server expect as a correct response in order to not call the connection a timeout?

 

Thanks in advance!

 

 

 
rlund
Contributor
Who Me Too'd this topic