Các Thực Hành Tốt Nhất
Phần này cung cấp các thực hành được khuyến nghị khi tích hợp VNPay vào ứng dụng của bạn.
Cân Nhắc Về Bảo Mật
-
Giữ bí mật an toàn - Không bao giờ để lộ
secureSecret
của bạn trong mã phía máy khách. -
Xác thực địa chỉ IP - Luôn xác thực và kiểm duyệt địa chỉ IP của khách hàng trước khi gửi đến VNPay.
-
Luôn xác thực các cuộc gọi IPN và URL trả về - Luôn sử dụng các phương thức
verifyIpnCall
vàverifyReturnUrl
để xác minh tính toàn vẹn của dữ liệu nhận được từ VNPay. -
Xử lý logic kinh doanh trong IPN - Các hoạt động kinh doanh quan trọng (như cập nhật trạng thái đơn hàng, hoàn thành đơn hàng, v.v.) nên được xử lý thông qua IPN thay vì URL trả về. URL trả về chủ yếu dành cho việc phản hồi UI đến người dùng và có thể dễ dàng bị bỏ qua.
-
Kiểm tra số tiền giao dịch - Luôn xác minh rằng số tiền được VNPay trả về khớp với số tiền kỳ vọng trong cơ sở dữ liệu của bạn.
Xử Lý Lỗi
-
Sử dụng try-catch - Bọc các cuộc gọi API trong try-catch để xử lý các lỗi tiềm ẩn một cách duyên dáng.
-
Triển khai ghi log - Bật ghi log để theo dõi các cuộc gọi API và gỡ lỗi. Cân nhắc lưu trữ nhật ký để kiểm toán và khắc phục sự cố.
-
Xử lý lỗi mạng - Triển khai xử lý lỗi phù hợp cho các lỗi mạng khi g ọi các API của VNPay.
Quản Lý Giao Dịch
-
Tạo tham chiếu giao dịch duy nhất - Đảm bảo mỗi
vnp_TxnRef
là duy nhất. Một mẫu phổ biến là kết hợp ID đơn hàng với dấu thời gian. -
Lưu trữ chi tiết giao dịch - Lưu trữ tất cả chi tiết giao dịch trong cơ sở dữ liệu của bạn để đối chiếu và hỗ trợ khách hàng.
-
Xử lý thông báo IPN trùng lặp - VNPay có thể gửi cùng một thông báo IPN nhiều lần. Triển khai xử lý idempotent để tránh xử lý cùng một giao dịch nhiều lần.
Kiểm Thử
-
Kiểm tra kỹ lưỡng trong sandbox - Sử dụng môi trường sandbox để kiểm tra kỹ lưỡng tích hợp của bạn trước khi triển khai.
-
Mô phỏng các trường hợp biên - Kiểm tra các kịch bản khác nhau, bao gồm thanh toán thất bại, thanh toán thành công, hoàn tiền, v.v.
-
Triển khai kiểm thử đơn vị và tích hợp - Viết các bài kiểm tra cho mã tích hợp thanh toán của bạn để đảm bảo nó hoạt động như mong đợi.
Cân Nhắc Khi Triển Khai Production
-
Giám sát giao dịch - Triển khai giám sát để theo dõi trạng thái thanh toán và phát hiện các bất thường.
-
Thiết lập cảnh báo - Cấu hình cảnh báo cho các khoản thanh toán thất bại, khối lượng giao dịch lớn hoặc các mẫu bất thường khác.
-
Xử lý thời gian bảo trì - Chuẩn bị cho các thời gian bảo trì tiềm năng hoặc thời gian ngừng hoạt động từ VNPay.
-
Đối chiếu giao dịch - Thường xuyên đối chiếu các giao dịch giữa hệ thống của bạn và VNPay.