Tài liệu Beginning ASP.NET 2.0 E-Commerce in C# 2005 doc - Pdf 10


Beginning ASP.NET 2.0
E-Commerce in C# 2005
From Novice to Professional
■■■
Cristian Darie and Karli Watson
Darie-Watson_4681Front.fm Page i Thursday, September 22, 2005 5:26 AM
Beginning ASP.NET 2.0 E-Commerce in C# 2005: From Novice to Professional
Copyright © 2006 by Cristian Darie and Karli Watson
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording, or by any information storage or retrieval
system, without the prior written permission of the copyright owner and the publisher.
ISBN (pbk): 1-59059-468-1
Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1
Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence
of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark
owner, with no intention of infringement of the trademark.
Lead Editor: Ewan Buckingham
Technical Reviewer: Paul Sarknas
Editorial Board: Steve Anglin, Dan Appleman, Ewan Buckingham, Gary Cornell, Tony Davis, Jason Gilmore,
Jonathan Hassell, Chris Mills, Dominic Shakeshaft, Jim Sumser
Project Manager: Kylie Johnston
Copy Edit Manager: Nicole LeClerc
Copy Editor: Julie McNamee
Assistant Production Director: Kari Brooks-Copony
Production Editor: Linda Marousek
Compositor: Susan Glinert Stevens
Proofreader: Nancy Sixsmith
Indexer: Broccoli Information Management
Artist: Kinetic Publishing Services, LLC
Cover Designer: Kurt Krames

■CHAPTER 14 Order Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
■CHAPTER 15 Implementing the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
■CHAPTER 16 Credit Card Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
■CHAPTER 17 Integrating Amazon Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
■APPENDIX A Installing the Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
■APPENDIX B Project Management Considerations . . . . . . . . . . . . . . . . . . . . . . . . 651
■INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Darie-Watson_4681Front.fm Page iii Thursday, September 22, 2005 5:26 AM
Darie-Watson_4681Front.fm Page iv Thursday, September 22, 2005 5:26 AM
v
Contents
About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xiii
About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
■CHAPTER 1 Starting an E-Commerce Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Deciding Whether to Go Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Getting More Customers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Making Customers Spend More . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Reducing the Costs of Fulfilling Orders . . . . . . . . . . . . . . . . . . . . . . . . 3
Making Money . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Considering the Risks and Threats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Designing for Business . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Phase I: Getting a Site Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Phase II: Creating Your Own Shopping Cart. . . . . . . . . . . . . . . . . . . . . 6
Phase III: Processing Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
The Balloon Shop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
■CHAPTER 2 Laying Out the Foundations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Designing for Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Meeting Long-Term Requirements with Minimal Effort . . . . . . . . . . 12

Creating Stored Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Adding Logic to the Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Connecting to SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Issuing Commands and Executing Stored Procedures. . . . . . . . . . . 74
Implementing Generic Data Access Code . . . . . . . . . . . . . . . . . . . . . 76
Catching and Handling Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Sending Emails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Writing the Business Tier Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Displaying the List of Departments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Preparing the Field: Themes, Skins, and Styles . . . . . . . . . . . . . . . . 90
Displaying the Departments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Adding a Custom Error Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
■CHAPTER 4 Creating the Product Catalog: Part II . . . . . . . . . . . . . . . . . . . . 105
Storing the New Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
What Makes a Relational Database . . . . . . . . . . . . . . . . . . . . . . . . . 106
Enforcing Table Relationships with the
FOREIGN KEY Constraint
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Adding Categories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Adding Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Darie-Watson_4681Front.fm Page vi Thursday, September 22, 2005 5:26 AM
■CONTENTS
vii
Querying the New Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Retrieving Short Product Descriptions . . . . . . . . . . . . . . . . . . . . . . . 122
Joining Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Showing Products Page by Page . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Writing the New Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Using ADO.NET with Parameterized Stored Procedures . . . . . . . . . . . . 135

8213592a117456a340854d18cee57603
viii
■CONTENTS
■CHAPTER 7 Receiving Payments Using PayPal . . . . . . . . . . . . . . . . . . . . . . 209
Considering Internet Payment Service Providers . . . . . . . . . . . . . . . . . . 210
Getting Started with PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Integrating the PayPal Shopping Cart and Checkout . . . . . . . . . . . . . . . 212
Using the PayPal Single Item Purchases Feature . . . . . . . . . . . . . . . . . . 218
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
■CHAPTER 8 Catalog Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Preparing to Create the Catalog Administration Page . . . . . . . . . . . . . . 221
Authenticating Administrators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
ASP.NET 2.0 and Using Declarative Security . . . . . . . . . . . . . . . . . 229
Implementing Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Administering Departments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Stored Procedures for Departments Administration . . . . . . . . . . . . 244
Middle-Tier Methods for Departments Administration . . . . . . . . . . 244
The DepartmentsAdmin User Control. . . . . . . . . . . . . . . . . . . . . . . . 249
Customizing the GridView with Template Columns . . . . . . . . . . . . 263
Administering Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Stored Procedures for Categories Administration. . . . . . . . . . . . . . 266
Middle-Tier Methods for Categories Administration . . . . . . . . . . . . 267
The CategoriesAdmin Web User Control . . . . . . . . . . . . . . . . . . . . . 270
Administering Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Stored Procedures for Products Administration . . . . . . . . . . . . . . . 278
Middle-Tier Methods for Products Administration . . . . . . . . . . . . . 280
The ProductsAdmin Web User Control . . . . . . . . . . . . . . . . . . . . . . . 284
Administering Product Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Stored Procedures for Product Details Admin . . . . . . . . . . . . . . . . . 295
Middle-Tier Methods for Product Details Admin . . . . . . . . . . . . . . . 298

Displaying Existing Orders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Administering Order Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
■CHAPTER 11 Making Product Recommendations . . . . . . . . . . . . . . . . . . . . . 401
Increasing Sales with Dynamic Recommendations . . . . . . . . . . . . . . . . 402
Implementing the Data Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Adding Product Recommendations. . . . . . . . . . . . . . . . . . . . . . . . . . 407
Adding Shopping Cart Recommendations . . . . . . . . . . . . . . . . . . . . 409
Implementing the Business Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Implementing the Presentation Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
■CHAPTER 12 Adding Customer Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Handling Customer Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Creating a BalloonShop Customer Account Scheme . . . . . . . . . . . . . . . 418
The SecurityLib Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Customer Logins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Customer Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
The Checkout Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Darie-Watson_4681Front.fm Page ix Thursday, September 22, 2005 5:26 AM
x
■CONTENTS
Setting Up Secure Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Obtaining an SSL Certificate from VeriSign . . . . . . . . . . . . . . . . . . . 480
Enforcing SSL Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Including Redirections to Enforce Required SSL Connections. . . . 482
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
■CHAPTER 13 Advanced Customer Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Implementing Customer Order Functionality . . . . . . . . . . . . . . . . . . . . . . 485
Placing Customer Orders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Accessing Customer Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490

Considering the DataCash XML API . . . . . . . . . . . . . . . . . . . . . . . . . 596
Integrating DataCash with BalloonShop . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Business Tier Modifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Testing the Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Going Live . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Using the PayFlow Pro API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
■CHAPTER 17 Integrating Amazon Web Services . . . . . . . . . . . . . . . . . . . . . . 625
Accessing the Amazon E-Commerce Service . . . . . . . . . . . . . . . . . . . . . 626
Creating Your Amazon E-Commerce Service Account . . . . . . . . . . 627
Getting an Amazon Associate ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Accessing Amazon Web Services Using REST . . . . . . . . . . . . . . . . 628
Accessing Amazon Web Services Using SOAP . . . . . . . . . . . . . . . . 631
Integrating the Amazon E-Commerce Service with BalloonShop . . . . . 631
Writing the Amazon Access Code . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Implementing the Presentation Tier . . . . . . . . . . . . . . . . . . . . . . . . . 639
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
■APPENDIX A Installing the Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
What Do These Programs Do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Installing Visual Web Developer 2005 Express Edition
and SQL Server 2005 Express Edition
. . . . . . . . . . . . . . . . . . . . . . . . . . 644
Installing SQL Server 2005 Express Manager . . . . . . . . . . . . . . . . . . . . . 645
Installing the IIS 5.x Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Installing IIS 5.x on a Web Server Machine . . . . . . . . . . . . . . . . . . . 647
Working with IIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Darie-Watson_4681Front.fm Page xi Thursday, September 22, 2005 5:26 AM
xii
■CONTENTS
■APPENDIX B Project Management Considerations . . . . . . . . . . . . . . . . . . . 651

Darie-Watson_4681Front.fm Page xiv Thursday, September 22, 2005 5:26 AM
8213592a117456a340854d18cee57603
xv
About the
Technical Reviewer
■PAUL SARKNAS currently is the president of his own consulting company, Sarknasoft Solutions LLC,
which provides enterprise solutions to a wide array of companies utilizing the .NET platform. He
specializes in C#, ASP.NET, and SQL Server. Paul works intimately with all aspects of software,
including project planning, requirements gathering, design, architecture, development, testing,
and deployment. Paul’s experience spans more than eight years working with Microsoft tech-
nologies, and he has used .NET since its early conception.
Along with authoring and technical reviewing for Apress, Paul has also co-authored books
for Wrox Press.
Paul can be contacted via his consulting company’s web site (http://www.sarknasoft.com)
or his personal site (http://www.paulsarknas.com), and he welcomes questions and feedback of
any kind.
Darie-Watson_4681Front.fm Page xv Thursday, September 22, 2005 5:26 AM
Darie-Watson_4681Front.fm Page xvi Thursday, September 22, 2005 5:26 AM
xvii
Introduction
Welcome to Beginning ASP.NET 2.0 E-Commerce in C# 2005: From Novice to Professional! The
explosive growth of retail over the Internet is encouraging more small- to medium-sized busi-
nesses to consider the benefits of setting up e-commerce web sites. Although online retailing has
great and obvious advantages, there are also many hidden pitfalls that may be encountered
when developing a retail web site. This book provides you with a practical, step-by-step guide
to setting up an e-commerce site. Guiding you through every aspect of the design and build
process, this book will have you building high-quality, extendable e-commerce web sites
quickly and easily.
Over the course of this book, you will develop all the skills necessary to get your business
up on the web and available to a worldwide audience, without having to use high-end, expensive

• Build an online product catalog that can be browsed and searched.
• Implement the catalog administration pages that allow adding, modifying, and
removing products, categories, and departments.
• Create your own shopping basket and checkout in ASP.NET.
• Increase sales by implementing product recommendations.
• Handle payments using PayPal, DataCash, and VeriSign Payflow Pro.
• Implement a customer accounts system.
• Integrate with XML Web Services, such as Amazon E-Commerce Service.
How This Book Is Structured
The following sections present a brief roadmap of where this book is going to take you. The first
phase of the book, Chapters 1 through 8, takes you through the process of getting your site up
and running. In the second phase of the book, Chapters 9 through 11, you’ll create your own
shopping cart. And in the third phase, Chapters 12 through 17, you’ll start processing orders
and integrating external systems.
Chapter 1: Starting an E-Commerce Site
In this chapter you’ll see some of the principles of e-commerce in the real world. You’ll learn
the importance of focusing on short-term revenue and keeping risks down. We look at the three
basic ways in which an e-commerce site can make money. We then apply those principles to a
three-phase plan that continues to expand throughout the book, providing a deliverable, usable
site at each stage.
Chapter 2: Laying Out the Foundations
After deciding to develop a web site, we start to look in more detail at laying down the founda-
tions for the future web site. We’ll talk about what technologies and tools you’ll use and, even
more important, how you’ll use them.
Chapter 3: Creating the Product Catalog: Part I
After you’ve learned about the three-tier architecture and implemented a bit of your web site’s
main page, it’s time to continue your work by starting to create the product catalog. You’ll develop
the first database table, create the first stored procedure, implement generic data access code,
learn how to handle errors and email their details to the administrator, work with the web.config
ASP.NET configuration file, implement the business logic, and finally use data gathered from the

information. For a real web site, both of these methods are unacceptable, so you need to write
some code to allow easy management of the web store data. In this chapter, you’ll implement a
catalog administration page. With this feature, you complete the first stage of your web site’s
development.
Chapter 9: Creating a Custom Shopping Cart
Welcome to the second phase of development, where you’ll start improving and adding new
features to the already existing, fully functional e-commerce site. In this chapter, you’ll imple-
ment the custom shopping basket, which will store its data into the local database. This will
provide you with more flexibility than the PayPal shopping basket, over which you have no
control and which you can’t save into your database for further processing and analysis.
Darie-Watson_4681Front.fm Page xix Thursday, September 22, 2005 5:26 AM
xx
■INTRODUCTION
Chapter 10: Dealing with Customer Orders
The good news is that your brand-new shopping cart looks good and is fully functional. The bad
news is that it doesn’t allow visitors to actually place orders, making it totally useless in the
context of a production system. You’ll deal with that problem in this chapter, in two separate
stages. In the first part of the chapter, you’ll implement the client-side part of the order-placing
mechanism. In the second part of the chapter, you’ll implement a simple orders administration
page where the site administrator can view and handle pending orders.
Chapter 11: Making Product Recommendations
One of the most important advantages of an online store as compared to a brick-and-mortar
store is the capability to customize the web site for each visitor based on his or her preferences,
or based on data gathered from other visitors with similar preferences. If your web site knows
how to suggest additional products to an individual visitor in a clever way, he or she might end
up buying more than initially planned. In this chapter, you’ll implement a simple but efficient
product recommendations system in your web store.
Chapter 12: Adding Customer Accounts
So far in this book, you’ve built a basic (but functional) site and hooked it into PayPal for taking
payments and confirming orders. In this last section of the book, you’ll take things a little further.

goals. So far in this book, you’ve seen how to integrate external functionality to process payments
from your customers. In this chapter, you’ll learn new possibilities for integrating functionality
from an external source, this time through a web service.
Appendix A: Installing the Software
Here you’ll learn how to set up your machine for the e-commerce site you’ll build throughout
the book. You’re shown the steps to install Visual Web Developer 2005 Express Edition, SQL
Server 2005 Express Edition, SQL Server Express Manager, and IIS 5.x.
Appendix B: Project Management Considerations
Although the way you build your e-commerce web site throughout this book (by designing and
building one feature at a time) is ideal for learning, in real-world projects, you need to design
everything from the start, otherwise you risk ending up with a failed project. Appendix B is a
very quick introduction to the most popular project-management methodologies and gives
you a few guidelines about how to successfully manage building a real-world project.
Downloading the Code
The code for this book is available for download in the Source Code area of the Apress web site
(http://www.apress.com). Unzip the file and open Welcome.html for installation details.
Contacting the Authors
Cristian Darie can be contacted through his personal web site at http://www.CristianDarie.ro.
Karli Watson can be contacted through http://www.3form.net.
Darie-Watson_4681Front.fm Page xxi Thursday, September 22, 2005 5:26 AM
8213592a117456a340854d18cee57603
Darie-Watson_4681Front.fm Page xxii Thursday, September 22, 2005 5:26 AM
1
■ ■ ■
CHAPTER 1
Starting an E-Commerce Site
The word “e-commerce” has had a remarkable fall from grace in the past few years. Just the
idea of having an e-commerce web site was enough to get many business people salivating
with anticipation. Now it’s no longer good enough to just say, “E-commerce is the future—get
online or get out of business.” You now need compelling, realistic, and specific reasons to take

exists before you can hope to get a single order.
■Note The need to register and optimize your site for good search engine placement (with Google, Yahoo!,
and so on) has given birth to an entire services industry (and many spam emails). For example, many services
offer to register your site for a fee, but actually you can do it yourself with a bit of effort—the link to register
yourself with Google is http://www.google.com/addurl.html.
Addressing this issue is largely a question of advertising, rather than the site itself. Because
this is a programming book, we won’t cover this aspect of e-commerce, and we suggest you
consult additional books and resources if you’re serious about doing e-commerce.
Anyway, because an e-commerce site is always available, some people may stumble across
it. It’s certainly easier for customers to tell their friends about a particular web address than to
give them a catalog, mailing address, or directions to their favorite offline store.
Making Customers Spend More
Assuming your company already has customers, you probably wish that they bought more.
What stops them? If the customers don’t want any more of a certain product, there’s not a lot
that e-commerce can do, but chances are there are other reasons, too:
• Getting to the shop/placing an order by mail is a hassle.
• Some of the things you sell can be bought from more convenient places.
• You’re mostly open while your customers are at work.
• Buying some products just doesn’t occur to your customers.
An e-commerce site can fix those problems. People with Internet access will find placing
an order online far easier than any other method—meaning that when the temptation to buy
strikes, it will be much easier for them to give in. Of course, the convenience of being online
also means that people are more likely to choose your site over other local suppliers.
Because your site is online 24 hours a day, rather than the usual 9 to 5, your customers can
shop at your store outside of their working hours. Having an online store brings a double blessing
to you if your customers work in offices because they can indulge in retail therapy directly from
their desks.
Skillful e-commerce design can encourage your customers to buy things they wouldn’t
usually think of. You can easily update your site to suggest items of particular seasonal interest
or to announce interesting new products.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status