ArsDigita Archives

ArsDigita Shoppe

for AOLserver by Eve Andersson, Jin Choi, and Philip Greenspun, part of ArsDigita Free Tools
This collection of software lets you sell products from your Web site using our favorite Web server, AOLserver, with the Oracle RDBMS and the CyberCash gateway to credit card processors. The example data model and Tcl scripts would probably be useful if you're starting almost any ecommerce site. The module for AOLserver is only going to be useful if you've decided to use both AOLserver (free) and CyberCash (not free).

The philosophy and architecture of the ArsDigita Shoppe are explained in the ecommerce chapter of Alex and Philip's Guide to Web Publishing.

This is free software, copyright ArsDigita and distributed under the GNU General Public License. There are at least two multi-$billion companies using the code right now.

Our reference implementation is handling charitable contributions from readers of at


The customer-to-AOLserver connection is encrypted if you install and use the nsssl module (provided by the AOLserver team). The AOLserver-to-CyberCash connection is encrypted by the CyberCash API. We have chosen in this system not to keep credit cards in the database. This is good because if your Unix box is attacked, the cracker cannot get a big table full of credit card numbers. This is bad because if CyberCash is down, we are forced to reject orders. CyberCash claims 99.8% uptime but, even if this were true, that doesn't mean that they can always talk to your card processor. Our experience with CyberCash is limited but so far they've been unreachable and/or rejecting valid cards about 10% of the time that we've wanted to test our software or handle orders.

Configuring Your CyberCash Account

The software as delivered expects that you've configured your CyberCash account to be in auto-settle, manual-mark mode (and your card processor account for "terminal" rather than "host"). Soft goods sold via ArsDigita Shoppe will be marked for settlement immediately. Hard goods that must be shipped aren't marked until you go to the fulfillment admin page and say "we shipped this". CyberCash then batches up the marked transactions and settles them automatically every night.

How to Install

  • contact CyberCash and your bank to get a merchant ID + CyberCash CCID
  • download the Merchant Connection Kit from (we built our system using version 3.2)
  • download and compile cybercash.c from cybercash-0.1.tar.gz, which includes a README
  • unpack our Tcl scripts into /shoppe under your server's pageroot: shoppe.tar.gz
  • feed the /shoppe/doc/data-model.sql file to Oracle
  • add an AOLserver permission record to restrict access to /shoppe/admin (exact match NOT required)
  • add a symlink from your AOLserver private Tcl directory to the /shoppe/tcl directory
  • edit /shoppe/tcl/defs.tcl to include your site's name, email addresses, etc.
  • add the named procedures from philg's utilities.tcl to your AOLserver shared or private Tcl directory (download
  • augment your nsd.ini file as follows:
  • download the country code data (country-codes.dmp) and load it into Oracle by typing imp at the Unix prompt
If this sounds too difficult, you can always hire ArsDigita to install, maintain, host, customize, etc. your ecommerce site.