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 + va
    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 + va

b. Request

{
"va":"V3ZG20020000086ADD2",
"service_id":"6B9002"
}
TênKiểuBắt buộcMô tả
vastringYTK Đị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",
"va": "V3ZG20020000086ADD2",
"customer_name": "ZENGI",
"type": "0",
"amount": "79000",
"service_id": "6B9002"
}
TênKiểuBắt buộcMô tả
result_codestringYMã kết quả
result_descstringYMô tả kết quả
vastringYTK Định Danh
customer_namestringYTên NSD
typestring(1)Ydefault 0 (gạch nợ khớp số tiền), 1 (gạch nợ không khớp số tiền)
amountstringYSố tiền

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 + va + transactionid + amount

b. Request

{
"transactionid": "20251013000013",
"transactiontime": "20251015003902",
"referencenumber": "FT25132328062416",
"amount": "79000",
"va": "V3ZG20020000086ADD2",
"narrative": "TTHDOL_FWEWQKKPUQKFKU_V3ZG20020000086ADD2_Khachhang:ZENGI_amount:26000_soGD:V3ZG20020000086ADD2@20250929000001_ky:20250929"
}
TênKiểuBắt buộcMô tả
transactionidstringYSố transaction sinh ra duy nhất trong hệ thống của Bank
transactiontimestringYThời gian gửi message (yyyyMMddhhmmss)
referencenumberstringYMã tham chiếu
bankAccountstringNTài khoản nguồn
binCodestringNBincode của ngân hàng quản lý tài khoản nguồn
transTypestringNLoại giao dịch C - báo có, D - báo nợ
vastringYMã NSD/Mã đơn hàng
amountstringYSố tiền
narrativestringNMô tả
reciprocalAccountstringNSố tài khoản đối ứng
reciprocalBankCodestringNBinCode của ngân hàng quản lý tài khoản đối ứng

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 đó"
}