Cartweaver.com

 facebook Facebook
 twitter Twitter

Blog Calendar

S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
<<  July  >>
2010

Blog search

Cartweaver.com ColdFusion and PHP
Shopping Carts For Adobe Dreamweaver.

Adobe Community Pro

Bookmark and Share

 

A blog for web developers about all things ecommerce.: Mystery of the missing order...

Mystery of the missing order...

Tuesday, December 22, 2009 12:00:00 AM

I received a tech support email the other day that raised a topic I thought would be worth covering here. The email, stated that there was a transaction that was showing on the users payment gateway, but not in the store database... How could this happen?

First let's look at what happens in a normal purchase transaction.

When the customer clicks the final checkout button the credit card and customer data is passed off via SSL encryption to the payment gateway (note, we are only discussing real-time gateways here like Authorize Net, Link Point or the like) The gateway verifies the information and validates the transaction, or not, depending on the response from the card issuing bank, then reports the results, either success or failed, back to the cart application. The cart then processes the transaction based upon the gateway response.

  • Success - the order is added to the database and a confirmation page is displayed.
  • Failed - a "Transaction failed" page is displayed and the customer is given the option to try again.

Simple enough, but what would cause a successful transaction to be recorded at the gateway, but not in the store database?

What can cause this is something interrupting the response from the gateway, a glitch in the connection or a dropped packet transfer.

What can you do?

Unfortunately there is nothing in the code or the app that can prevent a connection glitch on the web. As long as you are reaching out to a remote service, and then requiring a response back from that remote service, there's always a chance that something will prevent the return response from getting through. Fortunately this is a very rare occurrence, but it does happen... Things are better now than they were a few or a couple of years ago, by a long shot! But still not perfect, and this can happen.

Now what if it's happening frequently? Well the first thing to keep in mind - it is not the code or the application. The app works the same way for every transaction. It sends the data off, receives the return data, and acts accordingly based on the response. So the missing order issue is happening to you frequently then you need to see what the possible cause that may be within your control could be. First thing to look at is your host's system. If you are on a host with overloaded servers or with internal connection issues, this could definitely cause this problem. You see, when browsing from page to page on a web site, if the hosts system is a little glitchy or over stressed, drops in page requests can go pretty much unnoticed, but if this "drop" occurs mid transaction, then you have problems! There's no way to reinitiate the entire transaction - the app has already transferred the data to the gateway, all it can do now is wait for the response. There are a number of things that can cause this - many of them are beyond your control since they happen out on the web - but you do have control, or influence at least on what happens on your server - either by working with your host or seeking out a more reliable host.

The main thing to remember here is this problem is a connection / communication issue, not an application code issue. This can happen every once in a while, simply because the web is not a perfect network. But if it's happening with any frequency, you need to see what you can do to assure more reliable connections between your site and your gateway.

I hope this conversation will help clear the fog around this issue for you and help you make your system as reliable as present web technology will allow.

Category tags: Cartweaver, eCommerce, True Life Stories

Before posting comments or trackbacks, please read the posting policy.

Full Blog Calendar