Shopping cart

Definition
A shopping cart is software used on e-commerce sites to assist people making purchases online. The software allows online shopping customers to accumulate a list of items for purchase, described metaphorically as "placing items in the shopping cart." Upon checkout, the software typically calculates a total for the order, including shipping and handling (i.e. postage and packing) charges and the associated taxes, as applicable.

How it works
These applications typically provide a means of capturing a client's payment information, but in the case of a credit card they rely on the software module of the secure gateway provider, in conjunction with the secure payment gateway, in order to conduct secure credit card transactions online.

Some setup must be done in the HTML code of the website, and the shopping cart software must be installed on the server which hosts the site, or on the secure server which accepts sensitive ordering information. Shopping carts are usually implemented using HTTP cookies or query strings. In most server-based implementations however, data related to the shopping cart is kept in the session object and is accessed and manipulated on the fly, as the user selects different items from the cart. Later the information is accessed and an order is generated against the selected item thus clearing the shopping cart.

Although the most simple shopping carts strictly allow for an item to be added to a basket to start a checkout process (e.g., the free PayPal shopping cart), most shopping cart software actually provides additional features that an Internet merchant uses to fully manage an online store. Data (products, categories, discounts, orders, customers, etc.) is normally stored in a database and accessed in real time by the software.

Components
Shopping cart software typically consists of two components:


 * Storefront: the area of the Web store that is accessed by visitors to the online shop. Category, product, and other pages (e.g., search, best sellers, etc.) are dynamically generated by the software based on the information saved in the store database. The look of the storefront can normally be changed by the store owner so that it merges with the rest of the website (i.e., with the pages not controlled by the shopping cart software in use on the store).


 * Administration: the area of the Web store that is accessed by the merchant to manage the online shop. The amount of store management features changes depending on the sophistication of the shopping cart software chosen by the merchant, but in general a store manager is able to add and edit products, categories, discounts, shipping and payment settings, etc. Order management features are also included in many shopping cart programs. The administration area can be:
 * Web-based (accessed through a Web browser)
 * Desktop-based (a desktop application that runs on the user's computer and then transfers changes to the storefront component).

Licensed vs. Hosted shopping carts
Shopping cart software can be generally categorized into two main categories.


 * Licensed software: The software is downloaded and then installed on a Web server. This is most often associated with a one-time fee, although there are many free products available as well. The main advantages of this option are that the merchant owns a license and therefore can host it on any Web server that meets the server requirements, and that the source code can often be accessed and edited to customize the application.
 * Hosted service: The software is never downloaded, but rather is provided by a hosted service provider and is generally paid for on a monthly/annual basis; also known as the application service provider (ASP) software model. Some of these services also charge a percentage of sales in addition to the monthly fee. This model often has predefined templates that a user can choose from to customize their look and feel. In this model users typically have less ability to modify or customize the software with the advantage of having the vendor continuously keep the software up to date for security patches as well as adding new features added.