Payment in DotShoppingCart 0812491-0812493 FIT08 – HCMUS Trang 1
THANH TOÁN TRỰC TUYẾN TRONG DOTSHOPPINGCART
Mục lục
I. Xây dựng Provider Model 2
1. Giới thiệu 2
2. Xây dựng Provider Model mẫu 2
3. Nhận xét 6
II. Kiến trúc tổ chức thanh toán trực tuyến trong DotShoppingCart (DSC) 7
1. Tổng quan 7
2. Provider Payment 7
3. Thiết lập Payment trong Admin 10
4. Sử dụng các provider trong Checkout 11
III. Nhận xét tổng quan 12
1. Ưu điểm 12
2. Khuyết điểm 12 Payment in DotShoppingCart 0812491-0812493 FIT08 – HCMUS Trang 2
I. Xây dựng Provider Model
1. Giới thiệu
DotShoppingCart xây dựng các thành phần chức năng của hệ thống (trong đố
có payment) theo Provider Model.
Provider Model là một mẫu thiết kế cho phép ứng dụng làm việc với nhiều
cách giải quyết khác nhau cho cùng một vấn đề.
- Lớp này kế thừa từ System.Configuration.ProviderCollection – lớp đảm
nhận nhiệm vụ làm việc với danh sách các provider được khai báo trong
file config.
- Nhiệm vụ của lớp này là trả về provider từ danh sách các provider dựa vào
tên của provider đó. Điều này được thực hiện bằng việc gọi làm hàm xử lý
cơ bản của ProviderCollection.
Provider Configuration Class:
Payment in DotShoppingCart 0812491-0812493 FIT08 – HCMUS Trang 4
- Class này chứa những xử lý để quản lý những tùy chỉnh cho provider.
- Kế thừa từ System.Configuration.ConfigSection và sử dụng những phương
thưc cơ bản từ lớp này để trả về danh sách các thiết lập provider và tên của
provider mặc định.
- Có thể thêm mới những property tùy ý để chứa các giá trị lấy được từ file
config (những property phải tồn tại trong thiết lập trong file config).
- Mỗi property cần được bổ sung thêm thuộc tính ConfigurationProperty với
tham số là tên của property thể hiện trong file config.
- Thuộc tính Providers (ProviderSettingsCollection) vai trò thể hiện cho thẻ
<providers /> trong file config.
- Thuộc tính DefaultProviderName: set và get tên provider mặc định. Provider Manager Class:
Payment in DotShoppingCart 0812491-0812493
3. Nhận xét
- Việc sử dụng Provider Model làm cho ứng dụng dễ dàng được mở rộng,
linh hoạt trong việc thay đổi các module hiện có (chỉ thay đổi trong file
config).
- Thêm mới một module chức năng cơ bản được thực hiện như sau:
Xây dựng một main provider class định nghĩa những phương thức cơ
bản (nếu chưa có). Bộ khung quản lý (Provider Configuration, Provider
Manager, Provider Collection) cơ bản không thay đổi.
Payment in DotShoppingCart 0812491-0812493 FIT08 – HCMUS Trang 7
Sau đó thêm các thể hiện cho main provider này và implement các
phương thức với các xử lý logic.
Cuối cùng là thiết lập các thông số trong file config.
II. Kiến trúc tổ chức thanh toán trực tuyến trong DotShoppingCart (DSC)
1. Tổng quan
- Thanh toán trực tuyến trong DSC tổ chức dựa trên Provider Model.
- Các thành phần Provider Manager, Provider Collection, Provider
Configuration được tổ chức lại để có thể sử dụng cho cả ứng dụng nhưng
bản chất nhiệm vụ của từng thành phần không thay đổi.
- Các thiết lập về thanh toán được đặt trong file DSC.config.
2. Provider Payment
Cấu trúc source code Provider :
Sơ đồ lớp tổ chức các provider thanh toán trong DSC:
Payment in DotShoppingCart 0812491-0812493
FIT08 – HCMUS Trang 9
- Initialize:
Lấy các giá trị thiết lập trong tham số config để khởi tạo provider.
- GetConfigurationSettings:
Trả về các thuộc tính của PaymentExpress. Những giá trị này được sử
dụng khi thiết lập tùy chọn cho Payment trong phần Admin. Payment in DotShoppingCart 0812491-0812493 FIT08 – HCMUS Trang 10
- GetProvider:
Dựa vào SecctionName để trả về
PaypalExpressPaymentServiceConfigurationSection
–
chứa thông tin thiết lập cho PayPalExpress. Từ thông tin thiết lập khởi tạo
được một thể hiện PaypalExpressPaymentProvider. Thông tin trong file
config: 3. Thiết lập Payment trong Admin
Giao diện tùy chỉnh payment:
dựng vào sử dụng khi Checkout.
- Cấu trúc tổ chức các project, các class không hợp lý. Các class nên được
đóng gói vào các project riêng chuyên biệt.