[Zope] Online shopping / ecommerce tips

Brad Clements bkc at murkworks.com
Tue Oct 28 13:07:14 EST 2003


On 28 Oct 2003 at 10:47, Toby Dickenson wrote:

> > Can you give a hint as to what you're looking for?
> 
> I was hoping for a solution for handling shopping carts, checkout processing, 
> payment. A ready-made solution, so I dont have to think too much obout my 
> requirements ;-)

Well, since you have to integrate with an existing system, you're going to have to 
modify any off-the-shelf component you find. I found the shopping cart to be trivial to 
do, so not worth trying to package as a product.


on http://www.adirondackcraft.com we use a SESSION to hold a dict. The dict is keyed 
on item-number and the value is qty.

Add to cart and remove from cart functions adjust the dict's values.

When the customer clicks on "checkout", we pickle the dict's content into the URL and 
switch the browser to https. We had to put the dict into the url because some browsers 
dropped the session cookie when moving to https mode.

The first https: url they land on is the "billing info" page. We have a database with an 
order table, and a line-items table. We create a new order record, populate the line 
items with the contents of the dict (encoded in the url when they first enter this page).

Then we use a 'wizard like' interface to step them through billing info form, shipping info 
form and finally entering the credit card info.

The credit card info doesn't get recorded in the database, instead we use the 
Cybercash Zope product to call out to (oh, guess it's verisign now) for real-time CC 
processing, then we record the AUTH details in the order record, navigate the user to a 
"here's a copy of your invoice page" and also email them a copy of their invoice.

We spent far more time working on the layout of the forms than the backend 
processing. It's pretty easy, actually.

> Also, something open enough that I can integrate it with the existing site 
> that has a product catalog, but no way to purchase online. 
> (http://www.geminidataloggers.com/products/selector)

First step, the 'cart' using a SESSION dict. 


-- 
Brad Clements,                bkc at murkworks.com   (315)268-1000
http://www.murkworks.com                          (315)268-9812 Fax
http://www.wecanstopspam.org/                   AOL-IM: BKClements




More information about the Zope mailing list