Skip to main content

QR Code overview

QR Code is a modern payment solution that cuts the transaction process down to a few seconds with a single scan in a banking app.

🏷️ Static QR

A fixed code printed at the counter. Suitable for small household businesses that do not need much automation.

🔄 Dynamic QR

A unique code for each order. Automates bill settlement with 100% accurate reconciliation.

⚡ One-tap experience

Customers do not need to type anything, which reduces errors and speeds up payment.

Static QR​

A static QR code is created once and used many times. Although the VietQR standard lets you embed the amount and description, keep the following in mind in practice:

  • User behavior: Some banks (such as MBBank) still let customers edit the amount or description before confirming the transfer.
  • Reconciliation: Because the information can be changed, the system must reconcile based on the actual amount received, the actual description and the transaction time.
  • Use cases: Suitable for small shops or for receiving donations and contributions.

Dynamic QR​

Each transaction generates a unique QR code with an identifier (billId/orderId).

  • Accuracy: Dynamic QR codes usually lock the amount. Even if the bank allows editing the description, the system still identifies the correct order thanks to the identifier included in the data returned by the bank.
  • Validity: You can configure an expiry time so the code is no longer valid after payment or after the set period.
  • Use cases: Ideal for e-commerce, vending machines and point-of-sale (POS) systems.

Detailed comparison​

CriteriaStatic QRDynamic QR
CreationCreated once, reusedCreated per transaction
Amount & descriptionCan be prefilled, but many banks allow editingPrefilled; some banks still allow editing, but reconciliation is by billId
UsageMultiple usesOne-time use or until fully paid
Transaction reconciliationBased on amount + description → prone to mismatchesBased on billId/orderId → fully accurate
Risk of wrong input / edited descriptionHighLow (the system reconciles by billId)
Expiry timeNoneYes
Suitable forSmall shops, flexible paymentsOnline sales, restaurants, automated systems
FlexibilityMediumHigh

Bank support​

Static/dynamic QR support depends on each bank and the type of linked account.

👉 See the detailed table in [Important notes — QR support](/docs/luu-y-quan-trong#kha-nang-ho-tro-qr.