Skip to main content
Version: 1.2.1 (Latest)

Tạo QR Code động Tingee (Dynamic QR)

API này cho phép tạo mã QR động cho từng giao dịch cụ thể, hỗ trợ thanh toán một lần hoặc nhiều lần tùy theo cấu hình.

POST
URLhttps://open-api.tingee.vn/v1/generate-dynamic-qr

API tạo mã QR động cho từng giao dịch. Kết quả trả về bao gồm chuỗi mã QR và thông tin hóa đơn trên hệ thống.

Header Request​

HeaderBắt buộcMô tả
Content-Type✓application/json
x-client-id✓Mã định danh của đối tác do TINGEE cung cấp.
x-signature✓Chữ ký xác thực HMAC SHA512. Xem thêm tại Cách sinh chữ ký.
x-request-timestamp✓Thời gian gửi request (format: yyyyMMddHHmmssSSS, múi giờ UTC+7)

Body Parameter​

TrườngKiểuBắt buộcMô tả
merchantIdnumber✕ID của Merchant
(Bắt buộc nếu kết nối bằng tài khoản Master Merchant).
vaAccountNumberstring✓Số tài khoản định danh (VA).
qrCodeTypestring✓Loại QR: dynamic-one-time-payment hoặc dynamic-recurring-payment.
bankBinstring✓Mã BIN ngân hàng. Xem tại Danh sách ngân hàng hỗ trợ.
amountnumber✓Số tiền cần thanh toán.
purposestring✕Nội dung thanh toán.
expireInMinutenumber✓Thời gian hết hạn QR động (phút).
extraInfostring✕Thông tin bổ sung.

Ví dụ mã nguồn​

curl --location --request POST 'https://open-api.tingee.vn/v1/generate-dynamic-qr' \
--header 'accept: application/json' \
--header 'x-signature: YOUR_SIGNATURE' \
--header 'x-request-timestamp: 20251110175110111' \
--header 'x-client-id: YOUR_CLIENT_ID' \
--header 'Content-Type: application/json' \
--data '{
"vaAccountNumber": "V1T199988811",
"qrCodeType": "dynamic-one-time-payment",
"bankBin": "970418",
"amount": 500000,
"purpose": "Thanh toan cho hoa don HD2918732312"
}'

Response mẫu​

{
"code": "00",
"message": "Success",
"data": {
"qrCode": "00020101021238540010A00000072701240006970418011088880935920208QRIBIDV2530370454085000005802VN... ",
"qrAccount": "88880935926988",
"billId": "QR_BILL_202507231420"
}
}
TrườngKiểuMô tả
codestringMã kết quả (00 = Thành công).
messagestringThông điệp phản hồi.
data.qrCodestringChuỗi nội dung của mã QR (để dùng thư viện render hoặc link ảnh).
data.qrAccountstringSố tài khoản nhận tiền tương ứng.
data.billIdstringMã vận đơn/hóa đơn tương ứng trên hệ thống Tingee.

Mã lỗi thường gặp​

CodeMô tảHướng xử lý
90Sai format timestampKiểm tra format yyyyMMddHHmmssSSS.
91Request quá hạnKiểm tra thời gian gửi request.
97Sai chữ kýKiểm tra lại Secret Key và logic tạo Signature.
OthersLỗi khácXem Danh sách mã lỗi.