Skip to main content

Thu Hộ Qua Billing

Mô tả APIS đối tác cung cấp để tích hợp sử dụng dịch vụ thu hộ qua bill

1, Thông Tin Chung

Endpoint (link API): ip:port/ context-root/function
Hoặc domain/context-root/function
Yêu cầu: context root phải unique để khai báo vào proxy ZENGI. (VD zengi-abc, trong đó abc là tên viết tắt của NCC)

1.2. Bảo Mật, Xác Thực:

  • Whitelist IP
  • Đối tác cung cấp cặp accessKey và secretKey để tạo chữ ký số
    Ví dụ:
    accessKey=1lCoX8CjcyH5A3KP
    secretKey=Cx4EDjpHknPAnYS3WmwqIJ6HGqzpXCaZ
    Message = accessKey + service_id + customer_id
    X-Signature = HMAC_SHA256(secretKey, Message)

Ex Output X-Signature Hex: 48287707c1e78713614b5bff3314fe4f6c4944840dfb7913babd56d6dcab0ee4

2. Đặc tả các APIS

2.1. Vấn tin

a. Thông tin chung

Đường dẫn: Link_API/getbill
Phương thức: POST
Định dạng request: JSON
Định dạng response: JSON
Header:

NoTên HeaderMô TảGhi chú
1Content-Typeapplication/jsonKiểu dữ liệu truyền
2X-SignatureChữ ký HMAC-SHA256Được mã hoá HMAC_SHA256 từ chuỗi : accessKey + service_id + customer_id

b. Request

{
"customer_id":"V3ZG20020000086ADD2",
"service_id":"6B9002"
}
TênKiểuBắt buộcMô tả
customer_idstringYMã NSD/Mã đơn hàng (Kèm mã đầu TK Định Danh)
service_idstringYMã của dịch vụ cung cấp

c. Response

Trường hợp thành công:

{
"result_code": "000",
"result_desc": "Success",
"customer_id": "V3ZG20020000086ADD2",
"customer_name": "pip22",
"customer_addr": "",
"bill_id": "V3ZG20020000086ADD2",
"type": "1",
"total_amount": "79000",
"data": {
"period": "Test 2",
"data": [
{
"bill_id": "V3ZG20020000086ADD2",
"amount": "79000",
"remark": "Test 2"
}
]
}
}
TênKiểuBắt buộcMô tả
result_codestringYMã kết quả
result_descstringYMô tả kết quả
customer_idstringYMã NSD/Mã đơn hàng (Kèm mã đầu TK Định Danh)
customer_namestringYTên NSD
customer_addrstringNĐịa chỉ NSD
bill_idstringYBill Id
typestring(1)Ydefault 1 (gạch nợ khớp số tiền)
total_amountstringYSố tiền
datalistY
periodstringYChu kỳ hoặc kỳ thanh toán mà dữ liệu thuộc về, nếu thanh toán cho 1 bill thì = remark
bill_idstringYMã duy nhất ứng với một khoản nợ
amountstringYSố tiền
remarkstringNMô tả Nên theo cấu trúc sau: Số tài khoản định danh (giống customer-ID) + Nội dung thanh toán + Bill ID

Trường hợp lỗi:

{
"result_code": "017",
"result_desc": "Không tìm thấy thông tin KH tại NCC"
}
{
"result_code": "001",
"result_desc": "Hóa đơn đã được thanh toán trước đó"
}

2.2. Gạch nợ

a. Thông tin chung

Đường dẫn: Link_API/paybill
Phương thức: POST
Định dạng request: JSON
Định dạng response: JSON
Header:

NoTên HeaderMô TảGhi chú
1Content-Typeapplication/jsonKiểu dữ liệu truyền
2X-SignatureChữ ký HMAC-SHA256Được mã hoá HMAC_SHA256 từ chuỗi : accessKey + customer_id + trans_id + bill_id + amount

b. Request

{
"bill_id": "V3ZG20020000086ADD2",
"trans_date": "20251015003902",
"amount": "79000",
"trans_id": "20251013000013",
"customer_id": "V3ZG20020000086ADD2",
"remark": "TTHDOL_FWEWQKKPUQKFKU_V3ZG20020000086ADD2_Khachhang:pip22_amount:26000_soGD:V3ZG20020000086ADD2@20250929000001_ky:20250929"
}
TênKiểuBắt buộcMô tả
trans_idstringYSố transaction sinh ra duy nhất trong hệ thống của Bank
trans_datestringYThời gian gửi message (yyyyMMddhhmmss)
customer_idstringYMã NSD/Mã đơn hàng
bill_idstringYMã hóa đơn cần gạch nợ lấy từ hàm vấn tin
amountstringYSố tiền
remarkstringNMô tả

c. Response

Trường hợp thành công:

{
"result_code": "000",
"result_desc": "Success"
}

Trường hợp thất bại:

{
"result_code": "001",
"result_desc": "Thiếu tham số đầu vào"
}
{
"result_code": "001",
"result_desc": "Hóa đơn đã được thanh toán trước đó"
}