Báo Cáo Đối Soát
Được ZENGI gửi tới Merchant hằng ngày qua API (Merchant cần cung cấp API nhận đối soát).
ZENGI sẽ gửi đầy đủ các thông điệp mà ZENGI đã nhận được (bao gồm cả thông điệp thanh toán đơn hàng thành công và các thông điệp thanh toán đơn hàng không thành công) Trạng thái giao dịch (trường status) trong API đối soát: để đảm bảo hỗ trợ vận hành, sẽ có 02 trạng thái như sau:
ACSC: đơn hàng đã được thanh toán thành công và ĐVCNTT đã nhận được tiền.
RJCT: đơn hàng chưa được thanh toán.
Tạo chữ ký số
- accessKey=1lCoX8CjcyH5A3KP
- secretKey=Cx4EDjpHknPAnYS3WmwqIJ6HGqzpXCaZ
Message = accessKey + receivingReport + reportId + creationDateTime
X-Signature = HMAC_SHA256(secretKey, Message)
Ex Output X-Signature Hex: 48287707c1e78713614b5bff3314fe4f6c4944840dfb7913babd56d6dcab0ee4
Cấu trúc message đối soát
Header:
| No | Tên Header | Mô Tả | Ghi chú |
|---|---|---|---|
| 1 | Content-Type | application/json | Kiểu dữ liệu truyền |
| 2 | X-Signature | Chữ ký HMAC-SHA256 | Tham khảo ở phần Tạo chữ ký số |
Payload thông điệp đối soát dữ liệu (reconciliationreport):
| No | Tên field | Loại dữ liệu | Ý nghĩa |
|---|---|---|---|
| 1 | beginDate | string (YYYY-MM- M DDThh:mm:ss±hh:mm) | Thời gian bắt đầu phiên đối soát |
| 2 | endDate | string (YYYY-MM- M DDThh:mm:ss±hh:mm) | thời gian kết thúc phiên đối soát |
| 3 | receivingReport | string | Mã định danh của ĐVPTML |
| 4 | reportId | string | Định danh của thông điệp |
| 5 | creationDateTime | string (YYYY-MM- DDThh:mm:ss±hh:mm) | Thời gian sinh báo cáo. |
| 6 | pageNumber | integer | Số thứ tự trang báo cáo |
| 7 | totalPage | integer | Tổng số trang báo cáo |
| 8 | tranxDetail | object[1..n] | |
| 9 | tranxType | string | Loại giao dịch: payment (giao dịch thanh toán)/refund (giao dịch hoàn trả) |
| 10 | id | string | Là giá trị tài khoản gồm 19 ký tự được tạo ra trong mã VietQR |
| 11 | transDateTime | string | Thời gian thực hiện giao dịch thanh toán của khách hàng |
| 12 | amount | string | Số tiền giao dịch |
| 13 | issueBank | string | Mã định danh của TCPL (NH giữ tài khoản của KH mua hàng) |
| 14 | status | string | Trạng thái giao dịch |
| 15 | beneficiaryBank | string | Định danh của TCTH chứa tài khoản thật của đại lý |
| 16 | realMerchantAccount | string | Số tài khoản thực của đại lý đặt tại TCTH |
| 17 | refId | string | Số tham chiếu giao dịch, gồm 16 ký tự số trong lệnh thanh toán/hoàn trả. |
| 18 | creditTrace | string | Số lưu vết giao dịch, gồm 6 ký tự số trong thông điệp ghi có tài khoản ĐVCNTT. |
| 19 | creditReferenceNumber | string | Số tham chiếu của thông điệp ghi có tài khoản ĐVCNTT (giao dịch thanh toán)/TKKH (trong giao dịch hoàn trả) |
| 19 | sourceAccount | string | Số tài khoản nguồn của khách hàng thực hiện giao dịch thanh toán |
| 19 | customerName | string | Tên khách hàng thực hiện giao dịch thanh toán |
| 19 | reserveInfo | string | Trường thông tin dự phòng |
Ví dụ:
{
"begindate": "2025-10-29T23:00:00+07:00"
"enddate": "2025-10-30T22:59:59+07:00"
"receivingreport": "971240"
"reportid": "2025103097124003160500987853"
"creationdatetime": "2025-10-30T16:05:00+07:00"
"pagenumber": 1
"totalpage": 1
"tranxdetail: [
{
"id": "NPZGZGMZGB01OTp9oVE"
"transdatetime": "2025-10-30T11:03:14+07:00"
"amount": "2000"
"issuebank": "970462"
"status": "ACSP"
"beneficiarybank": "970406"
"realmerchantaccount": "123123123"
"mcc": ""
"refid": "5303CZNBA22UEKBZ"
"credittrace": ""
"creditreferencenumber": ""
"sourceaccount": "78804022"
"customername": "zengi"
"reserveinfo": ""
},
{
"id": "NPZGZGMZGB01OTp9oVE"
"transdatetime": "2025-10-30T11:03:14+07:00"
"amount": "2000"
"issuebank": "970462"
"status": "ACSP"
"beneficiarybank": "970406"
"realmerchantaccount": "123123123"
"mcc": ""
"refid": "5303CZNBA22UEKBZ"
"credittrace": ""
"creditreferencenumber": ""
"sourceaccount": "78804022"
"customername": "zengi"
"reserveinfo": ""
}
]
}