Biến Động Số Dư WooCommerce: Tự Động Xác Nhận Đơn Bằng Plugin Pay2S

Biến động số dư WooCommerce tự động xác nhận đơn - minh họa khách quét mã QR thanh toán trên website WooCommerce và đơn hàng tự đổi trạng thái đã thanh toán nhờ plugin Pay2S

Khách đặt hàng trên website WooCommerce, chọn chuyển khoản và trả tiền xong. Nhưng đơn trên website vẫn nằm ở trạng thái chờ thanh toán, vì chưa có ai xác nhận khoản tiền đó đã về. Nhân viên phải mở app ngân hàng, dò từng giao dịch, đối chiếu số tiền và nội dung chuyển khoản, rồi quay lại WooCommerce đổi trạng thái đơn bằng tay. Shop ít đơn thì còn xoay được; shop chạy quảng cáo, đơn về liên tục thì khâu này thành nút thắt: đơn xác nhận chậm, khách nhắn hỏi, có khi sót đơn vì giao dịch bị trôi trong sao kê.

Cách xử lý gọn hơn là để biến động số dư WooCommerce tự động xác nhận đơn ngay khi tiền về tài khoản ngân hàng của shop. Với website WordPress, việc này làm được bằng plugin chính thức Pay2S for WooCommerce của Pay2S. Bài này hướng dẫn cài đặt, cấu hình và giải thích rõ đơn được xác nhận tự động bằng cơ chế nào, để bạn biết hệ thống đang chạy trên tín hiệu gì chứ không chỉ bấm theo từng bước.

Plugin Pay2S for WooCommerce là gì, điều kiện cài đặt

Pay2S for WooCommerce là plugin chính thức do Pay2S phát triển, thuộc gói Pay2S Gateway, phiên bản hiện tại 1.3.13. Plugin gắn cổng thanh toán Pay2S vào website WooCommerce: khách chọn phương thức Pay2S khi thanh toán, tiền chuyển khoản về thẳng tài khoản ngân hàng của shop, và đơn hàng được cập nhật trạng thái theo kết quả thanh toán. Pay2S do FUTE phát triển và không giữ tiền của người bán trong quá trình này. Gói cài đặt dạng ZIP được tải tại trang tài liệu developer.pay2s.vn.

Trước khi cài, kiểm tra website đạt yêu cầu hệ thống của plugin:

PHP 7.2 trở lên
WordPress 5.7 trở lên
WooCommerce 5.2 trở lên

Về điều kiện gói dịch vụ để dùng plugin, tài liệu công khai chưa nêu một mốc cố định; điều kiện gói xem tại pay2s.vn hoặc hỏi đại lý trước khi triển khai để chọn đúng gói cho shop.

Cách cài đặt và cấu hình plugin Pay2S cho WooCommerce

Bước 1: tải và cài plugin. Tải gói ZIP từ developer.pay2s.vn và giải nén vào thư mục plugins của WordPress:

/wp-content/plugins/pay2s-gateway

Sau khi giải nén, vào trang quản trị WordPress, mục Plugin, tìm Pay2S Gateway và bấm kích hoạt.

Bước 2: mở trang cấu hình. Vào WooCommerce, chọn Cài đặt, mở tab Thanh toán và chọn Pay2S.

Bước 3: điền các trường cấu hình. Trang cấu hình của plugin gồm các trường sau:

Partner Code
Access Key
Secret Key
API Endpoint
Tài khoản ngân hàng (số tài khoản + mã ngân hàng, ví dụ ACB, BIDV, MBB, VCB)
Nội dung thanh toán
Trạng thái đơn khi tạo đơn
Trạng thái đơn khi thanh toán thành công
Trạng thái đơn khi thanh toán thất bại
Thông báo thành công
Nút thanh toán

Trong đó, Access Key và Secret Key lấy tại my.pay2s.vn, mục Tích hợp Web/App. Trường Nội dung thanh toán chứa ký tự định danh để plugin phân biệt và xác minh giao dịch thuộc về website của bạn, nên giữ cố định sau khi đã chạy thật. Ba trường trạng thái đơn là phần cần chốt kỹ: bạn map kết quả thanh toán của Pay2S sang đúng trạng thái WooCommerce mà quy trình xử lý đơn của shop đang dùng. Nếu website đang ở giai đoạn thiết kế trang thanh toán, nên đọc thêm bài thiết kế checkout cho website WordPress trước khi chốt các trạng thái này.

Đơn được xác nhận tự động bằng cơ chế nào

Đây là phần nhiều người hiểu nhầm. Theo tài liệu chính thức của Pay2S, plugin WooCommerce xác nhận đơn bằng IPN của luồng thanh toán, không phải bằng webhook giao dịch ngân hàng. Hai cơ chế khác nhau ở tín hiệu gốc: webhook giao dịch phát đi khi tài khoản ngân hàng có giao dịch mới nói chung; còn IPN là thông báo kết quả gắn với chính giao dịch thanh toán của đơn hàng đó, nên plugin biết chắc tín hiệu này thuộc về đơn nào.

Luồng chạy thực tế như sau. Khách đặt đơn và chọn thanh toán qua Pay2S, plugin tạo một giao dịch thanh toán gắn với đơn hàng. Khách hoàn tất chuyển khoản; trang thanh toán đưa khách quay lại trang nhận đơn, trang cảm ơn trên website, kèm theo kết quả và chữ ký của Pay2S. Phần khách nhìn thấy đó chỉ là bề mặt. Việc đổi trạng thái đơn dựa trên IPN chạy phía máy chủ: Pay2S gửi một POST dạng JSON về website, trong đó trường resultCode cho biết kết quả giao dịch:

resultCode = 0: đã thanh toán
resultCode = 2: giao dịch bị hủy

Website nhận IPN, xác thực thông điệp bằng Secret Key để chắc chắn tín hiệu đến từ Pay2S, rồi trả về HTTP 200 kèm thân {“success”: true}. Thời gian chờ phản hồi là 10 giây; nếu chưa nhận được phản hồi hợp lệ, Pay2S thử gửi lại tối đa 5 lần. Khi IPN xác nhận thành công, plugin cập nhật trạng thái đơn WooCommerce theo đúng map trạng thái bạn đã cấu hình ở bước cài đặt.

Trường hợp IPN đến chậm, trang nhận đơn của WooCommerce không đứng yên chờ: trang tự kiểm tra trạng thái mỗi 2 giây, tối đa 2 phút, và tự tải lại khi phía máy chủ đã ghi nhận kết quả. Nhờ vậy khách không bị kẹt ở một trang chờ vô định, còn shop có IPN làm nguồn xác nhận chính thức phía máy chủ. Hiểu đúng cơ chế này cũng giúp khi có đơn không tự xác nhận: nơi cần kiểm tra là luồng IPN, trạng thái map đơn và khóa tích hợp, thay vì đi tìm webhook giao dịch.

Hai hình thức hiển thị thanh toán cho khách

Plugin hỗ trợ hai cách trình bày khâu thanh toán. Cách thứ nhất là hiển thị mã QR ngay tại website: khách đang ở trang thanh toán, quét mã và chuyển khoản tại chỗ, trải nghiệm liền mạch trong giao diện của shop. Cách thứ hai là đưa khách sang trang thanh toán riêng của Pay2S, gọi là Payment Page: khách hoàn tất thanh toán trên trang của Pay2S rồi được đưa trở lại website. Chọn cách nào phụ thuộc vào việc shop muốn giữ khách trong giao diện của mình hay dùng trang thanh toán dựng sẵn của Pay2S; cơ chế xác nhận đơn bằng IPN ở phía sau không thay đổi.

Sau khi đơn đã tự xác nhận, vận hành thế nào

Tự xác nhận đơn mới giải quyết khâu tiền về. Sau khi website chạy thật, shop còn phải đối soát trạng thái đơn với giao dịch thật, xử lý các ca tiền đã về nhưng trạng thái chưa khớp, hoàn tiền và tồn kho. Những việc đó thuộc giai đoạn vận hành sau khi tích hợp xong, đã được trình bày riêng trong bài đối soát WooCommerce sau go-live, bài này không lặp lại để bạn tra cứu đúng chỗ. Khi chuỗi bán hàng đã chạy ổn, bước tiếp theo nhiều shop làm là nối sang khâu hóa đơn: tiền về, đơn xác nhận xong thì hóa đơn điện tử được xuất tự động. Cách chuỗi đó vận hành được giải thích trong bài hóa đơn tự động là gì.

Câu hỏi thường gặp

Plugin có dùng webhook giao dịch ngân hàng để xác nhận đơn không?

Không. Theo tài liệu chính thức, plugin xác nhận đơn bằng IPN của luồng thanh toán: tín hiệu gắn với giao dịch thanh toán của chính đơn hàng và được xác thực bằng Secret Key. Webhook giao dịch ngân hàng là cơ chế khác, dùng khi đối tác muốn nhận dữ kiện giao dịch ngân hàng về hệ thống tự xây của mình.

IPN đến chậm thì khách và đơn hàng ra sao?

Phía khách, trang nhận đơn tự kiểm tra trạng thái mỗi 2 giây, tối đa 2 phút và tự tải lại khi máy chủ đã xác nhận. Phía hệ thống, Pay2S thử gửi lại IPN tối đa 5 lần nếu chưa nhận được phản hồi hợp lệ trong thời gian chờ 10 giây. Nếu sau các lượt thử mà đơn vẫn chưa đổi trạng thái, đó là ca cần đối soát tay theo quy trình vận hành sau go-live.

Tiền của khách có bị Pay2S giữ lại không?

Không. Pay2S không giữ tiền của người bán; tiền khách chuyển khoản về thẳng tài khoản ngân hàng mà shop đã cấu hình trong plugin. Pay2S đóng vai trò cổng thanh toán và là bên phát tín hiệu xác nhận kết quả giao dịch về website.

Tóm lại, với website WooCommerce, muốn biến động số dư tự xác nhận đơn, bạn cài plugin Pay2S Gateway 1.3.13, cấu hình khóa tích hợp và map trạng thái đơn, còn phần xác nhận chạy bằng IPN phía máy chủ. Hóa Đơn Tự Động là đại lý tư vấn triển khai Pay2S. Nếu muốn được hỗ trợ cấu hình cho website của shop, bạn đăng ký qua liên kết đại lý Pay2S hoặc gọi 0979990560. Website là đại lý nên có hoa hồng khi bạn đăng ký qua liên kết này; giá gói và tính năng không đổi so với đăng ký trực tiếp với hãng.

Leave your comment