{
"qr_string": "00020101021238570010A000000727012700069704360113VQRQ12345678900208QRIBFTTA53037045802VN62160812Test payment6304ABCD"
}
{
"qr_image_url": "https://example.com/qr/order-12345.png"
}
{
"message": "success",
"data": {
"data": {
"bank_bin_code": "970436",
"bank_account_number": "1234567890",
"amount": 1000000,
"purpose": "Test payment"
},
"error": "",
"error_code": 0,
"message": ""
}
}
{
"message": "success",
"data": {
"data": null,
"error": "failed to decode QR image",
"error_code": 3,
"message": "image decode failed"
}
}
Banks
Decode VietQR
Decode a VietQR string or image URL into structured payment information.
POST
/
api
/
v1
/
payment-methods
/
qr
/
decode
{
"qr_string": "00020101021238570010A000000727012700069704360113VQRQ12345678900208QRIBFTTA53037045802VN62160812Test payment6304ABCD"
}
{
"qr_image_url": "https://example.com/qr/order-12345.png"
}
{
"message": "success",
"data": {
"data": {
"bank_bin_code": "970436",
"bank_account_number": "1234567890",
"amount": 1000000,
"purpose": "Test payment"
},
"error": "",
"error_code": 0,
"message": ""
}
}
{
"message": "success",
"data": {
"data": null,
"error": "failed to decode QR image",
"error_code": 3,
"message": "image decode failed"
}
}
Overview
Partners can decode a VietQR string or QR image URL into structured payment information — bank BIN code, destination account number, amount, and purpose. Pass exactly one ofqr_string or qr_image_url per request.
Authentication
string
required
Your partner app key.
string
required
Base64-encoded Ed25519 signature of the sign data.
string
required
Unix timestamp (seconds) of the request. Must be within 60 seconds of server time.
Body Parameters
string
Raw VietQR string. Mutually exclusive with
qr_image_url.string
HTTPS URL pointing to a QR code image. Mutually exclusive with
qr_string.Error Codes
When decoding fails, the response includes a non-zeroerror_code:
error_code | Meaning |
|---|---|
1 | Invalid input |
2 | Image download failed |
3 | Image decode failed |
4 | Parse failed |
{
"qr_string": "00020101021238570010A000000727012700069704360113VQRQ12345678900208QRIBFTTA53037045802VN62160812Test payment6304ABCD"
}
{
"qr_image_url": "https://example.com/qr/order-12345.png"
}
{
"message": "success",
"data": {
"data": {
"bank_bin_code": "970436",
"bank_account_number": "1234567890",
"amount": 1000000,
"purpose": "Test payment"
},
"error": "",
"error_code": 0,
"message": ""
}
}
{
"message": "success",
"data": {
"data": null,
"error": "failed to decode QR image",
"error_code": 3,
"message": "image decode failed"
}
}