Authorize.net cung cấp hai phương thức để tích hợp thanh toán điện tử vào trong website của người bán hàng:
40. Phương thức thứ nhất được gọi là Simple Integration Method (SIM), với phương thức này, khi yêu cầu thanh toán, khách hàng sẻ được chuyển sang trang web của authorize.net để tiến hành cung cấp các thông tin cần thiết cho việc thanh toán. Sau khi hoàn tất quá trình thanh toán người dùng sẻ được chuyển lại trang web bán hàng. Phương thức này phù hợp cho những trang web bán hàng nhỏ.
41. Phương thức thứ hai được gọi là Advanced Integration Method (AIM), phương thức này phức tạp hơn phương thức trên, nhưng bù lại người dùng sẻ không bị chuyển sang trang web của authorize.net mà có thể xử lý việc thanh toán trên trang web bán hàng. Sau khi thu thập đủ thông tin cho việc thanh toán, trang web bán hàng sẽ gửi một yêu cầu xác thực hay chuyển khoản lên trên trang web của authorize.net, authorize.net sẽ nhận và xử lý yêu cầu, sau đó gửi trả lại một kết quả. Trang web bán hàng sẽ nhận kết quả, và tùy theo kết quả nhận về sẽ tiến hành xử lý tương ưng. Phương thức này phù hợp với những website bán hàng lớn.
Chương 3. PHÂN TÍCH HỆ THỐNG 3.1. Yêu cầu hệ
42. Quản lý được thông tin máy tính xách tay và các
linh kiện liên quan.
43. Quản lý được các hóa đơn mua hàng.
44. Quản lý được thông tin chuyển hàng của khách hàng.
45. Thiết lập được chế độ bảo mật SSL trên máy chủ.
46. Khách hàng có thể xem hàng.
47. Khách hàng có thể đăng ký mua hàng và đăng ký
chuyển hàng.
48. Thanh toán được bằng Credit Card.
3.2. Ngôn ngữ và các kỹ thuật
3.2.1. Ngôn ngữ lập trình và công cụ phát triển
49. Ngôn ngữ: ASP.NET 2.0 C#
50. Microsoft Net Framework 3.5
51. Công cụ phát triển: Microsoft Visual Studio 2008
Professional
3.2.2. Hệ quản trị cơ sở dữ liệu
Microsoft SQL Server 2005 Express Edition.
3.2.3. Các kỹ thuật và công nghệ
52. Công nghệ Ajax: Microsoft ASP.NET 2.0 AJAX Extensions 1.0 và Microsoft Ajax Control Toolkit 1.0.20229.0
3.3. Các công việc cần giải quyết
53. Khảo sát yêu cầu
54. Phân tích thiết kế cấu trúc hệ thống
55. Vẽ mô hình ER và hiện thực thành cơ sở dữ liệu
56. Vẽ các mô hình hệ thống
57. Thiết kế giao diện
58. Viết chương trình
3.4. Các mô hình3.4.1. ERD 3.4.1. ERD Relationship_8 Relationship_9 Relationship_15 Relationship_14 0,n 0,n 0,n 0,n Relationship_12 Relationship_10 Relationship_11 Relationship_13 Relationship_16 Relationship_18 Relationship_17 Relationship_19 MANUFACTURE mfg_id name description <pi> Number Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> NOTEBOOK product_id name bluetooth vga_out pcmcia_slots usb_ports ieee_1384_ports weight warranty price viewed create_on last_edit_on product_description <pi> Integer Variable characters (50) Boolean Boolean Short integer Short integer Short integer Float Float Integer Integer Date & Time Date & Time Text <M> Identifier_1 <pi> CATEGORY cate_id name description <pi> Integer Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> DEVICE device_id cpu_speed cpu_cores cpu_bus_speed cpu_l2_cache_size cpu_mfg_tech mb_bus_speed mb_max_ram batery_max_hour batery_cells graphic_memory_size graphic_memory_shared ram_size ram_speed hdd_size hdd_speed display_size display_resolution_width display_resolution_height display_widescreen wc_resolution <pi> Integer Float Short integer Short integer Short integer Short integer Short integer Integer Short float Short integer Short integer Boolean Short integer Integer Short integer Integer Short integer Short integer Short integer Boolean Short float <M> Identifier_1 <pi> DEVICE_CATEGORY device_category_id name description <pi> Integer Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> DEVICE_TYPE device_type_id name description <pi> Integer Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> SYS_USER sys_username sys_email password name telephone
<pi> Variable characters (20) Variable characters (30) Variable characters (30) Variable characters (50) Variable characters (20) <M> Identifier_1 <pi> CUSTOMER username password first_name last_name telephone email birthday street address postcode
<pi> Variable characters (20) Variable characters (30) Variable characters (20) Variable characters (20) Variable characters (20) Variable characters (50) Date Variable characters (100) Variable characters (100) Variable characters (7) <M> IDENTIFIER_1 <pi> STATE state_id state_name <pi> Integer Variable characters (50) <M> Identifier_1 <pi> SYS_GROUP sys_group_id name description manage_product manage_user manage_system manage_order <pi> Integer Variable characters (50) Variable characters (200) Boolean Boolean Boolean Boolean <M> Identifier_1 <pi> SHOPPING_CART shop_cart_id check_out_date checked_out <pi> Integer Date & Time Boolean <M> Identifier_1 <pi> SHOPPING_CART_DET AIL quantity price add_date Short integer Integer Time NOTEBOOK_DEVICE DEVICE_CATEGORY_T YPE device_category_type_id name description <pi> Integer Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> SYS_LOG log_id time content <pi> Integer Date & Time Text <M> <M> Identifier_1 <pi> ORDER order_id order_total_quantities order_total_weight other_subtotal other_tax other_total processed credit_card_info authorization_result authorization_transaction_id authorization_approval_code authorization_response_code authorization_on transaction_state capture_transaction_id captured_on ship_first_name ship_last_name ship_telephone ship_cellphone ship_email ship_street ship_address ship_city ship_state ship_postcode bill_first_name bill_last_name bill_telephone bill_street bill_address bill_city bill_state bill_postcode create_on <pi> Integer Integer Float Money Money Money Boolean Text Variable characters (4000) Variable characters (100) Variable characters (10) Variable characters (100) Date & Time Short integer Variable characters (100) Date & Time Variable characters (20) Variable characters (20) Variable characters (20) Variable characters (20) Variable characters (50) Variable characters (100) Variable characters (100) Variable characters (100) Variable characters (50) Variable characters (7) Variable characters (20) Variable characters (20) Variable characters (20) Variable characters (100) Variable characters (100) Variable characters (50) Variable characters (50) Variable characters (7) Date & Time
<M> Identifier_1 <pi> COUNTRY country_id country_name two_iso_code thre_iso_code Integer Variable characters (30) Characters (2) Variable characters (3) SETTING setting_id setting_name setting_value encrypted description <pi> Integer Variable characters (100) Text Boolean Variable characters (200) <M> Identifier_1 <pi> Hình 3.26 Mô hình ERD
3.4.2. Mô hình Use Case
3.4.2.1. Khách hàng
Kiem tra thong tin the tin dung
Yeu cau chuyen Khoan Xem Hang
Them San Pham Vao Gio Hang
Cap Nhat Gio Hang
Mua hang
<<include>>
<<extend>> Dang Ky
DangNhap Quan ly thong tin khach hang
Khach Hang
<<include>>
3.4.2.2. Quản trị viên và nhân viên
Ở phần này người dùng phải đăng nhập vào hệ thống trước khi thực hiện việc quản lý và cập nhật thông tin.
Cau hinh he thong [admin]
Quan Ly Nhan vien [admin]
Quan tri vien
Quan Ly san pham
Quan Ly hoa don Nhan vien
Kiem tra quyen <<include>>
<<include>>
<<include>>
<<include>>
3.4.3. Mô hình hoạt động (Activity)
3.4.3.1. Đăng ký thành viên mới
Khach hang nhap thong tin dang ky va yeu cau thuc hien viec dang ky
Kiem tra tinh day du va hop le cua thong tin
Kiem tra email da ton tai chua Kiem tra ten dang nhap da ton tai chua
[ Hop le ]
Luu thong tin thanh vien xuong CSDL
[ Hop le ]
Thong bao qua trinh dang ky thanh cong
Ket thuc
Thong bao loi cho nguoi dung
[ Loi cap nhat thong tin xuong CSDL ]
Bat Dau
Yeu cau sua ten dang nhap [ Ten dang nhap da duoc dang ky ]
Yeu cau sua dia chi email [ Email da duoc dang ky ]
Yeu cau nhap lai thong tin [Hop le]
[Khong hop le]
3.4.3.2. Đăng nhập
Khach hang nhap thong tin dang nhap
Kiem tra ten dang nhap
Kiem tra mat khau
Luu thong tin khach hang vao Session
Kiem tra thong tin gio hang trong session
Kiem tra gio hang cua khach hang trong CSDL
[ Da co ]
Tao gio hang moi [ Chua co ]
Dong bo gio hang
Quay lai trang truoc Cap nhat thong tin gio
hang xuong CSDL
Yeu cau nhap lai thong tin dang nhap
[ Hop le ] [ Hop le ]
[ Co mot gio hang chua tinh tien ]
[ Khong co gio hang nao chua tinh tien ]
3.4.3.3. Thêm vào giỏ hàng
Tao moi gio hang [ Chua co gio hang ]
Them san pham vao gio hang
Kiem tra dang nhap
Cap nhat thong tin gio hang xuong CSDL Kiem tra gio hang
trong session Khach hang yeu cau them
san pham vao gio hang
[Da co gio hang]
[Da dang nhap]
[Chua dang nhap]
3.4.3.4. Mua hàng
Kiem tra dang nhap
Yeu cau nhap thong tin chuyen hang Kiem tra tinh hop le va day du
cua thong tin chuyen hang
Yeu cau nhap thong tin hoa don
[ Hop le ]
Kiem tra tinh hop le va day du cua thong tin hoa don
Yeu cau nhap thong tin the tin dung
[Hop le]
Phan tich ket qua tra ve
Yeu cau xac nhan hoan thanh viec mua hang
[The hop le]
Tao hoa don moi va cap nhat xuong CSDL
Gui yeu cau chuyen khoan len Authorize.net
[ Dong y mua hang ]
Cap nhat thong tin chuyen khoan xuong CSDL
Cap nhat thong tin gio hang da duoc thanh toan xuong CSDL
Xoa thong tin gio hang va cac thong tin ve phien giao dich trong session
Tao gio hang moi
Thong bao giao dich thanh cong
Yeu cau nhap lai thong tin the tin dung [ Loi thong tin the tin dung ]
Dang nhap Yeu cau thanh
toan
Yeu cau sua thong tin [ Thong tin khong hop le ]
Yeu cau sua thong tin [ Thong tin khong hop le ]
Yeu cau sua thong tin
Gui yeu cau xac thuc thong tin len authorize.net
[ Khong dong y mua hang ]
3.4.4. Mô hình lớp ( Class)
3.4.4.1. Tầng nghiệp vụ
Hình 3.33 Mô hình lớp tầng nghiệp vụ
Chương 4. HIỆN THỰC 4.1. Bảo mật thông tin
4.1.1. Bảo mật thông tin trên URL
Các thông tin trên thanh địa chỉ khi chuyển sang các trang điều được mã hóa bằng thuật toán đối xứng như các thông tin: mã sản phẩm, mã nhóm sản phẩm…
Hình 4.35 Bảo mật thông tin trên URL
4.1.2. Bảo mật thông tin thiết lập trong web.config
Sử dụng thuật toán “RSA Protected Configuration” và công cụ “Aspnet_regiis.exe” để mã hóa thông tin kết nối vào CSDL và các khóa mã hóa dữ liệu.
Thông tin chưa mã hóa:
Hình 4.36 Thông tin kết nối vào CSDL trong web.config chưa được mã hóa
Sau khi đã được mã hóa:
Hình 4.37 Thông tin kết nối vào CSDL trong web.config đã được mã hóa
4.1.3. Bảo mật thông tin thẻ tín dụng
Thông tin thẻ tín dụng của khách hàng được lưu trữ trong một class (CreditCardInfomation) và được bảo mật bằng các thông tin đó được serialize (số hóa) thành một chuỗi ký tự, sau đó mã hóa bằng thuật toán mã hóa đối xứng trước khi được lưu trữ xuống cơ sở dữ liệu.
Để lấy lại thông tin thẻ tín dụng thì thực hiện ngược lại quá trình.
4.1.4. Bảo mật các thiết lập quan trọng
Các thiết lập của trang web được lưu trữ trong bảng SETTING, đối với những thiết lập quan trọng, thông tin sẽ được mã hóa trước khi được lưu trữ xuống cơ sở dữ liệu. Khi đọc các thông tin thiết lập này lên sẽ căng cứ vào trường ENCRYPTED để xác định xem giá trị có được mã hóa hay không, nếu giá trị đã được mã hóa thì sẽ giải mã.
Hình 4.38 Mã hóa các thiết lập quan trọng trong cơ sở dữ liệu
4.1.5. Sử dụng SSL
Trong quá trình thanh toán, khi người dùng nhập thông tin thẻ tín dụng, hệ thống sẽ kiểm tra xem trang web đã được cấu hình SSL chưa, nếu đã được cấu hình thì hệ thống sẽ tự động chuyển sang giao thức https để bảo mật thông tin.
Thông tin thẻ tín dụng
Serialize (Số hóa)
Mã hóa
4.2. Sơ đồ trang Web
Website Đăng nhập Đăng ký Sản phẩm mới Trang chủ Tất cả sản phẩm Nhóm SP theo nhà sản xuất Chi tiết sản phẩm Nhóm SP theo giá
Giỏ hàng Thông tin
chuyển hàng Thông tin hóa đơn Thông tin Thẻ tín dụng Quản lý thông tin khách hàng Thanh toán
Phần quản trị Cài đặt hệ thống Quản lý Nhân viên Quản lý Sản phẩm Đăng nhập Quản lý Hóa đơn Nhân viên Nhóm Nhân viên Quản lý Máy tính Quản lý Nhóm thiết bị Nhóm SP theo nhà sản xuất
4.3. Một số màn hình
4.3.1. Trang chủ
Hình 4.39 Màn hình trang chủ
4.3.2. Trang đăng ký
4.3.3. Trang nhóm sản phẩm
Hình 4.41 Màn hình trang nhóm sản phẩm
4.3.4. Trang cập nhật giỏ hàng
4.3.5. Trang nhập thông tin chuyển hàng
Hình 4.43 Màn hình trang thông tin chuyển hàng
4.3.6. Trang nhập thông tin hóa đơn
4.3.7. Trang nhập thông tin thẻ tín dụng
Hình 4.45 Màn hình trang thông tin thẻ tín dụng
4.3.8. Xác nhận mua hàng
4.3.9. Trang quản lý sản phẩm
Hình 4.47 Màn hình trang quản lý sản phẩm
4.3.10. Trang quản lý nhóm sản phẩm
4.3.11. Trang quản lý hóa đơn
Hình 4.49 Màn hình trang quản lý hóa đơn
4.3.12. Trang quản lý nhân viên
Hình 4.50 Màn hình trang quản lý nhân viên
4.3.13. Trang quản lý nhóm và quyền nhân viên
4.3.14. Trang quản lý thiết lập hệ thống
Chương 5. NHẬN XÉT ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 5.1. Nhận xét đánh giá
Sau quá trình hơn 2 tháng tìm hiểu và viết đồ án, em đã học hỏi được rất nhiều điều qua đồ án này:
60. Học được thêm các thuật toán mã hóa và bảo mật.
61. Học được các kỹ thuật mới trong lập trình.
62. Học được các kỹ năng viết tài liệu và báo cáo. Các vấn đề đã làm được trong đồ án:
63. Nêu được ra các thuật toán được sử dụng trong việc bảo mật web và bảo mật thông tin trong thương mại và thanh toán điện tử.
64. Đưa ra được các vấn đề bảo mật trong xây dựng và
quản lý ứng dụng thương mại điện tử và giải pháp cho các vấn đề đó.
65. Xây dựng được một ứng dụng web thương mại điện
tử tương đối hoàn chỉnh.
66. Tích hợp được thanh toán qua cổng thanh toán điện
tử trong ứng dụng.
67. Thực hiện được các vấn đề bảo mật cơ bản trong
ứng dụng.
Các vấn đề chưa làm được:
68. Chưa đi sâu vào tìm hiểu các thuật toán.
69. Ứng dụng chỉ mới dừng lại ở những chức năng cơ
bản.
70. Chưa đa dạng được các dịch vụ thanh toán, như
5.2. Hướng phát triển
Từ những vấn đề đã làm được và chưa làm được như trên, trong thời gian tiếp theo sẽ phát triển đồ án lên:
71. Đi vào tìm hiểu sâu các thuật toán quan trọng.
72. Mở rộng ứng dụng để tăng tính tiện dụng cho người
dùng.
PHỤ LỤC 1.1. Thiết lập chứng chỉ SSL của Verisign
1.1.1. Các bước thực hiện
1. Tạo file Request Certificate
2. Xin SSL Certificate từ VeriSign.com
3. Cấu hình Trusted Root Certification Authority 4. Import SSL Certificate cho Máy chủ web 5. Kiểm tra kết quả
1.1.2. Chuẩn bị
74. Máy tính cài hệ điều hành Windows XP hoặc Windows Server 2003
75. Máy đã cài Internet Information Services (IIS)
1.1.3. Thực hiện
1.1.3.1. Tạo Request Certificate
76. Logon Administrator, mở Internet Information Services (IIS) Manager, bung Web Site, chuột phải Default Web Site, chọn Properties
77. Hộp thoại Default Web Site Properties, qua tab Directory Security, chọn Server Certificate
78. Hộp thoại Welcome to the Web Server Certificate Wizard, chọn Next
79. Hộp thoại Server Certificate, chọn Create anew certificate, chọn Next
80. Trong hộp thoại Delayed or Immediate Request, chọn Prepare the request now, but send it later, chọn Next
82. Trong hộp thoại Organization Information, nhập thông tin như hình bên dưới, chọn Next
83. Trong hộp thoại Your Site’s Common Name, nhập
84. Hộp thoại Geographical Information, nhập thông tin như hình bên dưới, chọn Next
85. Hộp thoại Certificate Request File Name, để mặc
86. Hộp thoại Request File Summary, chọn Next, chọn Finish
87. Trong hộp thoại Default Web Site Properties, chọn
1.1.3.2. Xin SSL Certificate từ VeriSign.com
88. Mở Windows Explorer, copy nội dụng của file C:\certreq.txt.
89. Mở Internet Explorer, truy cập địa chỉ
http://www.verisign.com, chọn Free SSL Trial
90. Trong cửa sổ Free SSL Trial Certificate, nhập đằy
92. Cửa sổ tiếp theo, nhập đầy đủ thông tin vào phần Technical Contact, chọn Continue
Trong ô Select Server Platform, chọn Microsoft. Trong ô Select Version, chọn IIS 6.0. Dán nội dung file certreq.txt vào ô Paste Certificate Signing Request (CSR), optained
93. Trong ô What do you plan to use this SSL Certificate for?, chọn Web Server, chọn Continue
94. Trong cửa sổ CRS Information, nhập MSOPENLAB vào ô Challenge Phrase và Re-enter Challenge Phrase. Nhập câu hỏi bất kỳ vào ô Reminder Question, chọn Continue
95. Trong cửa sổ Order summary & acceptance, chọn
1.1.3.3. Cấu hình Trusted Root Certification Authority
97. Đăng nhập vào hộp mail, kiểm tra nhận được e-mail
từ Support@verisign.com, chọn vảo link như trong hình bên dưới.
98. Trong trang web của verisign, chọn VeriSign CA
99. Cửa sổ tiếp theo, kéo thanh trượt xuống dưới, chọn
100. Trong cửa sổ Root CA Certificate, chọn Select All, copy tất cả nội dung
102. Mở Internet Explorer, vào Tools, chọn Internet Options, qua tab Content, chọn Certificates
104. Hộp thoại Welcome to the Certificate Import Wizard, chọn Next
105. Hộp thoại File to Import, chọn Browse, trõ đường