The checkout process encompasses a number of steps: applying promotions, calculating taxes, specifying shipping options and payment options, etc. These steps are handled through a sequence of pages that the customer steps through. Most of the JSPs for these pages are found in the store.war/checkout/ and store.war/checkout/gadgets/ directories.

Each checkout page displays a progress bar that indicates the stages of the process. In the following example, the customer is in the Billing stage:

This illustration is described in the preceding text.

The exact set of pages the customer steps through can vary depending on context. For example, if the customer is not logged in when he or she clicks the Checkout button, a Login page (store.war/checkout/login.jsp) displays, with options for logging in to an existing account, creating a new account, or checking out without logging in. If the customer selected the “Add gift note” option on the shopping cart page, the Your Gift Message page (store.war/checkout/giftMessage.jsp) displays during checkout, with a form for creating a gift note.

Express Checkout

In addition to the standard checkout button, the shopping cart page also includes an Express Checkout button if all of the following are true:

The store.war/cart/gadgets/actionItems.jsp gadget invokes the /atg/store/droplet/ExpressCheckoutOk servlet bean, which determines whether these conditions are all true and, if so, renders the Express Checkout button. This component is a Commerce Reference Store-specific servlet bean of class atg.projects.store.droplet.ExpressCheckoutOkDroplet.

Clicking the Express Checkout button takes the customer directly to the Confirm stage, using the default shipping address and credit card. In this case, the Confirm page includes a field for entering the card’s security code, since this is normally done in the Billing stage.