Skip to main content

Tạo QR động và đồng thời hiển thị lên loa

API này cho phép tạo mã QR động và hiển thị trực tiếp lên màn hình thiết bị TINGEEBOX mà không cần phải gọi API hiển thị QR.

note

API này chỉ áp dụng cho các thiết bị không phải TingeeBox 3LS.

POST
URLhttps://uat-open-api.tingee.vn/v1/device/generate-and-show-dynamic-qr-code

Tạo QR Code động và hiển thị ngay lên thiết bị TINGEEBOX để khách hàng quét thanh toán.

Header Request

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

Body Parameter

TrườngKiểuBắt buộcMô tả
merchantIdnumberID của Merchant
(Bắt buộc nếu kết nối bằng tài khoản Master Merchant).
uuidstringMã thiết bị.
qrCodeTypestringLoại QR động:
- dynamic-one-time-payment: QR thanh toán duy nhất 1 lần.
- dynamic-recurring-payment: QR thanh toán nhiều lần.
vaAccountNumberstringSố tài khoản ảo.
amountnumberGiá trị hóa đơn.
purposestringNội dung thanh toán.
bankBinstringMã BIN ngân hàng. Xem tại Danh sách ngân hàng hỗ trợ.
expireInMinutenumberThời gian hiệu lực của QR (phút). Mặc định là 30 ngày.
extraInfostringThông tin thêm khi tạo QR (Đối tác có thể truyền mã Bill...).
firstTextstringNội dung hiển thị kèm QR (dòng 1).
secondTextstringNội dung hiển thị kèm QR (dòng 2).
thirdTextstringNội dung hiển thị kèm QR (dòng 3).
showTimenumberThời gian hiển thị QR trên loa (giây). Mặc định là 15 giây.
playSoundbooleanPhát tiếng kêu khi hiển thị QR.
- true: Có kèm tiếng kêu.
- false/không truyền: Không kèm tiếng kêu.
readAmountAfterPaybooleanĐọc số tiền sau thanh toán thành công.
- true: Tự động đọc số tiền qua Loa.
- false/không truyền: Đối tác gọi API đọc số tiền để phát qua Loa.

Ví dụ mã nguồn

curl --location --request POST 'https://uat-open-api.tingee.vn/v1/device/generate-and-show-dynamic-qr-code' \
--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 '{
"uuid": "DEVICE_UUID",
"qrCodeType": "dynamic-one-time-payment",
"vaAccountNumber": "V1T123456789",
"amount": 150000,
"purpose": "Thanh toan don hang #001",
"bankName": "970422",
"expireInMinute": 5,
"firstText": "Quan ABC",
"showTime": 30,
"playSound": true,
"readAmountAfterPay": true
}'

Response mẫu

{
"code": "00",
"message": "Success",
"data": {
"qrCode": "00020101021238570010A...",
"qrAccount": "V1T123456789",
"billId": "BILL_20251110_001"
}
}
TrườngKiểuMô tả
codestringMã kết quả (00 = Thành công).
messagestringThông điệp phản hồi.
data.qrCodestringChuỗi QR Code động để hiển thị / quét.
data.qrAccountstringSố tài khoản ảo gắn với QR.
data.billIdstringMã hóa đơn tương ứng.

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.