Tableless OSCommerce 1

The look and feel of oscommerce is a bit behind the times as it was created sometime in the late 1990’s.  Yeah, that’s a long time ago.  Back then, browsers were not up to speed with all the CSS tricks, so structure was built on table upon table.  In some places, there is content buried 8 nested tables deep with oscommerce!

This weekend I worked away and launched a new ecommerce site based on oscommerce  With my other oscommerce sites, I’m always working to improve the look and feel, accessibility, and better search engine rankings.  I spent six hours removing tables from the template and product detail page and had to finally throw in the towel on the 3 column template structure.  My design has images in the left and right columns that must stretch 100% in height with the content andapparently divs and CSS aren’t up to par on that capability yet.  Check out the product detail page and you’ll find just one table .

If you intend to strip all the tables out of oscomerce, you’ve got a daunting task ahead of you!  If you don’t have a thousand hours of custom coding into your shopping cart as I do, you might consider a different solution such as prestashop, which comes with a tableless front end.

Magento or Zen-cart for downloadable products? 1

A friend of mine wants a shopping cart for his downloadable products (images and music).  I’ve worked on oscommerce for a few years now (1 year full time) and know that the code is crap.  Oscommerce is dead, period.  The code is unmaintainable.


I know Zencart is based on oscommerce as the database is pretty much the same and it has most of the same interfaces.  Zencart is a cleaned up oscommerce, but let’s face it, to really clean up oscommerce you need to start over from scatch.  Setting up a downloadable product with zencart is a hack in itself.  Here are two tutorials I found showing you how to do it – and .  After the customer has made their purchase, here is the download screen they’ll use to access the file. You’ll find the list of available downloads scrunched in the middle of the page below.


Today was my first experience with Magento.  The installation was more difficult than Zen-cart and the database is 212 tables as compared to 95 for Zen-cart.  I’ll admit my eyes glazed over looking at the database and the code library today.  Everything with Magento is mod rewrite so when you see there really isn’t a customer directory in the code.  Magento is like wordpress where you don’t modify the code if you want updates and support.  Magento offers paid support programs and customizations… maybe that’s why they made is so damn confusing.  Magento is cutting edge PHP; it’s built on the Zend Framework.  The interfaces of Magento are modern and don’t look like something that came from back when the internet was born.

How to specify that a product is downloadable and upload the downloadable file.

Customer’s view of downloadable products after making a purchase.

In my opinion, Magento is the clear choice going forward.  Here’s my analagy of comparing Magento to Zencart… it’s like comparing a new car to a twenty year old car.  The new car looks better, has better features, and outperforms the older car in every way.  From a developer’s perspective, when you look under the hood of Magento (at the code and database), you’ll feel overwhelmed and will realize there is a lot to learn.

If you do not pay, you do not receive

November must be angry customer month.   Does anybody else notice an increase in upset people and general negativity in the air each November?

Recently a lady ordered a $20 item from one of my supplement sites and began emailing the following day in a panic asking about her order.  I usually don’t check my email at 11pm at night, so I didn’t get back to her until the next day where I had a total of three emails from her waiting in my inbox.  The email’s content started aggressive and progressively got angrier (capital letters and threats) with each one.  Apparently this customer did not receive the order receipt that is emailed instantly upon purchase and did not have enough patience to wait a day for a tracking number.  On two occasions, I said “No problem, refuse the package when it arrives and we’ll issue a refund upon the product’s return.”  Her response was “I’ve already notified my credit card company that this order was cancelled yesterday due to your non-response”.  No problem, I’ll just intercept your order through the delivery company since you performed a chargeback and did not pay.  Sure, I’ll lose about $20 and some time into this, but it’s better than losing $20 and allowing somebody to learn that throwing a fit will get them something for nothing.  Of course, now the customer was really irate and is supposedly making negative posts about our store everywhere she can because I intercepted/recalled the package.  It’s not a difficult concept… if you do not pay, you do not receive.  She may also realize that if you have a little patience, everything will be fine.

Online retail customers’ increasing expectations

Customers today expect the same amount of customer service online as they do in face to face retail stores.  After successful transactions with the major online retailers, certain amenities are expected by the customer.  Below is an outline of trends I’ve noticed while running our online supplement business over the past few years.  If you feel there is something I missed, please add a comment.

1. A professional appearing website that is easy to use. The streamlined checkout process is very important as it is where customers usually get frustrated as they experience troubles entering their credit card information.

2. A customer service phone number is expected. Customers who cannot wait or don’t have patience for electronic communication require a phone number.  If you won’t have a phone number, then will contact you via your contact form and request (sometimes demand) a call back.  Nine out of ten times a customer demands a phone number is when they are upset about something.  The issue can be resolved just as easily over electronic means, but they insist on making somebody else’s day miserable by yelling at them over the phone.  I remember my dad saying when the internet first came about “I like to buy locally so I can go back and yell at somebody when they screw up.”

3. Fast, cheap shipping. One thing every customer can agree on – they all hate to pay shipping costs.  However, they all want the cheapest price and the best service.  I’ve heard many times in the business world when it comes to the lowest price, best product, and best service is that you can have two of the three, but not all three (unless you want to go out of business b/c you’re not making any money).  On my supplement websites, I set the product price as low as I can and ask that the customer pay the shipping cost.  I pass our UPS discount onto customers; they pay less than what it would cost to walk up to UPS and ship something themselves.  However, it’s still too expensive according to the bizrate survey’s we get from customers after purchases.  I’ve run promotions where shipping expenses are cut by 40% (we take the loss) and customers’ biggest complaint is still the shipping cost.  Many websites will give the customer flat rate shipping of $4.99 or even free shipping over $50.  Selling supplements online is extremely competitive since it’s a standard product that anybody could sell; offering free shipping will either create a loss for the website or they make it up in their product price.

4. A tracking number is required. If you don’t send a customer a tracking number, they’ll contact you and ask for it.  When I started around 2005, about 25% of customers would contact us asking for a tracking number.  That increased dramatically to about 60% by mid 2006 where I finally programmed in an automated tracking number system for customers.  The delay on this system is 24 – 36 hours after your order, which is many times still not fast enough for customers.

5. They needed it yesterday and they need something for free. When customers do contact us via email, the trend over the past couple years as been less and less patience.  We get more emails containing a dozen exclamation points and capital letters and customers that do not work with you on the issue, such as an invalid shipping address.  Some customers purposely turn a minor issue a big deal just so they can get something for free, like free one day shipping or the whole order free of charge.  With my little side business of slim margins, I don’t put up with it.  I just canceled a lady’s order the other day for this very reason.  It’s not worth the headache.  That’s probably the wrong thing to do, but since I don’t rely on the business as a source of income, I can make this choice since the time and effort invested in her problem is not worth my time ;).  I don’t care to have these customers as return customers either because they will continue to blow up at the slightest problem and expect you to give them the world.

The customer’s expectation of online retail is getting closer to the brick and mortar stores everyday.  They need the prouduct immediately, impecible communication and service, and at the lowest possible cost.

How to detect fraudulent transactions

As of right now I have five online ecommerce shops selling fitness supplements.  Pretty much anything you’d find in GNC is listed on my websites.  Since I work with another middleman company that stores most of the inventory and does the packaging and shipping for me, margins on my end are very slim.

After the first year in business my company received seven or eight chargebacks, which occurs when anybody that owns a credit card goes to their bank and says “I didn’t purchase this” or “I’m not happy with the product or service I received.”  Chargebacks are a whole post in itself, so I won’t ramble too much about their pain right now.  Anyway, this past year we’ve received one chargeback and it wasn’t because of a third party fraud, the guy ordered a product that was on backorder and wasn’t happy that he was too ADD to notice the website or read the email stating the product was on backorder.  Anyway, I’ve become much more acute to identifying fraudulent transactions as they arrive in effort to minimize losses, but I’m not perfect by any means.  I’ve probably canceled a valid order or two in the past year because the risk of filling the order was too high.  Today for example, somebody ordered $15 worth of product and paid $55 for second day air shipping.  I stand to earn about a buck… no, actually, I’d lose about fifty cents if all goes well, and risk losing $70 plus bank fees, which can be up to $50 depending on how mean your bank is, on this order it it were fraudulent and the card owner performed a chargeback.

Methods I use to determine fraudulent transactions:

1. Require the customer to enter the CVV code on the back of their credit card. The idea is that the customer would have to have possession of the card in their hands at the time of the order.  This is not foolproof by any means because they might just be an untrustworthy online merchant that stores all this data in plain text.   The CVV code may deter some fraud, but in reality, this information can be just as easy to obtain as the credit card number itself.

2. Use Address Verification Service (AVS)

3. Pay attention to the products ordered. With most fraudulent orders, the customer will order a high quantity of just one product.  They will not order a variety of products or be very selective or price conscious.

4. What speed of shipping did they choose and how much does it cost it relation to the product cost? Speed of delivery is important.  We offer 1-3 day UPS ground shipping on our sites, but still offer UPS 2nd day air and UPS 1 day air delivery options.  Typically, what would cost $10 to ship via UPS ground will cost $50 UPS 2nd day air and $100 UPS 1 day air.  The scammer in these cases cannot get the product in their hands fast enough; they will choose an upgraded shipping option as the cost means nothing to them.  Occasionally a valid customer will order $50 worth of product and pay $50 to have it shipped, but it’s about 1 in 250 orders.  I do have a regular customer that buys $30 worth of product and pays $22 for UPS 2nd day air instead of $7 for 1-3 day shipping.  The more reliable delivery date is worth it to some people.  However, be very weary of these transactions, especially if it’s the first time a customer has ordered from you and the shipping prices is as much or more than the product total price.

5. Watch for a customer that tries multiple declined credit cards right after one another.  The most likely reason they’re being declined is because they’ve been reported stolen.  I’d be cautious of anybody that must use three or more credit cards to submit  valid transaction.

6. When is the last time the customer ordered from you? It’s common that you’ll have new customers and it’ll be the first time they’ve ordered from you, so don’t get too worried about that.  With my sites, I estimate 50% of our orders are first time customer orders.  The one to watch out for is if the customer placed multiple orders with you with a short time span between orders, say less than four days apart.  Back when I was a rookie at this, I had a guy place an order for over $300 worth of product, then placed another large order, which contained many of the same products as the first, only two days later. Then a third order was placed shortly thereafter.  I was very excited to get a few great orders, but really just had the blinders pulled over my eyes.  By the time I received the chargeback for the first order a month later, I’d sent him over $1200 worth of product and he was long gone.  That’s a $1200 out of pocket mistake I don’t want to make again.

7.  Attempt to communicate with the customer either by email or phone. More often than not, somebody who is out to scam you wants no communication with you whatsoever.  They might provide a very odd looking email address and phony phone number.  I have received email responses from some frauds and they’re usually very short emails; about half the time they respond with one word.  Calling the customer and verifying the billing address on the credit card is a pretty good way to catch them off guard, if they gave you their real phone number.  If they hesitate on the billing address, don’t send them anything!

8. Email address should not be that of the person on the shipping address. The person ordering the product will usually provide their email address in case of any billing issues. Be very cautious if the email address belongs to the delivery person as that indicates they’re in charge of the purchase while using somebody else’s credit card.

9. Phone number should not be that of the person on the shipping address. This is for the same reason as #8. Look up the area code on google and find what state and cities the phone number could be from. Be cautious of it matches the delivery city/state and not the billing city/state.

10.  Validate the shipping address and phone number on This website will tell you who lives at the residence.  It’s a useful tool to help guide your decision, but it’s not foolproof by any means.  A lot of my customers live in apartments and hop around frequently, so the records are many times out of date.  You can do the same with a reverse phone number lookup, but it doesn’t work on cell phones.

11.  Require that the customers Enroll in Verified By VISA. This program allows customers to assign a password to their credit card so the password must be entered each time when making a purchase online.  If all merchants required this, it would be a great success.  The customer will complain because it’s a few extra clicks and pecks on the keyboard and takes an extra minute, so you will most likely see an increase in abandoned orders during the checkout process.  The bad news is, even as a customer, if you enroll in Verified By VISA, the scammer will simply purchase products from a site that does not have this program implemented into their checkout.