# Shopping cart software

Shopping cart software is a piece of e-commerce software on a web server that allows visitors to have an Internet site to select items for eventual purchase.
The software allows online shopping customers to accumulate a list of items for purchase. At the point of sale, the software typically calculates a total for the order, including freight transport, postage as well as packaging and labeling. Associated taxes are calculated as applicable. This software also allows for a final review of the shortlisted purchase and the choice for a user to modify the purchase. The data is used in online marketing particularly in the form of abandoned carts.

## History

The development of web shop systems took place right after the Internet became a mass medium. This was a result of the launch of the browser Mosaic in 1993 and Netscape in 1994. It created an environment in which web shops were possible. The Internet therefore acted as the key infrastructure development that contributed to the rapid diffusion of the e-commerce, a subset of e-business that describes all computer-aided business transactions. In 1998 a total of 11 e-business models were observed, one of which was e-shop business model for a B2C (business-to-consumer) business—also called the “online shop” The two terms “online shop” and “electronic” or “e-shop” are used interchangeably. The term “online shopping” was invented much earlier in 1984. Today the term primarily refers to the business-to-consumer transactional business. In order to enable “online shopping” a software system is needed. Since “online shopping”, in the context of the B2C business model, became broadly available to the end consumer, internet-based “online shops” evolved.

## Technical definition

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 server which accepts sensitive ordering information. E-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 in the process of finalizing the transaction, 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 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.
Shopping cart software is also known as e-commerce software, e-store software, online store software or storefront software and online shop.

## 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, bestsellers, 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 web site (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).
* API: most of the major shopping cart software solutions offer an API which allows third-party solution providers to build integrations to the shopping cart software. For example, an accountancy platform like Xero or QuickBooks will build an integration with the shopping cart software so that orders placed on the shopping cart are automatically exported as invoices.

## Types

Shopping cart software can be generally categorized into three types of E-commerce software:
* Open source software: The software is released under an open source licence and is very often free of charge. The merchant has to host the software with a Web hosting service. It allows users to access and modify the source code of the entire online store.
* Licensed software: The software is downloaded and then installed on a web server. This is most often associated with a one-time fee, 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.
* Hosted service: The software is never downloaded, but rather is provided by a hosted service provider and is generally paid for on a monthly or 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 (often known as themes) that a user can choose from to customize the look and feel of their website. Predefined templates limit how much users can modify or customize depending on what platform the template is used on. Some platforms like Shopify, BigCommerce or ShopWired allow users to edit the individual files that their template is made from, often using a templating language to render dynamic content (such as Shopify's Liquid or Twig). Hosted services offer the advantage of having the vendor continuously keep the software up to date for security patches as well as adding new features.

## PCI compliance

The PCI security standards are a blanket of regulations set in place to safeguard payment account data security. The council that develops and monitors these regulations is composed of the leading providers in the payment industry: American Express, Discover Financial Services, JCB International, Mastercard, and Visa Inc. Essentially, they define the best practices for storing, transmitting, and handling of sensitive information over the internet.
Visa Inc. can hold shopping cart software providers responsible for liability that may occur as a result of non-compliance to Visa's regulations. For this reason, Visa Inc. may require that online merchants use shopping cart software providers from their list of PCI DSS-validated service providers.