Nhảy tới nội dung

Danh Sách Result Codes

Sau khi gửi API request, bạn sẽ nhận được thông tin phản hồi rằng request của bạn đã được nhận và đã xử lý. Phụ thuộc vào HTTP status code của kết quả phản hồi, thực hiện những xử lý phù hợp:

  • 2xx: request đã được nhận và đã xử lý.
  • 4xx: có sai sót trong request.
  • 5xx: lỗi từ phía server hoặc lỗi kết nối.

Ngoài HTTP status code, bạn cũng có thể nhận được result code của MoMo và nội dung mô tả (theo EN hoặc VI) trong phản hồi. Mỗi result code mang ý nghĩa khác nhau về kết quả request của bạn, vậy nên dựa vào kết quả đó đưa ra hướng xử lý phù hợp.

Để giảm bớt các tác dụng phụ không mong muốn khi những requests bị trùng lặp, bạn có thể làm theo các chỉ dẫn sau ở phía hệ thống của bạn:

  • Triển khai server-to-server notification receiver bất đồng bộ, sử dụng service IPN (Instant Push Notification) của MoMo, thông qua các thuộc tính của ipnUrl trong request.
  • Cho phép idempotency trong các API requests: API của MoMo hỗ trợ idempotency trên các requests POST (các phương thức HTTP khác như GET, DELETE, và PUT theo định nghĩa là idempotent).

Hệ thống cổng thanh toán API của MoMo từ phiên bản 2.1 hỗ trợ idempotency, cho phép bạn thử lại 1 request nhiều lần và yên tâm là request đó chỉ được xử lý 1 lần duy nhất. Điều này giúp tránh các hành động lặp lại ngoài ý muốn trong trường hợp thất bại và thử lại. Tất các các result code nếu mang hàm ý "Final status" trong danh sách dưới đây là idempotent, vì vậy các result code khác sẽ trả về kết quả "duplicated requestId" (bị lặp lại) nếu request đó được gửi nhiều lần.

Mã lỗi áp dụng cho tất cả các API của cổng thanh toán, dùng để xác định lỗi thanh toán hoặc hệ thống và lỗi trong quá trình tích hợp.

Result codeDescriptionFinal StatusRecommended actions
0Thành công.Yes
9000Giao dịch đã được xác nhận thành công.NoĐối với thanh toán 1 bước (autoCapture=1), đây có thể xem như giao dịch thanh toán đã thành công. Đối với thanh toán 2 bước (autoCapture=0), vui lòng thực hiện tiếp yêu cầu capture hoặc cancel. Đối với liên kết, vui lòng tiến hành yêu cầu lấy recurring token.
8000Giao dịch đang ở trạng thái cần được người dùng xác nhận thanh toán lại.NoGiao vẫn đang chờ người dùng xác nhận thanh toán; trạng thái của giao dịch sẽ được tự động thay đổi ngay sau khi người dùng xác nhận hoặc hủy thanh toán.
7000Giao dịch đang được xử lý.NoVui lòng chờ giao dịch được xử lý hoàn tất.
7002Giao dịch đang được xử lý bởi nhà cung cấp loại hình thanh toán.NoVui lòng chờ giao dịch được xử lý. Kết quả giao dịch sẽ được thông báo ngay khi được xử lý hoàn tất.
1000Giao dịch đã được khởi tạo, chờ người dùng xác nhận thanh toán.NoGiao vẫn đang chờ người dùng xác nhận thanh toán; trạng thái của giao dịch sẽ được tự động thay đổi ngay sau khi người dùng xác nhận hoặc hủy thanh toán.
11Truy cập bị từ chối.NoCấu hình tài khoản doanh nghiệp không cho phép truy cập. Vui lòng xem lại các thông tin đăng ký và cấu hình trên M4B, hoặc liên hệ trực tiếp với MoMo để được điều chỉnh.
12Phiên bản API không được hỗ trợ cho yêu cầu này.NoVui lòng nâng cấp lên phiên bản mới nhất của cổng thanh vì, vì phiên bản bạn đang truy cấp hiện không còn được hỗ trợ.
13Xác thực doanh nghiệp thất bại.NoVui lòng kiểm tra thông tin kết nối, bao gồm cả chữ ký mà bạn đang sử dụng, và đối chiếu với các thông tin được cung cấp từ M4B.
20Yêu cầu sai định dạng.NoVui lòng kiểm tra định dạng của yêu cầu, các biến thể, hoặc tham số còn thiếu.
22Số tiền giao dịch không hợp lệ.NoVui lòng kiểm tra nếu số tiền thanh toán nằm trong giới hạn quy định của yêu cầu thanh toán này. Đối với yêu cầu dạng capture, hãy kiểm tra số tiền capture có bằng với số tiền đã được xác nhận trước đó hay không.
40RequestId bị trùng.NoVui lòng thử lại với một requestId khác.
41OrderId bị trùng.NoVui lòng truy vấn trạng thái của orderId này, hoặc thử lại với một orderId khác.
42OrderId không hợp lệ hoặc không được tìm thấy.NoVui lòng thử lại với một orderId khác.
43Yêu cầu bị từ chối vì xung đột trong quá trình xử lý giao dịch.NoTrước khi thử lại, vui lòng kiểm tra nếu có một giao dịch khác đang được xử lý có thể hạn chế yêu cầu này được tiếp nhận, hoặc orderId được sử dụng không phù hợp với yêu cầu này.
44Giao dịch bị từ chối vì mã thanh toán không hợp lệ.NoMã thanh toán không đúng định dạng. Vui lòng kiểm tra xem khách hàng có dùng đúng MoMo QR thanh toán, hay một số ký tự lạ đã bị thêm vào trong quá trình quét mã do lỗi từ máy POS.

Mã thanh toán khả dụng là mã thanh toán đúng với một trong ba định dạng sau:
"MM"" + "18 digit" => ví dụ: MM561918531775222861
"mm"" + "18 digit" => ví dụ: mm561918531775222861
"18 digit" => ví dụ: 561918531775222861
1001Giao dịch thanh toán thất bại do tài khoản người dùng không đủ tiền.Yes
1002Giao dịch bị từ chối do nhà phát hành tài khoản thanh toán.YesSự từ chối xảy ra khi thẻ được dùng để thanh toán hiện không còn khả dụng, hoặc kết nối đến hệ thống của nhà phát hành thẻ bị gián đoạn. Vui lòng tạm thời sử dụng phương thức thanh toán khác.
1003Giao dịch bị đã bị hủy.YesGiao dịch bị hủy bởi doanh nghiệp hoặc bởi trình xử lý timeout của MoMo. Vui lòng đánh dấu giao dịch này đã bị hủy (giao dịch thất bại).
1004Giao dịch thất bại do số tiền thanh toán vượt quá hạn mức thanh toán của người dùng.YesVui lòng đánh dấu giao dịch này thất bại, và thử lại vào một khoảng thời gian khác.
1005Giao dịch thất bại do url hoặc QR code đã hết hạn.YesVui lòng gửi lại một yêu cầu thanh toán khác.
1006Giao dịch thất bại do người dùng đã từ chối xác nhận thanh toán.YesPlease send another payment request.
1007Giao dịch bị từ chối vì tài khoản không tồn tại hoặc đang ở trạng thái ngưng hoạt động.YesVui lòng đảm bảo trạng thái tài khoản phải được kích hoạt/ đã xác thực trước khi thực hiện lại hoặc liên hệ MoMo để được hỗ trợ.
1026Giao dịch bị hạn chế theo thể lệ chương trình khuyến mãi.YesVui lòng liên hệ MoMo để biết thêm chi tiết.
1030Đơn hàng thanh toán thất bại do thông tin không hợp lệ.YesVui lòng liên hệ MoMo để biết thêm chi tiết.
1080Giao dịch hoàn tiền bị từ chối. Giao dịch thanh toán ban đầu không được tìm thấy hoặc xử lý tại thời điểm này.YesVui lòng kiểm tra nếu orderId hoặc transId được dùng trong yêu cầu này là chính xác, sau đó thử lại yêu cầu hoàn tiền .
1081Giao dịch hoàn tiền bị từ chối. Giao dịch thanh toán ban đầu có thể đã được hoàn.YesVui lòng kiểm tra nếu giao dịch thanh toán ban đầu đã được hoàn thành công, hoặc số tiền hoàn vượt quá số tiền cho phép hoàn của giao dịch thanh toán ban đầu.
2001Giao dịch thất bại do sai thông tin liên kết.YesToken liên kết không tồn tại hoặc đã bị xóa, vui lòng cập nhật dữ liệu của bạn.
2007Giao dịch thất bại do liên kết hiện đang bị tạm khóa.YesToken liên kết hiện đang ở trạng thái không hoạt động, do người dùng đã chủ động tạm khóa liên kết.
3001Liên kết thất bại do người dùng từ chối xác nhận.Yes
3002Liên kết bị từ chối do không thỏa quy tắc liên kết.YesTừ chối này thường xảy ra khi partnerClientId dùng trong yêu cầu đã được liên kết với một hoặc nhiều tài khoản MoMo trước đó. Vui lòng liên hệ MoMo để biết thêm chi tiết.
3003Hủy liên kết bị từ chối do đã vượt quá số lần hủy.YesVui lòng liên hệ MoMo để biết thêm chi tiết.
3004Liên kết này không thể hủy do có giao dịch đang chờ xử lý.YesVui lòng kiểm tra nếu có bất kỳ giao dịch chờ liên quan đén token này chưa được yêu cầu capture hoặc cancel (hủy).
4001Giao dịch bị hạn chế do người dùng chưa hoàn tất xác thực tài khoản.Yes
4010Quá trình xác minh OTP thất bại.YesQuá trình xác minh người dùng thất bại. Vui lòng gửi một yêu cầu xác minh người dùng khác để thử lại.
4011OTP chưa được gửi hoặc hết hạn.YesVui lòng yêu cầu gửi một mã OTP khác.
4100Giao dịch thất bại do người dùng không đăng nhập thành công.Yes
4015Quá trình xác minh 3DS thất bại.YesQuá trình xác minh người dùng thất bại. Vui lòng gửi một yêu cầu xác minh người dùng khác để thử lại.
10Hệ thống đang được bảo trì.NoVui lòng quay lại sau khi bảo trì được hoàn tất.
90Lỗi kết nối.NoVui lòng thử lại sau.
99Lỗi không xác định.YesVui lòng liên hệ MoMo để biết thêm chi tiết.
21Yêu cầu bị từ chối vì số tiền giao dịch không hợp lệ.NoVui lòng kiểm tra số tiền hợp lệ và thực hiện lại yêu cầu.
45Trùng ItemIdNoVui lòng kiểm tra và thử lại yêu cầu với ItemId duy nhất.
2019Yêu cầu bị từ chối vì orderGroupId không hợp lệ.YesVui lòng liên hệ MoMo để biết thêm chi tiết.
1008Giao dịch thất bại vì số tiền vượt quá hạn mức nhận tiền cho phép của người dùng.YesVui lòng thử lại yêu cầu chi hộ với số tiền thấp hơn.
1100Tài khoản Đối tác không đủ số dư thực hiện giao dịch. Vui lòng liên hệ MoMo để được hỗ trợ.YesVui lòng liên hệ MoMo top-up vào tài khoản Đối tác để tiếp tục thực hiện giao dịch.
1507Không tìm thấy Thẻ Ngân hàng hoặc Tài khoản ngân hàng hoặc BankCode không tồn tại. Vui lòng kiểm tra thông tin Ngân hàng và thực hiện lại.YesVui lòng kiểm tra và thử lại thông tin Thẻ Ngân hàng hoặc Tài khoản ngân hàng khác hoặc danh sách BankCode được hỗ trợ.
4003Chi hộ thất bại vì thông tin tài khoản người nhận không hợp lệ.YesVui lòng kiểm tra, đảm bảo thông tin tài khoản hợp lệ và thực hiện lại yêu cầu.
8003Yêu cầu khởi tạo chi hộ theo lô đã được thực hiện thành công.NoVui lòng gửi yêu cầu thực hiện chi hộ theo lô để hoàn tất quy trình.