closedShop - The Open Source Shopping Cart About three years ago I was faced with the challenge of putting together an e-commerce site that would not require online credit card processing. Although I searched briefly, I only found expensive solutions. Thus I began work on closedShop, an open source shopping cart. Over the past three years there's been over 15,000 downloads spread across 10 releases. Basically, closedShop is a free shopping cart written in Perl, using mySQL, that allows anyone to set up shop with no online credit card processing necessary. They can process the credit cards manually, as most businesses already have a manual credit card processor. Before we go into a tutorial on how to set it up and start accepting orders, it's good to know what closedShop offers: * Add/Edit/Remove Products * View/Process Orders * Sales Reports * View Customers/Email Customers (with mail merging) * Affiliates and Affiliate Reporting * eBay integration for adding products and listing at the same time * PayPal integration * Payments for major credit cards, paypal, cod and checks * Customer logins and Wishlists * Group pricing discounts * Allows for Tax Exempt Customers * TinyMCE for textarea editing (http://www.tinymce.com) * Searching capabilties * Total customization through templates for Item Display and Categories * SSL capable * Language support for English and Tongan * Backup/Exporting features for Orders, Customers, Items and the complete database * Product Importing from flat-file or Excel worksheets * Gift Certificates * Sub-Categories * Products with attributes and ability to charge extra for different attributes * Ability to add as many attributes as desired * Thumbnail or Text view of categories * Inventory Tracking * State/National/Country Taxes * Shipment Tracking for major carriers (FedEx, USPS, UPS) integrated into the program * MaxMind Fraud Prevention Module - MaxMind Credit Card Fraud Detection tools automatically sift through your online charges to flag potentially fraudulent transactions. The service works by combining MaxMind GeoIP geolocation metrics - identifying the geographic source of the charge - with additional checks for known fraud risks.
* PreCharge Module - preCharge is a fraud evaluation service that is integrated into closedShop * Authorize.NET Module - for real-time credit card processing If that's what you need, then closedShop is a pretty good solution for you. The first thing you need is to download the latest version (2.1) from sourceforge ( http://closedshop.sourceforge.net). After downloading, unzip the contents into your cgi-bin directory. Make sure the all the files have 755 permissions (closedShop doesn't work very well on Windows, only *nix types). Most FTP programs allow you to change permissions (also known as chmod). You'll want to make all the files read-write-execute for the owner, read-execute for the group, and read-execute for everyone else. This set of permissions is also known as 755. You need to take special care with the file closedShop.vars which must be able to be written by the webserver program. This file will store all variables and the server has to be able to put the variables in this file, thus it must be "writeable" by the webserver program. Most web-hosters allow this automatically. If your server does not allow it, closedShop will tell you so and will not attempt the installation. If you see this message you may need to contact your webhoster and tell them you'd like to allow the webserver to write to the file. Assuming you have passed that main hurdle, you will now go to your webbrowser and access the file called Install.pl. If you put closedShop in your cgi-bin, then to access Install.pl, you'd type http://www.yoursite.com/cgi-bin/Install.pl A webpage will come up and ask you to enter some important information. Some of it will be about your company, some about taxing, some about how you would like your tables to appear. For most of the data you can leave the default. The most important information is about the mySQL database. You must have access to a mySQL database before installation. Most webhosters allow access, but you may need to request beforehand. Then they will send you a mySQL username/password and database name. You will put this information into the mySQL database section. The other important section is the admin password and merchant password. The admin user will allow you to make all changes to the program, while the merchant account shows fewer administrative changes and is more for processing orders. It allows two people to log on at the same time as well. Remember those passwords, you will need them to log in. After you fill out the rest of the data, press Install and it will take about 30 seconds to prepare everything. Afterwards, you'll see a screen that says go to the Admin.pl script. There are four scripts that do the different functions. Admin.pl is administrative tasks. Cart.pl is for the shopping cart and checkout procedures. User.pl is for individual clients to login and watch the order tracking as well as manage their wishlist. Item.pl displays items and categories and also allows for searching. Once you log into Admin.pl you will see the different options. You may want to edit category information first for the categories you entered in the Install. Note: if you want to add more categories or change the name, then go to "Edit Program Variables." Other information about categories can be viewed as well in the "Edit Categories" section. After editing categories, you should start adding products, either through the "Add Product" option or through importing. When adding a product, you also have the option of posting the item to eBay at the same time. The eBay information will be below the main information and is not required. Finally, you need to integrate closedShop into your site. You'll find important links under the "View Important Links" option. This tells you the URLs for each category, Searching, User logon and the Shopping Cart. If you have a standard design for your site you can allow closedShop to use that design with the header and footer variables in the "Edit Program Variables." The header is a file that contains the top part of the HTML for your design. The footer is a file that will contains the bottom part of the HTML for your design. closedShop will insert itself into the middle. These files could be made and put in the cgi-bin. Normally, you would name them header.html and footer.html and put those respective values into your program variables. You should then take the links you want to use, like Searching, and link them into your design. An example of this can be found at Demo Site on the closedShop website (http://closedshop.sourceforge.net) Of course, you should also use SSL if possible. Customers will be entering their credit cards over the site and you will be viewing them. If you're not using SSL capabilities then there is a greater possibility of having the data stolen. Most webhosters allow customers to use their SSL certificates and SSL processing. It may be a different link than what you are used to seeing though, something that looks like it is from the webhoster. In this case, you'll want to change the program variables and change the names of the files to use the https:// and then type in the full URL to the secure location. You'll also need to change the image directory URL to the secure path, otherwise users may get messages complaining about a mixture of secure and non-secure. You should always access the Admin.pl script using the secure connection, otherwise you leave yourself vulnerable to theives. The program has been designed to be as straight-forward as possible. If you go to each script, you will see the default screen appear initially. There is also more information in the documentation that comes with each release. Of particular interest might be the template features, which allow you to mix in Perl programming with your template in order to totally customize the look and feel of Item and categories. If there are questions, comments, concerns, suggestions or other communique, they can always be directed to (chris at fightliteracy dot com). ** whole sale inclusion of tiny_mce into the program.