The LinkedResources Applescript Factory
CartHandle
Applescript based shopping cart software for MacOS servers
[System Requirements]
[Getting Started]
[Pricing]
[Frequently Asked Questions]
CartHandle (currently at version 0.39) is a suite of Applescript CGIs which allow
Applescript savvy users to implement a functional shopping cart on MacOS servers.
If you are reasonably comfortable with Applescript and HTML, you have in
cartHandle an inexpensive, flexible tool for e-commerce.
System Requirements
- MacOS version
- CartHandle was developed and tested on MacOS 8.6 and 9. It should work under
8.5.1 as well; please let me know. Using cartHandle with earlier versions of the
MacOS is entirely at your own risk, but please let me know how you do with it. I
have found the most stable configuration to be MacOS 9.2.2 + WebSTAR 4.5.
- Memory
- Each of the CGI scripts is allotted 768k (I gave showcart.acgi more, but I'm
not certain it's necessary). They choke somewhere below 512k because of the size
of the cart.hndl library which it loads at runtime. Feel free to increase the
memory allocation.
- Server Software
- CartHandle has been tested with Personal Web Sharing and WebSTAR 4.x
(including 4.5). While it "works" with PWS, my experience was that PWS crashed
and burned early and often under loads of a few thousand hits a day, making it
grossly unstable and unusable for anything even pretending to be mission
critical. PWS is acceptable for testing, not deployment.
Top of Page
Getting Started
- Download the package (this is version
0.30; a dramatically improved version 0.40 is available now for custom installation)
- Unstuff it (needs Stuffit
Expander 5.5 or newer but may work with 5.12)
- Run the installer, which should semi-automatically
- Place the Applescript CGIs in the folder "Startup Disk:Web
Pages:shoppingcart:"
- Place the files "shop.html", "customeradditem.html",
"merchantadditem.html", "sample.html", and "sample2.html" in the folder
"Startup Disk:Web Pages:"
- Place Tanaka's osax in the folder "Startup Disk:System
Folder:Scripting Additions:"
- Set the folder "Startup Disk:Web Pages:" as the root folder for
Personal Web Sharing.
- Attempt to open the Web Sharing control panel.
- If you choose to (or must) start Personal Web Sharing
(PWS) manually, here's how.
- Make sure both the Web Sharing Extension and the Web Sharing control
panel are enabled in the Extensions Manager. Restart if necessary.
- Open the Web Sharing control panel.
- Select "Startup Disk:Web Pages:" as the Web Folder.
- Select "shop.html" as the Home Page.
- Start PWS. You may need to be connected to the internet or to a LAN
for this to work.
- Double click on "shop.html" in the Web Pages folder and read
carefully, or take your browser directly to <http://127.0.0.1/shop.html>.
- Take cartHandle for a test drive by double clicking on the file "shop.html"
in the Web Pages folder.
Top of Page
Pricing
CartHandle is not freeware or public domain. If you use it in a way which allows
actual transfers of money to occur, you must pay for it. There are 4 levels:
Shareware ($50) - Allows deployment on a single site. No guarantees of
support (I'll try though).
Commercial ($100) - Allows deployment on a single site. You'll get support
at a higher priority level.
Developer ($1000) - Allows you to deploy cartHandle royalty free on many
sites, with a high level of support, including full code access. I reserve the
option of charging additional fees if the support demands get too high.
Owner ($100,000) - Buy all the rights to cartHandle (and hire me too?)
Top of Page
Frequently Asked Questions (FAQs)
Q: Is cartHandle the best all around shopping cart solution for everyone
under the sun?
A: Not at all. It is for Mac users using Mac servers who have at least
some familiarity with Applescript and HTML. It is lean and inexpensive. It is
definitely intended as a very expandable base for implementing e-commerce.
Q: How can I modify cartHandle to suit my needs?
A: You must have some familiarity with Applescript to make changes to
cartHandle, including the necessary localizing changes. Study the code in the
scripts. Developers have access to the code base in cart.hndl, the library file,
and can alter it if they also change the name (eg. to "merchantcart.hndl"). In
other words, if the name is cart.hndl, it must remain exactly as is. The CGI
scripts may be modified but not further distributed (and must be modified to use
the new name you give to cart.hndl - don't worry, it's easy). Other CGI scripts
may be used to augment the functionality of cartHandle.
Q: What localizing changes?
A: In each of the five ".acgi" scripts there are several properties which
need to be localized, such as the merchantID as established with Authorize.Net.
Open the scripts and they should be fairly self explanatory.
Q: What if I don't localize cartHandle?
A: The release version is localized for FyHome.com, the first client to
implement cartHandle. Using the confirmitem, showcart, and showprofile functions
won't have any practical implications other than creating the impression that
your business is called "FyHome.com." However, not localizing the other 2 or 3
scripts (checkout and createinvoice, and showinvoice in older versions) will have
severe functional implications. You can experiment with the first 3 scripts as
is, but the last 3 must be localized before they will even work for you (and you
will need to establish a merchant account with Authorize.Net.
Q: What is Authorize.Net and
how do I use it?
A: Authorize.Net is an Internet service for processing credit card and
bank debit transactions and effecting the transfer of money. You must set up a
merchant account through your bank before such transactions can occur. CartHandle
includes all the code for the ADC Relay Response method. You can find out more
about this and other methods of interfacing with Authorize.Net at http://secure.authorize.net/docs/developersguide.pml.
Q: Can I use another credit card processing service?
A: Yes, but you will need to significantly modify the code in the
checkout.acgi and probably also the createinvoice.acgi scripts. If you do, please
send a copy to me (address below) so I can consider including it in future
releases of cartHandle.
Q: How many items can I have in my store?
A: CartHandle is not a database. You can make your store as large as your
business, Mac server, hard drive, etc. can handle. You've just got to determine
how to build it (hint: use Applescript).
Q: How many items can someone hold in his cart?
A: There is no specific limit, but it takes cartHhandle between 0.05 and
0.5 seconds per item (depending on data complexity and CPU speed) to render the
cart. Carts with more than 30 items can become unwieldy, so it's a good idea to
encourage your customers to check out before then.
Q:Is cartHandle secure?
A:There is very little inherently secure in the shopping cart itself
(unique shopperIDs is about it). Because cartHandle uses Authorize.Net for credit
card transactions, that portion of the user experience is secure. There should be
no reason cartHandle cannot be run on a secure server. Please let me know if any
problems arise when you try.
Q: I don't have a server. Can you host my store and my cart?
A: Yes, starting at $100 per month for site and shopping cart hosting and
maintenance, more as volume dictates.