Skip to main content

Get dynamic QR code status

Use this API to query the detailed status of a dynamic QR code you have created, so you can check its payment status in real time.

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

Check the status of a dynamic QR code. The result includes the bill information and related transactions (if any).

Header Request​

HeaderRequiredDescription
Content-Type✓application/json
x-client-id✓Partner identifier issued by TINGEE.
x-signature✓HMAC SHA512 authentication signature. See How to generate the signature.
x-request-timestamp✓Time the request is sent (format: yyyyMMddHHmmssSSS, UTC+7)

Body Parameter​

FieldTypeRequiredDescription
merchantIdnumber✕Merchant ID
(Required if you connect with a Master Merchant account).
qrAccountstring✓QR account (data.qrAccount) returned by the Create dynamic QR API.
billIdstring✓Dynamic QR ID (data.billId) returned by the Create dynamic QR API.

Code samples​

curl --location --request POST 'https://open-api.tingee.vn/v1/get-status-dynamic-qr' \
--header 'accept: application/json' \
--header 'x-client-id: YOUR_CLIENT_ID' \
--header 'x-request-timestamp: 20240509154004003' \
--header 'x-signature: YOUR_SIGNATURE' \
--header 'Content-Type: application/json' \
--data '{
"qrAccount": "V1TQRD7F3A9C1B2E4",
"billId": "V1TQRD7F3A9C1B2E4"
}'

Sample Response​

{
"code": "00",
"message": "Success",
"data": {
"billInfo": {
"billId": "V1TQRD7F3A9C1B2E4",
"qrCodeType": "dynamic-one-time-payment",
"bankBin": "970418",
"accountNumber": "21510002865945",
"vaAccountNumber": "V1T199988811",
"qrAccount": "V1TQRD7F3A9C1B2E4",
"amount": 500000,
"purpose": "Thanh toan cho hoa don HD2918732312",
"totalAmountPaid": 500000,
"totalPaymentsCount": 1,
"expireInMinute": 43185,
"extraInfo": null,
"status": "fully-paid"
},
"transactionInfos": [
{
"transactionId": "3f1c2a9e-8b4d-4e57-9a61-2c7d5b0e8f14",
"merchantId": 1001,
"shopId": 1024,
"bankBin": "970418",
"cashFlowSource": "bank-transfer",
"code": "FT25283123456",
"amount": 500000,
"type": "credit",
"content": "Thanh toan cho hoa don HD2918732312",
"currency": "VND",
"accountNumber": "21510002865945",
"vaAccountNumber": "V1TQRD7F3A9C1B2E4",
"transactionDate": "20251010103000",
"billId": "V1TQRD7F3A9C1B2E4"
}
]
}
}
FieldTypeDescription
codestringResult code (00 = Success).
messagestringResponse message.
data.billInfoobjectDynamic QR information.
data.billInfo.billIdstringDynamic QR ID.
data.billInfo.qrCodeTypestringQR type: dynamic-one-time-payment or dynamic-recurring-payment.
data.billInfo.bankBinstringBank BIN.
data.billInfo.accountNumberstringSource account number that receives the money.
data.billInfo.vaAccountNumberstringVirtual account (VA) number used to create the dynamic QR.
data.billInfo.qrAccountstringQR account encoded in the dynamic QR.
data.billInfo.amountnumberAmount to pay.
data.billInfo.purposestringPayment description.
data.billInfo.totalAmountPaidnumberTotal amount paid for this QR.
data.billInfo.totalPaymentsCountnumberNumber of payments recorded for this QR.
data.billInfo.expireInMinutenumberDifference in minutes between the QR's expiry time and the query time (absolute value); null if the QR has no expiry.
data.billInfo.extraInfostringAdditional information passed when creating the QR (null if none).
data.billInfo.statusstringDynamic QR status:
- active: Active, not yet paid.
- partially-paid: Partially paid (total paid is less than amount).
- fully-paid: Fully paid.
- expired: Expired.
- cancelled: Cancelled.
data.transactionInfosarrayList of transactions paid for this QR; null if there are no transactions yet. Each item has the same structure as data.items[] of the Transaction history API.
data.transactionInfos[].transactionIdstringTransaction ID in the TINGEE system (UUID).
data.transactionInfos[].amountnumberTransaction amount.
data.transactionInfos[].codestringTransaction code on the bank side.
data.transactionInfos[].contentstringTransfer description.
data.transactionInfos[].transactionDatestringTransaction time (format: yyyyMMddHHmmss, UTC+7).

Common error codes​

CodeDescriptionHow to handle
1076Dynamic QR not foundCheck the billId and qrAccount from the Create dynamic QR result.
1095, 1096Master Merchant merchantId errorPass the merchantId of a sub-Merchant that belongs to the Master Merchant calling the API.
90, 91, 92, 97Request authentication error (timestamp, client-id, signature)See System error codes.
OthersOther errorsSee Error codes.