lOMoARcPSD|59149108
Phân tích chức năng tích hợp thanh toán VNPay vào h thng website
phim Đại Vit
1.2.3 Đánh giá yêu cu ca chức năng tích hợp vào h thng
Ch c năng thanh toán tr c tuy n thông qua VNPay là m t ph n không th thi u ế
ế trong các h th ng th ương m i đi n t hi n đ i, đ c bi t là v i các n n t ng d ch
v s nh website xem phim tr c tuy n. Đ i v i h th ng "Xem phim Đ i Vi t", ụ ư
ế vi c tích h p VNPay không ch mang l i ti n ích thanh toán nhanh chóng, b o
m t cho người dùng mà còn nâng cao kh năng qu n giao d ch c a qu n tr
viên. Đ đ m b o tính kh thi hi u qu khi tri n khai ch c năng này, c n phân
tích chi ti t các yêu c u c b n cũng nh yêu c u nghi p v .ế ơ ư
2.3.1 Yêu cầu cơ bản
Yêu c u c b n đ u tiên là v b o m t. Khi th c hi n thanh toán tr c tuy n, ng ơ
ế ười dùng cung c p nh ng thông tin r t nh y c m nh s th ngân hàng, mã OTP và các
ư thông tin cá nhân khác. Do đó, h th ng c n đệ ược tích h p v i chu n mã hóa SSL
đợ đ m b o an toàn d li u trong quá trình truy n t i. Đ ng th i, các thu t toán t o
ki m tra ch (checksum) t phía VNPay cũng c n đ ược x lý chính
xác đ ử đ m b o tính toàn v n và xác th c c a giao d ch.ả
Th hai là kh năng tứ ương thích và n đ nh. H th ng thanh toán ph i đ m b o
tương thích v i nhi u lo i trình duy t khác nhau, ho t đ ng n đ nh trên c
desktop và thi t b di đ ng. Trong các d p cao đi m nh phát hành phim m i ho c ế ư
các chương trình khuy n mãi, lế ượng truy c p và thanh toán có th tăng cao, do đó ậ
kh năng m r ng và ch u t i c a h th ng là đi u r t quan tr ng.ả
Cu i cùng là kh năng ph n h i và xác th c nhanh chóng. Sau khi ng ười dùng hoàn
t t thanh toán t i VNPay, h th ng c n nh n và x lý ph n h i ngay l p t c đ c p
nh t tr ng thái giao d ch, đ m b o ngậ ười dùng có th s d ng d ch v mà không
g p gián đo n.ặ
2.3.2 Yêu cu nghip v
T góc đ nghi p v , ch c năng thanh toán ph i đ m b o t o đừ ược hóa đ n giao
ơ d ch rõ ràng, v i đ y đ thông tin nh mã đ n hàng, th i gian thanh toán, s ti n và ư ơ
tr ng thái thanh toán. M i giao d ch s đạ ư ưc l u tr trong h th ng đ ph c v choữ
vi c ki m tra, đ i soát sau này.ệ
Ngoài ra, khi người dùng ti n hành thanh toán, h th ng backend c n g i m t yêu ế
c u POST ch a thông tin đ n hàng lên h th ng VNPay, nh n l i URL
thanh toán và ơ tr v frontend đ ngả ười
lOMoARcPSD|59149108
dùng truy c p. Sau khi thanh toán thành công, VNPay s chuy n h ướng người dùng v
trang k t qu kèm theo thông tin giao d ch, lúc này ế backend ph i xác th c l i ch ký và
c p nh t tr ng thái đ n hàng thành “Thành ả ơ công” ho c “Th t b i”.ặ
Ch c năng g i thông báo cũng là m t ph n quan tr ng. Sau khi hoàn t t thanh toán,
người dùng nên nh n đậ ược thông báo xác nh n qua email
ho c hi n th thông báo tr c ti p trên website, giúp tăng đ tin c y và
chuyên nghi p cho h th ng. ế
1.2.4 Đánh giá tính kh thi và ri ro
Vi c đánh giá tính kh thi và các r i ro ti m n khi tích h p VNPay là b ước không
th thi u trong quá trình phát tri n h th ng. Qua phân tích, có th th y r ng h ế
t ng k thu t hi n t i c a h th ng phim Đ i Vi t v i React.js cho frontend, ầ
Node.js cho backend và MongoDB cho c s d li u là hoàn toàn tơ ương thích và đ ủ
m nh đ tri n khai ch c năng thanh toán này.ạ
1.2.4.1 Tính kh thi ca chức năng được tích hp thêm
T góc đ kỹ thu t, VNPay cung c p đ y đ tài li u hừ ướng d n cũng nh SDK h ư
tr Node.js, cho phép l p trình viên d dàng t o URL thanh toán và x lý ph n h i
t h th ng. V i c u trúc h th ng backend theo mô hình RESTful API hi n có, vi c
tích h p VNPay ch c n b sung thêm m t s route x lý liên quan đ n giao d ch là ợ
ế hoàn toàn kh thi. Ngoài ra, h th ng đã có s n ch c năng t o hóa đ n, qu n lý
ơ người dùng nên ch c n m r ng thêm m t b ng l u tr giao d ch VNPay và m i ư
liên k t đ n ngế ế ười dùng là đ đ đ m b o nghi p v .ủ
1.2.4.2 Các ri ro có th xy ra
Tuy v y, cũng c n lậ ường trước các r i ro trong quá trình tri n khai. Tr ước h t ế r i
ro v b o m t: n u mã hóa thông tin không đúng cách ho c đ l key checksum ế
có th khi n h th ng b gi m o giao d ch. Ti p theo là các v n đ v hi u su t: ế ế
n u server backend không đ m nh ho c không x lý b t đ ng b t t, các ph n ế
h i t VNPay có th b ch m ho c sai l ch, d n đ n tr ng thái đ n hàng không ồ
ế ơ chính xác.
Ngoài ra, trong trường h p ng ười dùng r i kh i trình duy t tr ước khi hoàn t t
thanh toán ho c k t n i m ng g p s c , giao d ch có th b gián đo n. H th ng ặ ế
c n thi t k thêm các c ch ki m tra tr ng thái đ n hàng đ nh kỳ đ tránh m t ầ ế ế ơ ế
ơ mát d li u.
lOMoARcPSD|59149108
1.2.5 Phương án thc hin
D a trên các phân tích trên, ph ương án th c hi n s đự ược chia thành các bước c th
nh sau: ư
Bước 1: Nghiên c u tài li u tích h p VNPay, đ c bi t là các quy trình t o checksum,
ki m tra ch ký và ph n h i tr ng thái giao d ch.
Bước 2: Thi t k l i c s d li u đ b sung b ng l u tr giao d ch thanh toán, ế ế ơ
ư bao g m thông tin ng ười dùng, mã đ n hàng, s ti n, tr ng thái, th i gian t o ơ
th i gian c p nh t.
Bước 3: Xây d ng API backend ph c v thanh toán g m hai ch c năng chính: t o
URL thanh toán và x lý callback t VNPay. Trong đó c n đ m b o
mã hóa thông tin đúng chu n và ki m tra ch ký chính xác.ẩ
Bước 4: C p nh t frontend đ g i API t o thanh toán và redirect ng
ười dùng sang trang VNPay. Sau khi hoàn t t giao d ch, hi n th k t qu ràng kèm thông
báo. ế
Bước 5: Ki m th toàn b quy trình v i các tr ường h p thành công,
th t b i, h y thanh toán ho c m t k t n i. ế
Bước 6: Tri n khai chính th c và theo dõi log h th ng đ k p th i x lý l i phát
sinh n u có.ế

Preview text:

lOMoARcPSD| 59149108
Phân tích chức năng tích hợp thanh toán VNPay vào hệ thống website phim Đại Việt
1.2.3 Đánh giá yêu cầu của chức năng tích hợp vào hệ thống
Ch c năng thanh toán tr c tuy n thông qua VNPay là m t ph n không th thi u ứ ự ế ộ ầ ể
ế trong các h th ng thệ ố ương m i đi n t hi n đ i, đ c bi t là v i các n n t ng d ch ạ ệ ử ệ ạ
ặ ệ ớ ề ả ị v s nh website xem phim tr c tuy n. Đ i v i h th ng "Xem phim Đ i Vi t", ụ ố ư ự
ế ố ớ ệ ố ạ ệ vi c tích h p VNPay không ch mang l i ti n ích thanh toán nhanh chóng, b o
m t ệ ợ ỉ ạ ệ ả ậ cho người dùng mà còn nâng cao kh năng qu n lý giao d ch c a qu n tr
viên. Đ ả ả ị ủ ả ị ể đ m b o tính kh thi và hi u qu khi tri n khai ch c năng này, c n phân
tích chi ả ả ả ệ ả ể ứ ầ ti t các yêu c u c b n cũng nh yêu c u nghi p v .ế ầ ơ ả ư ầ ệ ụ 2.3.1 Yêu cầu cơ bản
Yêu c u c b n đ u tiên là v b o m t. Khi th c hi n thanh toán tr c tuy n, ngầ ơ ả ầ ề ả ậ ự ệ ự
ế ười dùng cung c p nh ng thông tin r t nh y c m nh s th ngân hàng, mã OTP và các ấ ữ ấ ạ
ả ư ố ẻ thông tin cá nhân khác. Do đó, h th ng c n đệ ố ầ ược tích h p v i chu n mã hóa SSL
đợ ớ ẩ ể đ m b o an toàn d li u trong quá trình truy n t i. Đ ng th i, các thu t toán t o ả ả ữ
ệ ề ả ồ ờ ậ ạ và ki m tra ch ký (checksum) t phía VNPay cũng c n để ữ ừ ầ ược x lý chính
xác đ ử ể đ m b o tính toàn v n và xác th c c a giao d ch.ả ả ẹ ự ủ ị
Th hai là kh năng tứ ả ương thích và n đ nh. H th ng thanh toán ph i đ m b o ổ ị ệ ố ả ả ả
tương thích v i nhi u lo i trình duy t khác nhau, ho t đ ng n đ nh trên c ớ ề ạ ệ ạ ộ ổ ị ả
desktop và thi t b di đ ng. Trong các d p cao đi m nh phát hành phim m i ho c ế ị ộ ị ể ư
ớ ặ các chương trình khuy n mãi, lế ượng truy c p và thanh toán có th tăng cao, do đó ậ
ể kh năng m r ng và ch u t i c a h th ng là đi u r t quan tr ng.ả ở ộ ị ả ủ ệ ố ề ấ ọ
Cu i cùng là kh năng ph n h i và xác th c nhanh chóng. Sau khi ngố ả ả ồ ự ười dùng hoàn
t t thanh toán t i VNPay, h th ng c n nh n và x lý ph n h i ngay l p t c đ c p ấ ạ ệ ố ầ ậ ử ả ồ
ậ ứ ể ậ nh t tr ng thái giao d ch, đ m b o ngậ ạ ị ả ả ười dùng có th s d ng d ch v mà không
ể ử ụ ị ụ g p gián đo n.ặ ạ
2.3.2 Yêu cầu nghiệp vụ
T góc đ nghi p v , ch c năng thanh toán ph i đ m b o t o đừ ộ ệ ụ ứ ả ả ả ạ ược hóa đ n giao
ơ d ch rõ ràng, v i đ y đ thông tin nh mã đ n hàng, th i gian thanh toán, s ti n vàị ớ ầ ủ ư ơ
ờ ố ề tr ng thái thanh toán. M i giao d ch sẽ đạ ỗ ị ượ ưc l u tr trong h th ng đ ph c v choữ
ệ ố ể ụ ụ vi c ki m tra, đ i soát sau này.ệ ể ố
Ngoài ra, khi người dùng ti n hành thanh toán, h th ng backend c n g i m t yêu ế ệ ố ầ ử
ộ c u POST ch a thông tin đ n hàng lên h th ng VNPay, nh n l i URL thanh toán và ầ ứ ơ ệ ố ậ
ạ tr v frontend đ ngả ề ể ười lOMoARcPSD| 59149108
dùng truy c p. Sau khi thanh toán thành công, VNPay sẽ ậ chuy n hể ướng người dùng v
trang k t qu kèm theo thông tin giao d ch, lúc này ề ế ả ị backend ph i xác th c l i ch ký và
c p nh t tr ng thái đ n hàng thành “Thành ả ự ạ ữ ậ ậ ạ ơ công” ho c “Th t b i”.ặ ấ ạ
Ch c năng g i thông báo cũng là m t ph n quan tr ng. Sau khi hoàn t t thanh toán,ứ ử ộ ầ ọ
ấ người dùng nên nh n đậ
ược thông báo xác nh n qua email ho c hi n th thông báo ậ ặ ể
ị tr c ti p trên website, giúp tăng đ tin c y và
chuyên nghi p cho h th ng.ự ế ộ ậ ệ ệ ố
1.2.4 Đánh giá tính khả thi và rủi ro
Vi c đánh giá tính kh thi và các r i ro ti m n khi tích h p VNPay là bệ ả ủ ề ẩ ợ ước không
th thi u trong quá trình phát tri n h th ng. Qua phân tích, có th th y r ng h ể ế ể ệ ố ể ấ ằ
ạ t ng kỹ thu t hi n t i c a h th ng phim Đ i Vi t v i React.js cho frontend, ầ ậ ệ ạ ủ ệ ố ạ ệ ớ
Node.js cho backend và MongoDB cho c s d li u là hoàn toàn tơ ở ữ ệ ương thích và đ ủ
m nh đ tri n khai ch c năng thanh toán này.ạ ể ể ứ
1.2.4.1 Tính khả thi của chức năng được tích hợp thêm
T góc đ kỹ thu t, VNPay cung c p đ y đ tài li u hừ ộ ậ ấ ầ ủ ệ ướng d n cũng nh SDK h ẫ ư ỗ
tr Node.js, cho phép l p trình viên d dàng t o URL thanh toán và x lý ph n h i ợ ậ ễ ạ ử ả ồ
t h th ng. V i c u trúc h th ng backend theo mô hình RESTful API hi n có, vi c ừ ệ ố ớ ấ ệ ố
ệ ệ tích h p VNPay ch c n b sung thêm m t s route x lý liên quan đ n giao d ch là ợ ỉ ầ ổ ộ ố
ử ế ị hoàn toàn kh thi. Ngoài ra, h th ng đã có s n ch c năng t o hóa đ n, qu n lý ả ệ ố ẵ ứ ạ
ơ ả người dùng nên ch c n m r ng thêm m t b ng l u tr giao d ch VNPay và m i ỉ ầ ở ộ ộ ả ư
ữ ị ố liên k t đ n ngế ế ười dùng là đ đ đ m b o nghi p v .ủ ể ả ả ệ ụ
1.2.4.2 Các rủi ro có thể xảy ra
Tuy v y, cũng c n lậ ầ ường trước các r i ro trong quá trình tri n khai. Trủ ể ước h t là ế r i
ro v b o m t: n u mã hóa thông tin không đúng cách ho c đ l key checksumủ ề ả ậ ế ặ ể ộ
có th khi n h th ng b gi m o giao d ch. Ti p theo là các v n đ v hi u su t: ể ế ệ ố ị ả ạ ị ế ấ ề ề
ệ ấ n u server backend không đ m nh ho c không x lý b t đ ng b t t, các ph n ế ủ ạ ặ ử ấ ồ
ộ ố ả h i t VNPay có th b ch m ho c sai l ch, d n đ n tr ng thái đ n hàng không ồ ừ ể ị ậ ặ ệ ẫ ế ạ ơ chính xác.
Ngoài ra, trong trường h p ngợ ười dùng r i kh i trình duy t trờ ỏ ệ ước khi hoàn t t ấ
thanh toán ho c k t n i m ng g p s c , giao d ch có th b gián đo n. H th ng ặ ế ố ạ ặ ự ố ị ể
ị ạ ệ ố c n thi t k thêm các c ch ki m tra tr ng thái đ n hàng đ nh kỳ đ tránh m t ầ ế ế ơ ế
ể ạ ơ ị ể ấ mát d li u.ữ ệ lOMoARcPSD| 59149108
1.2.5 Phương án thực hiện
D a trên các phân tích trên, phự ương án th c hi n sẽ đự ệ ược chia thành các bước c ụ th nh sau:ể ư
Bước 1: Nghiên c u tài li u tích h p VNPay, đ c bi t là các quy trình t o checksum, ứ ệ ợ ặ ệ
ạ ki m tra ch ký và ph n h i tr ng thái giao d ch.ể ữ ả ồ ạ ị
Bước 2: Thi t k l i c s d li u đ b sung b ng l u tr giao d ch thanh toán, ế ế ạ ơ ở ữ ệ ể ổ ả
ư ữ ị bao g m thông tin ngồ ười dùng, mã đ n hàng, s ti n, tr ng thái, th i gian t o và ơ
ố ề ạ ờ ạ th i gian c p nh t.ờ ậ ậ
Bước 3: Xây d ng API backend ph c v thanh toán g m hai ch c năng chính: t o ự ụ ụ ồ ứ
ạ URL thanh toán và x lý callback t VNPay. Trong đó c n đ m b o mã hóa thông tinử ừ ầ ả
ả đúng chu n và ki m tra ch ký chính xác.ẩ ể ữ
Bước 4: C p nh t frontend đ g i API t o thanh toán và redirect ngậ ậ ể ọ ạ
ười dùng sang trang VNPay. Sau khi hoàn t t giao d ch, hi n th k t qu rõ ràng kèm thông báo.ấ ị ể ị ế ả
Bước 5: Ki m th toàn b quy trình v i các trể ử ộ ớ ường h p thành công, th t b i, h y ợ ấ ạ
ủ thanh toán ho c m t k t n i.ặ ấ ế ố
Bước 6: Tri n khai chính th c và theo dõi log h th ng đ k p th i x lý l i phát ể ứ ệ ố ể ị ờ ử ỗ sinh n u có.ế