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
<<  December  >>
2009

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...

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

True Life Story - Lazy SKUs

Sunday, December 13, 2009 12:00:00 AM

Sometimes as web developers we run into situations where we must do our level best to save the client from themselves. This happens often enough where I thought it would be a good idea to share some of out tech support experiences. I believe what we share will be helpful to many developers in their day to day dealings with clients.
 
Case in point.   A feature of Cartweaver and many shopping cart applications is to track product the same way a physical store would, by Products and SKUs. Products being the manufacturers item such as a "Nike Polo Shirt" the the SKUs are id numbers assigned to all the individual variations of that item such as "Blue, XL" or Red, Small" and so forth. It is the SKU that caries the price and is counted for inventory.
 
Ok, pretty basic stuff for a merchant that runs a bricks and mortar store. But you would be amazed at how many merchants setting up an online store think that they can just skip this and do it an easier way. Admittedly entering all those individual SKUs can be daunting if you have a hundred products with ten to fifteen SKUs each! But doing it right is vital. Physical store merchants understand this, but those new to online sales can be pretty insistent on wanting to go for the short cut.
 
Here's a transcript of a support thread on the topic...
 
=========================
Q-post:
I am trying to avoid using multiple skus for one product with multiple options.
 
A-Post
Hi, sounds like you are wanting to bypass the functionality of skus and replace it with that exact same functionality... why not use the skus and options as they are?
 
Q-post
Yeah that's what I am doing. My client is trying to keep it simple with one sku and multiple options w/ pricing (simple for them)
Thanks.
 
A-post
A point to talk over with your client is that they should look at inventory and sales online exactly like they would in a bricks and mortar store,  When they reorder from their suppliers they order by the SKU.  They don't call a supplier and just say I want a mix of various shirts and just charge me the same for all of them and don't worry about having an actual count of each or have any way of looking back and see which ones sold and which ones didn't.  You know it just sounds silly when it's put that way, but many new to ecommerce will dive into this sort of mistake because they think they are making things easier, that is until a year from now they want to do some sort of record checking... Then it's that stupid web developer screwed this all up... Why didn't we get a developer that knew what he was doing!
 
This is one of those areas the we must help save the client from themselves.  It's well worth it in the long run.
 
======================  End post
 
I feel this developer's pain. We all know that clients can get a thought into their head and once they are convinced it's a good idea that are many times really ready to go toe to toe over it.
It's a tough one, bus as I stated in my response, giving in may be just delaying the battle. Doing all you can, up front to do it right will ultimately pay off. The important thing is to think these situations out in advance, so when the client tries to run down one of these rat holes, you have sound reasonable explanations ready to save them from themselves.
 
Hope this helps!

Category tags: eCommerce, General Topics, True Life Stories

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

Full Blog Calendar