Getting Started with e-commerce
The world of online sales, whether of products or services, can be daunting at first; the options seem confusing and the information conflicted. Yet as the designer or developer of an online store, you will need to guide your client through the maze of choices in order to get it up and running.
I have developed many e-commerce websites during my career as a Web developer. I’ve used and modified off-the-shelf software and have also developed custom solutions — so I know from experience that there are a number of important questions to answer before presenting possible solutions to a client. Getting all the pertinent information up front is vital if such a project is to run smoothly, and it can save you from delays during the process. It can also help you advise the client on whether they need a full custom cart or an open-source or off-the-shelf product.
This article responds to some questions you should be asking of your client before putting together a proposal for the development of an e-commerce website. I’ll explain the most important things to think about in terms of taking payments and credit card security. It should give you enough information to be able to guide your client and to look up more detailed information about the aspects that apply to your particular situation.
What this article doesn’t cover is the design and user experience side of creating an e-commerce website, because gathering this information would normally occur alongside the designing and branding of the website.
WHAT YOU NEED TO KNOW?
It is really tempting to select a solution based on something you have used before or perhaps after asking around to see what others recommend. But you can get stuck in a rut this way. Every online business has different needs, so one solution is unlikely to fit all. Before writing any code or trying an off-the-shelf package, you need to ask yourself or your client a few questions:
– What are you selling?
– What shopping functionality should you offer?
– How will you take payment?
– How will items be delivered?
– What reporting and other functionalities are required?
WHAT ARE YOU SELLING?
Your online store may be selling physical products that are shipped by the postal service or a courier to the customer after a completed purchase. Or it might be selling products that are delivered electronically, such as e-book downloads, MP3 music or software. Donations and subscriptions are types of transactions to consider as well.
WHAT SHOPPING FUNCTIONALITY SHOULD YOU OFFER?
Will you be selling a single item, (such as an e-book) or will visitors need to be able to browse and add multiple items to their cart? Are these items associated with disting options? If you’re selling t-shirts, for example, size and color might be options to inlcude. Are categories needed to make orders easier? Will a given item be listed in only one category, or could it be found in several? Would the ability to tag items be useful, or the ability to link them to related items (thus allowing the store owner to promote accessories for items that the customer has added to their cart)?
Will there be special offers on the website? Standards ones are “Buy one, get one free, 20% discount, Two for one and “buy item x and get item y at half price. Setting up these kinds of offers can be quite complex if you are developing a custom system; and if you’re buying an off-the-shelf solution fot the store, then you’ll need to know whether it support them.
The devil (and the budget) is in the details. If your client is expecting particular functionality, find out about it now.
ACCOUNTS AND TRACKING ORDERS
Part of the user experience could include managing an account and tracking orders. Must users create accounts, or is it optional? Can they track their order and watch it move from “processing” to “shipped”? Account functionality must include basic management functions, such as the ability to rest a forgotten password and to update content details.
HOW WILL YOU TAKE PAYMENT?
You’ll likely need to accept credit and debit card payments from customers. There are a number of options that range in complexity and expense.
PayPal is a straightforward way to take payments online. The advantages are that creating a PayPal accoutn is easy, it doesn’t require a credit check, and integration can be as simple as hardcoding a button on your page or as involved as full integration. Google Checkout offers a similar service (and a similarly low barrier to entry), as does Amazon (in the US) through Amazon Payments.
Using A Merchant Account
To accept card payments directly, rather than through services like PayPal, you will need an Internet Merchant Account. This enables you to take credit card payments and process the money to your bank account. If you have an existing merchant account for face-to-face or telephone sales, though, you will not be able to use it for online transactions. Internet transactions are riskier. So, to start trading online, you’ll need to cotnact your bank. The bank will require that you take payments securely, in most circumstances via a payment service provider (or PSP, sometimes called a payment gateway).
What you should definitely NOT do is store card details in order to enter them in an offline PDQ later. This would be against the terms of the merchant agreement. So, unless you have written permission from your bank saying you are allowed to do this, and you’re complying with the PCI DSS, just don’t/
The Payment Gateway
The purpose of the payment gateway is to take the card payment of your customer, validate the card number and amount and then pass the payment to your bank securely. You can interact with a payment gateway in two ways:
– Via a pay page: The user moves from your website to a secure page on the payment gateway server to enter their details.
– Via API integration: The user enters their card details on your website (on a page with a secure certificate installed, running SSL), and those details are then passed to the gateway. Your website acts as the intermediary; the user is not aware of the bank transaction happening, having seen it only via your website.
What About Delivery?
If you are selling physical items that need to be shipped, you’ll need to charge somehow for the shipping costs and perhaps arrange for order-tracking. Because you’re selling online, you may attract customers from other countries, so you’ll need to decide how to calculate shipping for different destinations. Otherwise, limit potential buyers to people in your country or a small group of countries.
When customers buy a digital item (an e-book, music or software) they expect to be able to download their item quickly after purchase. For digital products, delivery takes the form of a link or a page in their profile where the product can be downloaded (and a license code issued if required).
Your system will need to be able to secure products prior to download and provide an account – or at least an emailed link – through which the download can be accessed. When selling software, you may also need to generate a product code.
Reporting And Other Functionality
Your client will need to receive and process orders as they come in, and they might also need to mark imtes as shipped as they are processed. Some form of download to CSV would likely be helpful to allow a mail-merge of data onto address labels, as would the ability to import to an offline accounting system of payment information. Other questions to ask your client are:
– Do you need the system to be linked to any other system (for example, a system running in a street shop or an accounting package with particular data requirements)?
– Do you need to be able to control stock through the website?
– How do you want to deal with orders that you can only partially fullfill?
– Will the website generate invoices or will this happen offline?
Most successful store owners will want to automate their accounting processes eventually in order to avoid duplicating data when calculating their year-end accounts. Many accounting systems have an API that allow you to send transactions from the store automatically to the accounting page.