How to Read a VietQR Code and Check the Name Before You Pay (2026)
A VietQR card at a Vietnamese counter tells you the bank, the account and whose money it is, if you know where to look. Here is how to read one, what the bank short names mean, and the ten-second check that stops you paying the wrong person.
Quick answer: A VietQR code is a bank-account QR code: it carries the receiving bank and account number, and the payment app looks up and shows the account holder's name before you confirm. Read the printed card (bank logo, account name, account number), then check that the name on your confirm screen matches it and the shop. Visitors paying with Fizen QR Pay see the recipient and the amount in dong before confirming.
Key takeaways
- The card tells you three things. Which bank, which account number and whose name, printed under the VietQR and NAPAS 247 logos.
- Bank names are short codes. VCB is Vietcombank, TCB Techcombank, MB is MB Bank, ICB is VietinBank, VBA is Agribank, STB is Sacombank.
- Static codes have no amount, dynamic ones do. A taped-up card needs you to type the price; a code on a till screen usually carries the bill.
- The name check is the safety step. Swapped QR stickers exist. If the name on screen does not match the card or the shop, stop and ask.
The coffee is 35,000 dong, the code is taped to the counter, and the app on your phone says the money is about to go to TRAN THI something at a bank you have never heard of. Is that right? Usually it is: most small Vietnamese shops are paid into the owner's personal account. But reading the code for ten seconds before you swipe is the habit locals have, and it is worth having.
What is printed on a VietQR card?
VietQR is the national QR standard for bank transfers, run by NAPAS and built on the EMVCo QR payment specification. A typical printed card at a stall or shop shows:
- The VietQR and NAPAS 247 logos. They tell you the code works with any member bank's app through the instant interbank transfer service.
- The bank's logo or short name. The bank that holds the receiving account.
- The account name. Usually printed without Vietnamese accents, often in capitals, for example NGUYEN VAN AN. VietQR's developer documentation specifies the account holder's name without Vietnamese accents.
- The account number. Sometimes partly shown, sometimes in full.
- The QR code itself. It carries the bank's identifier and the account number, and sometimes an amount and a message.
What do the bank short names mean?
Confirm screens and cards often use a short code instead of the bank's full name. These are the ones you will see most, from the public VietQR bank list, which counted 76 banks when we checked:
| Short code | Bank |
|---|---|
| VCB | Vietcombank |
| TCB | Techcombank |
| MB | MB Bank (Military Bank) |
| BIDV | BIDV |
| ICB | VietinBank |
| ACB | ACB |
| VPB | VPBank |
| TPB | TPBank |
| VBA | Agribank |
| STB | Sacombank |
Two catch visitors out: VietinBank appears as ICB, and Agribank as VBA. Neither is a warning sign.
Static or dynamic: why does one code ask for the amount?
The VietQR documentation describes three kinds of code:
- Static. Fixed details of one account: bank, account number and name. This is the laminated card at a noodle stall. You type the amount yourself, so say the price out loud and type it carefully.
- Dynamic. Made for one transaction, with the amount and a payment message already filled in. Common on restaurant bills, hotel desks and shop tills. It stops working once that bill is paid, and an old one may no longer go through.
- Semi-dynamic. Like a static code, with an amount and message preset by the seller.
If a dynamic code already carries a message, look at it. Many Vietnamese banks reject a transfer whose message contains anything other than letters, numbers and spaces, so a hyphen, slash or dot in a pre-filled message can make the payment fail. Ask the shop for a plain code.
What should you check on the confirm screen?
- The name. Does it match the name on the printed card? For a business, it may be the owner's personal name or the company name, both are normal.
- The amount. On a static code, check you typed 35,000 and not 350,000. Dong amounts have many zeros.
- The bank. Should match the logo on the card.
- The sticker. Is the code printed on the card, or stuck on top of it? Vietnamese police and banks have warned about fake codes pasted over real ones. A Hanoi bookseller quoted by DTiNews confirms the account name with each customer before they pay.
If anything does not match, do not pay. Ask "tên tài khoản là gì?" (what is the account name?) and let the vendor show you their own code.
How does this work when you pay with Fizen QR Pay?
Fizen QR Pay is a way for visitors and foreigners in Vietnam to pay these same codes, VietQR as well as VNPay, MoMo and ZaloPay, without a Vietnamese bank account. You scan, check the recipient and the amount in dong shown in the app, and confirm. The name check above applies exactly as it does in a banking app.
There is one extra thing the name tells you. In Vietnam, QR Pay pays only codes linked to Vietnamese account holders. If the name on the card is clearly a foreigner's, for example a café run by an expat paid into their own account, the payment will not go through. Ask the owner for a code linked to a Vietnamese account, or pay another way.
- Who: visitors and foreigners only. QR Pay is cross-border use only, so people who live in Vietnam cannot use it in Vietnam.
- Funding: only USDT on Solana or BNB Chain. No bank account, no card, no dong. USDT on another network, or another token, cannot be deposited into QR Pay.
- Limits: up to US$800 per payment and US$1,000 per week, no daily limit. Any fee shows before you confirm.
- Custody: the Fizen wallet is self-custody. USDT you move into QR Pay is governed by the Fizen QR Pay Terms, so only move in what you plan to spend.
Problems with the food or the goods are raised with the merchant first, which is one more reason to check the name before you pay rather than after.
When should you just pay cash?
When there is no printed code, only a code someone sends you by message, or a code the vendor pulls from a pocket rather than the one fixed to the counter. Shops that care about swapped codes keep one large fixed card at the till. A code that arrives over Zalo, Facebook or a link is a different thing altogether: do not scan it to pay, and never enter a bank login or one-time code after scanning.
Frequently asked questions
Why does the VietQR account name have no accents?
Bank account names are stored and shown without Vietnamese diacritics, usually in capitals. NGUYEN VAN AN on screen is the same person as Nguyễn Văn An.
Is it normal for a shop's QR code to show a person's name?
Yes. Many small shops and stalls are paid into the owner's personal account. Check that the name on screen matches the printed card.
What does ICB mean on a Vietnamese QR payment?
ICB is the short code for VietinBank. VBA is Agribank, VCB is Vietcombank and TCB is Techcombank.
Why does a static VietQR code not show the amount?
A static code holds only the account details, so you type the amount. Dynamic codes, usually shown on a till or a bill, carry the amount for one transaction.
Can I pay a VietQR code linked to a foreigner's account with Fizen QR Pay?
No. In Vietnam, Fizen QR Pay pays only QR codes linked to Vietnamese account holders. Ask the merchant for a code linked to a Vietnamese account.
How do I spot a fake QR code in Vietnam?
Look for a sticker pasted over the printed code, and check that the name on your confirm screen matches the card and the shop. If it does not, ask the vendor before paying.
Scan, check the name, pay
Fizen QR Pay lets travellers and foreigners in Vietnam pay VietQR, VNPay, MoMo and ZaloPay codes from USDT on Solana or BNB Chain, with the recipient and the amount in dong shown before you confirm.
Terms and conditions
- Information only. This article explains how to read Vietnamese QR payment codes and how Fizen QR Pay handles them. It is not financial, legal, tax or investment advice, and the QR Pay Terms and the in-app information prevail over this summary.
- For readers in the United States. This is information only, not an offer or sale, and not advice. Fizen products and services are not offered to US Persons.
- QR Pay availability. QR Pay is for cross-border use by travellers and foreigners in Vietnam and the Philippines only, and is not available to residents of those countries in their own country. It is funded only with USDT on Solana or BNB Chain; USDT on another network, or another token, cannot be deposited. KYC, KYT, AML and sanctions checks apply. Use of QR Pay is governed by the Fizen QR Pay Terms.
Sources
- NAPAS, FastFund 247 with VietQR code service
- VietQR, public bank list (bank codes and short names)
- VietQR documentation, types of payment QR code (static, dynamic, semi-dynamic)
- VietQR documentation, Generate VietQR Code API (account name and message rules)
- DTiNews, shop owners warned about scam QR code payments (4 October 2023)
- Fizen QR Pay Terms, effective 5 June 2026
Bank codes checked against the public VietQR bank list on 25 October 2026. QR Pay rules checked against the Fizen QR Pay Terms and product information on 25 October 2026.