MoMo hay ZaloPay cho website bán hàng: so từ checkout tới hoàn tiền

Hai ví đều có luồng merchant và API. Chọn bằng trải nghiệm khách thật, callback, query dự phòng, hoàn tiền và năng lực hỗ trợ.

Đội vận hành website kiểm hai luồng ví điện tử bằng đơn hàng và giao dịch hoàn tiền mẫu
So bằng vòng đời một giao dịch
Tiêu chíMoMoZaloPay
Khởi tạoCó API tạo thanh toán và các phương thức tích hợp theo tài liệu merchant.Có API tạo đơn/thanh toán theo tài liệu ZaloPay Business.
Thông báoIPN server-to-server; cần kiểm chữ ký và dữ liệu đơn.Callback server-to-server; cần kiểm MAC/chữ ký.
Dự phòngQuery trạng thái khi cần xác minh kết quả.Query trạng thái khi callback bị lỡ hoặc trạng thái chưa rõ.
Hoàn tiềnRefund API, có luồng query; tài liệu hỗ trợ hoàn theo điều kiện tích hợp.Refund bất đồng bộ và query trạng thái hoàn theo tài liệu.
Trải nghiệmTest app/web/QR đúng thiết bị và tệp khách.Test app/web/QR đúng thiết bị và tệp khách.
Quyết địnhCoi tỷ lệ hoàn tất, lỗi và hỗ trợ trên shop thật.Coi cùng một bộ số liệu, không đo bằng logo.

Khách thấy trang thành công, kho vẫn thấy đơn chờ

Đây là tình huống đáng đem vào buổi so MoMo và ZaloPay hơn câu hỏi ví nào phổ biến. Trình duyệt đã quay về nhưng callback có thể trễ; nhân viên không biết giữ hàng hay giao.

Cả hai hệ đều có tài liệu merchant cho tạo giao dịch, thông báo server và truy vấn. Lựa chọn nằm ở độ khớp với checkout, tệp khách, đội kỹ thuật và quy trình xử lý trạng thái chưa rõ.

Test hành trình trên thiết bị khách thật

Mở website từ Zalo, Facebook, trình duyệt trong app và trình duyệt thường. Test khi đã cài ví, chưa cài, mạng yếu, bấm quay lại và hết thời gian. Đếm số bước cùng tỷ lệ hoàn tất, không chỉ nhìn màn hình đẹp.

Shop có tệp khách khác nhau nên kết quả không thể suy từ thị trường chung. Chạy A/B hoặc mở từng phương thức trong giai đoạn đủ đơn để đo.

IPN/callback là xương sống vận hành

MoMo dùng IPN trong luồng tài liệu; ZaloPay dùng callback. Với cả hai, server shop cần xác minh chữ ký/MAC, số tiền, mã đơn và trạng thái trước khi cập nhật.

Endpoint phải phản hồi đúng, ghi log đủ truy vết và chịu được retry. Không cho frontend giữ secret. Không tin dữ liệu khách gửi lên chỉ vì nó có order ID hợp lệ.

Query dự phòng ngăn đơn treo vô thời hạn

Mạng có thể làm callback không tới. Hệ thống nên có lịch query các đơn chờ theo giới hạn hợp lý, hoặc nút an toàn cho nhân viên kiểm lại.

Không query dồn dập; theo tài liệu rate/khuyến nghị và lưu kết quả. Khi trạng thái vẫn chưa rõ, đừng tự chuyển thành thất bại rồi yêu cầu khách trả lần nữa.

Hoàn tiền phải được test trước ngày có khách bực

MoMo có Refund API và query trạng thái; tài liệu ZaloPay mô tả hoàn bất đồng bộ và query kết quả. Cả hai cần test điều kiện, toàn phần/một phần, mã refund duy nhất và cách kết quả quay về hệ đơn.

Đo thời gian từ lúc shop bấm hoàn tới lúc khách nhận, ai theo dõi khoản pending và kế toán lấy phí/đối soát ở đâu. Đừng hứa “hoàn ngay” nếu luồng thực tế chưa được kiểm.

Portal, báo cáo và hỗ trợ mới lộ ra sau ngày khai trương

Cho vận hành và kế toán xem portal merchant: tìm giao dịch, lọc trạng thái, xuất file, phân quyền và lần refund. Hỏi SLA hỗ trợ lúc tiền đã trừ nhưng đơn chưa xác nhận.

Một API tốt nhưng portal khó dùng có thể đẩy mọi ticket cho dev. Một portal dễ dùng nhưng webhook thiếu quan sát lại làm đội kỹ thuật mệt. Chấm cả hai phía.

Bộ test chung

  • Thanh toán thành công bình thường.
  • Khách đóng tab trước return URL.
  • Callback tới trễ và tới lặp.
  • Sai số tiền hoặc order ID không tồn tại.
  • Giao dịch hết hạn/chưa rõ trạng thái.
  • Hoàn toàn phần và hoàn một phần.
  • Xuất báo cáo đối soát cùng ngày.
  • Thu hồi quyền một tài khoản vận hành.

Chọn bằng dữ liệu của shop

Nghiêng bên cho tỷ lệ hoàn tất tốt hơn trên tệp khách, trạng thái ít treo hơn, hoàn/đối soát rõ hơn và hỗ trợ vừa năng lực team. Nếu hai bên cùng có giá trị, bật cả hai nhưng giữ một model trạng thái chung.

Khách chỉ cần trả được lẹ. Shop cần biết tiền nào của đơn nào, khi nào được giao và lúc hoàn thì ai theo tới cuối. Bên làm trọn vòng đó ít câu hỏi hơn là bên đáng giữ.

Những câu shop hay hỏi

Có nên tích hợp cả MoMo và ZaloPay?

Có thể nếu khách thật sự dùng và hệ thống gom trạng thái/đối soát được. Nếu volume thấp, bắt đầu một bên giúp vận hành gọn hơn.

Callback không tới thì làm sao?

Không đoán. Dùng API query trạng thái theo tài liệu, giữ đơn ở trạng thái chờ và có quy trình retry/kiểm tra.

Bên nào hoàn tiền nhanh hơn?

Thời gian thực tế phụ thuộc loại giao dịch, quy trình và hợp đồng. Test cả hoàn một phần/toàn phần và hỏi SLA chính thức trước khi kết luận.