Nhảy tới nội dung

3.1.4 Callback khi giao dịch được thanh toán

REST API

📣 Update (23/03/2022)

Thay thế thuật toán SHA1 (HmacSha1) thành SHA256 (HmacSha256)

Lưu ý

API này chỉ sử dụng cho khách hàng đăng ký sử dụng tính năng thanh toán.

Thông tin chung

  • API gọi ngược từ phía của Server MB khi có sự kiện liên quan đến giao dịch
  • API Endpoint do Đối tác cung cấp cho hệ thống MB.
  • Đối tác phải thiết kế API nhận dữ liệu theo đúng như đặc tả trong tài liệu cung cấp.
Lưu ý

API có sử dụng checksum để thẩm tra lại các trường quan trọng trong bản tin không bị thay đổi

Thông tin
  • Hiện tại callback sẽ chỉ được gọi khi giao dịch được thanh toán.
  • Nếu đối tác trả về HTTP_STATUS ngoài 2XX phía MB sẽ thực gọi lại sau ít nhất 30 phút

Thông tin về checksum

Thử nghiệm

Click để thử nghiệm !

Đặc tả API

Endpoint

    URL: Do đối tác tự đình nghĩa và gửi lại cho hệ thống MB Payment Hub. API cần được public ra internet
Method: POST
  • Đối tác cung cấp các tham số tĩnh để truyền qua Headers
    Content-Type: application/json

Dữ liệu chuyển sang đối tác

Tham sốMô tả
idKiểu String, tối đa 30 ký tự. ID của giao dịch
merchant.codeKiểu String, tối đa 100 ký tự. Mã đối tác
merchant.nameKiểu String, tối đa 256 ký tự. Tên đối tác
cifKiểu String, tối đa 45 ký tự. Mã khách hàng MB
amountKiểu Long. Số tiền thực hiện giao dịch
descriptionKiểu String, tối đa 200 ký tự. Nội dung giao dịch
type.codeKiểu String, tối đa 100 ký tự. Mã loại giao dịch
type.nameKiểu String, tối đa 256 ký tự. Tên loại giao dịch
type.allowCardKiểu Boolean. Cho phép thanh toán bằng thẻ hay không
true: Có cho phép
false: Không cho phép
successMessageKiểu String, tối đa 2000 ký tự. Thông báo khi thanh toán thành công
metadataKiểu String, tối đa 500 ký tự. Chuỗi dữ liệu bổ sung thông tin cho giao dịch được Đối tác truyền vào khi khởi tạo giao dịch
createdTimeKiểu Date. Thời điểm tạo giao dịch
Theo định dạng yyyy-MM-dd'T'HH:mm:ss (ISO 8601)
paidTimeKiểu Date. Thời điểm thanh toán
Theo định dạng yyyy-MM-dd'T'HH:mm:ss (ISO 8601)
statusKiểu String, tối đa 45 ký tự. Trạng thái của giao dịch; bao gồm:
PAID: Đã thanh toán
fundingSourceKiểu String, tối đa 2000 ký tự. Nguồn tiền được khách hàng sử dụng để thanh toán
ACCOUNT: Nguồn TKTT
CARD: Nguồn thẻ (bao gồm CREDIT_CARD & PREPAID_CARD)
cardTypeKiểu String, tối đa 100 ký tự. Loại thẻ được khách hàng sử dụng để thanh toán
BMC
MBVT_VISA_CREDIT
SIMPLE
VIETTEL_PAYROLL
MBVG_VISA_CREDIT
VISA_CREDIT
SME_CREDIT
JCB_CREDIT
SSC
PRIORITY_MBVG_VISA_CREDIT
PRIORITY_VISA_CREDIT
NEWPLUS
VIETTELPAY
checksumBẮT BUỘC, Kiểu String. Chuỗi mã hóa tạo ra dựa trên các tham số dưới đây:
merchantCode+transactionId+typeCode+cif+amount+status
Trong đó
merchantCode: Mã đối tác
transactionId: ID của giao dịch thanh toán
amount: Số tiền
status: Trạng thái giao dịch

Tham khảo