On most retail Web sites, the process of completing a purchase is spread over a sequence of several distinct pages. For example, after clicking the "Check Out" button, the shopper is probably asked for a variety of information such as their billing and shipping addresses and their credit card information. They are also asked to confirm the correctness of the order and approve any ancillary costs such as for tax, shipping, or handling.
The implementation of such a sequence of pages is largely a matter of Web site programming that is beyond the scope of Commerce Server itself, although the Retail Solution Site available on the Commerce Server Web site, and the .NET Retail Sample Site available in the Commerce Server 2002 SDK, provide working versions of such page sequences.
The Commerce Server 2000 Retail Solution Site contains several pages that implement one such sequence of purchase completion pages:
|These pages are used for entering and maintaining addresses for the shopper. The address book feature is more advanced, and allows a shopper to maintain a number of different shipping and/or billing addresses. The page _setadrs.asp is used to process entered addresses, but does not itself present an interface (as indicated by the Solution Sites convention of starting the file name with an underscore character), ending by re-directing the shopper to a different page.|
|These pages work together to allow the shopper to choose from the available shipping options.|
|summary.asp||This page shows the shopper a summary of the order.|
|These pages allow the shopper to enter information related to how they are going to pay for the items purchased, using a credit card in the case of the page crdtcard.asp, and using a purchase order in the case of the page po.asp.|
|confirm.asp||This page allows the shopper one last chance to confirm that the order and all of the related information is correct before submitting it for processing.|
These pages call Commerce Server objects to perform their respective tasks using the Transactions and Transactions Config resources (databases). Commerce Server pipelines are used to perform some parts of the purchase completion processing. See the next section, "Object Support for Purchase Completion" for more information.
The ASP.NET-based International Retail Site, included in the Commerce Server 2002 SDK, defines numerous controls and classes related to purchase completion. These include controls categorized as Accounts controls and Transaction controls. As in other areas of functionality, the controls are implemented in a pair of files of the same name, with HTML for the control defined in a .ascx file and the code for the control defined in a .ascx.vb file. Each control inherits from the class of the same name.
The ASP.NET classes related to purchase completion are also found across a number of different classifications and their corresponding namespaces. These include the namespaces Microsoft.CommerceServer.Site,
Microsoft.CommerceServer.Site.Accounts, Microsoft.CommerceServer.SiteComponents, Microsoft.CommerceServer.Site.Transactions.
These classes access the Commerce Server objects related to purchase completion primarily through the Commerce Server Base Class Library (BCL) namespaces Microsoft.CommerceServer.Runtime.Orders, Microsoft.CommerceServer.Runtime.Profiles, and Microsoft.CommerceServer.Runtime.Pipelines.