Nhảy tới nội dung

Xác nhận thanh toán

Hóa đơn thanh toán chỉ có thể được captured nếu đang ở trạng thái Authorized (resultCode là 9000). Trạng thái authorized chỉ áp dụng cho luồng thanh toán trực tiếp với thẻ quốc tế, ví MoMo với tham số autoCapture được chỉnh giá trị là false.

Sau khi cấp quyền thành công, giao dịch được cấp quyền sẽ có trạng thái là 9000:Authorized. Đối tác sẽ xử lý nội bộ và gọi API này để xác nhận giao dịch, bao gọi 2 kiểu request:

  • Confirm (capture): Đối tác xử lý giao dịch thành công, số tiền sẽ được chuyển đến ví của đối tác. Giao dịch này bên phía MoMo sẽ được lưu với trạng thái Thành Công (Successful).

  • Cancel (cancel): Đối tác thất bại trong việc xử lý giao dịch, và ở trạng thái này số tiền đang được chuyển về cho user. Giao dịch này từ phía MoMo sẽ được lưu với trạng thái Thất Bại (Failed).

Thông tin kết nối đến MoMo

Thời gian timeout nhỏ nhất khi gọi API này nên là 30s để đảm bảo nhận phản hồi từ server của MoMo.

HTTP Request

POST /v2/gateway/api/confirm

AttributeTypeRequiredDescription
partnerCodeStringThông tin tích hợp
requestIdStringĐịnh danh duy nhất cho mỗi yêu cầu
Đối tác sử dụng requestId cho xử lý idempotency
orderIdStringMã đơn hàng của đối tác đã xác thực
requestTypeStringLoại yêu cầu với 2 giá trị sau:
- Xác nhận giao dịch: capture
- Hủy bỏ giao dịch: cancel
amountLongSố tiền của hóa đơn cần xác nhận (hủy bỏ)
langStringNgôn ngữ của message được trả về (vi hoặc en)
descriptionStringMô tả lý do (dùng trong trường hợp) cancel)
signatureStringChữ ký để kiểm tra thông tin. Sử dụng thuật toán Hmac_SHA256 với dữ liệu theo định dạng sau: accessKey=$accessKey&amount=$amount&description=$description
&orderId=$orderId&partnerCode=$partnerCode
&requestId=$requestId&requestType=$requestType
HTTP Response
AttributeTypeRequiredDescription
partnerCodeStringThông tin tích hợp
requestIdStringID duy nhất cho mỗi request
orderIdStringMã đơn hàng của đối tác đã xác thực
amountLongSố tiền của hóa đơn gốc
transIdLongMã giao dịch của MoMo
resultCodeintResult Code
messageStringMô tả lỗi, ngôn ngữ dựa trên lang
requestTypeStringLoại yêu cầu với 2 giá trị sau:
- Xác nhận giao dịch: capture
- Hủy bỏ giao dịch: cancel
responseTimeLongThời gian trả kết quả thanh toán về đối tác
Định dạng: timestamp