Standards/vnpay-qr
VNPAY-QR
VNPAY-QR
Overview
VNPAY-QR is a Vietnamese merchant QR payment scheme operated by VNPAY (Vietnam Payment Solutions JSC, founded March 2007, now part of the VNLIFE group) [2, 16]. It is built on the EMVCo Merchant-Presented Mode (MPM) format and is consumed by scanning a merchant QR with a bank's mobile-banking app or an e-wallet [3, 9]. VNPAY-QR is accepted into the scanning function of 33 mobile-banking apps, the VNPAY wallet, and 8 other e-wallets, and by August 2023 the merchant network had grown to over 750,000 acceptance points, including wet markets, pharmacies and local eateries [4, 5].
VNPAY-QR is distinct from vietqr (the NAPAS interbank QR): VietQR encodes a bank account behind the NAPAS rail, whereas VNPAY-QR is a payment-gateway / acquiring QR routed through VNPAY's merchant network [4, 6]. In the EMVCo MPM payload, the two are told apart by their merchant-account-information template: VNPAY-QR uses tag 26 carrying the GUID A000000775, while VietQR/NAPAS uses tag 38 with GUID A000000727.
History
March 2007 — VNPAY founded. Vietnam Payment Solutions JSC (VNPAY) was set up by Trần Trí Mạnh together with co-founders Trần Văn Ký and Lê Tánh, as one of the first companies licensed to pilot electronic-wallet payment services in Vietnam [16, 18]. The company grew into a payment gateway connecting businesses with banks for card, QR-code, installment and app-to-app payments; VNPAY-QR today reports about 22 million users [16].
~2017 — first QR-into-bank-app integration. VNPAY became the first payment gateway to integrate QR code payment into mobile banking applications in Vietnam, a status formally recognised in August 2018 by the Vietnam Record Organisation (Vietkings) [19]. This is the technical milestone that defines VNPAY-QR's identity: bank apps scanning a third-party merchant QR rather than VNPAY having to ship its own wallet.
2018 — VNLIFE holding established to own VNPAY and build a broader ecosystem (payments, travel, logistics, commerce); Niraan De Silva serves as CEO of VNLIFE [16].
July 2019 — SoftBank Vision Fund + GIC invest US$300 M combined (~US$200 M from SoftBank, US$100 M from GIC) — at the time one of the largest Vietnamese tech investments to date [18].
December 2020 — VNPAY becomes Vietnam's second tech unicorn after VNG, at a valuation above US$1 billion, and one of 12 SE-Asian unicorns named that year [16, 18].
16 September 2021 — Series B of >US$250 M co-led by General Atlantic and Dragoneer Investment Group, with participation from PayPal Ventures, EDBI, plus existing investors GIC and SoftBank Vision Fund 1 — pushing VNLIFE's valuation above US$1 B [18].
August 2023 — 750,000+ merchants. VNPAY reported that its QR-code network had expanded to over 750,000 merchants nationwide, reaching into wet markets, pharmacies and small eateries [5].
Bank and partner reach — VNPAY provides electronic-payment services to more than 40 banks, 5 telecom operators and a large base of e-commerce and SME merchants [2, 4].
2024 — VNPAY at scale. Revenue ~US$128.3 M, headcount ~855 people [15].
International acquiring partnerships:
- UnionPay × VNPAY × ECPay (28 December 2021) — a partnership enabling UnionPay QR-code acceptance across the VNPAY and ECPay merchant networks, adding ~15,000 merchants for a ~45,000-merchant total; VNPAY contributed 17 top merchants across 1,200+ stores. VNPAY is described in the announcement as "one of the biggest QR-code-for-payment merchant acquirers in Vietnam" [7].
- Visa × VNPAY (2024) — a strategic partnership to advance digital and contactless payments, including VNPAY SoftPOS (PCI-CPoC v1.0 certified, EMVCo Level 2) — bringing SoftPOS to Vietnamese SMBs [1, 8].
- Cross-border QR — Thailand's bank cross-border QR documentation lists Vietnam (VNPAY) among the inbound QR schemes Thai apps can scan, alongside Singapore (PayNow), Indonesia (QRIS), Malaysia (DuitNow), Cambodia (KHQR) and Laos [10].
Technical specification
VNPAY-QR is an EMVCo Merchant-Presented Mode (MPM) payload — the same plain-text TLV (Tag-Length-Value) string family used by vietqr, qris, promptpay-qr and the broader emvco-mpm standard [3, 9].
- Payload format indicator: tag
00=01. - Point-of-initiation: tag
01(11static,12dynamic). - Transaction currency: tag
53=704(VND). - Country code: tag
58=VN. - Merchant name and city: tags
59/60. - Integrity: a CRC-16/CCITT-FALSE checksum in tag
63, computed over the whole payload up to and including the6304header. - Underlying symbology: qr-code.
Merchant-account-information template [3, 9]:
- EMVCo reserves tags
26–51for non-EMVCo payment operators; within each, sub-tag00carries a globally unique identifier (GUID) that names the scheme. - VNPAY-QR's template is tag
26with GUIDA000000775in sub-tag00, confirmed in the open-sourcevietnam-qr-paylibrary, whose VNPayQR example payload begins...01021126280010A000000775...[9]. - Beneath the template, VNPAY uses an additional-data structure with sub-field IDs including
01BillNumber,02CustomerMobileNumber,03StoreLabel,05ReferenceLabel,06CustomerLabel,07TerminalLabel,08PurposeOfTransaction [9, 17]. - This template is the key field that distinguishes VNPAY-QR from VietQR/NAPAS, which lives in tag
38under GUIDA000000727[9].
Worked example fields decoded from a real VNPAY-QR payload by the vietnam-qr-pay library: provider VNPAY, merchant ID 0105313144, amount 21090000, store CPSHN ONLINE, terminal ONLHN, purpose CellphoneS [9, 17].
- Merchant-presented (static) — a printed VNPAY QR at the merchant; the payer enters the amount.
- Merchant-presented (dynamic) — POS/gateway generates a per-transaction QR carrying the amount in tag
54.
Use cases
- In-store retail acceptance — VNPAY-QR stickers and POS QRs across a very broad merchant base (750,000+ points by 2023), including informal retail such as wet markets and pharmacies [5].
- Bank-app scanning — the QR is scanned from inside 33 banks' mobile apps; e.g. VietinBank iPay Mobile lets cardholders pay VNPAY acceptance points by QR, even funding from a credit card [12].
- E-wallet payments — the VNPAY wallet plus 8 other e-wallets can scan VNPAY-QR [4].
- E-commerce / online checkout — VNPAY operates as a payment gateway for 200+ e-commerce enterprises, with VNPAY-QR offered as an online checkout method (including on Shopify via VNPAY) [2, 13].
- Inbound cross-border tourism — UnionPay QR acceptance across the VNPAY network lets Chinese UnionPay users pay, and Thailand lists Vietnam/VNPAY among scannable inbound QR schemes for travellers [7, 10].
Implementations
VNPAY-QR is handled by the same open-source Vietnamese QR libraries that cover VietQR, since both are EMVCo MPM payloads distinguished only by their merchant-account-information template:
- TypeScript — xuannghia/vietnam-qr-pay — encode/decode for VietQR (bank QR, Momo/ZaloPay universal QR) and VNPayQR; exposes provider name, merchant ID, amount, store, terminal, purpose and reference fields. ~160 stars, latest release v1.5.0 (May 2025) [9].
- TypeScript — hunghg255/vn-qr-pay — encode/decode for VietQR and VNPayQR (
encodeVnPay); ~13 stars [11]. - Go — tranvu711/qrpayment — Go QR-payment library with a
QRCodestruct covering VNPAY data: merchant details, terminal, amount and additional consumer data [14].
General emvco-mpm parsers also read VNPAY-QR payloads once the tag-26 GUID is recognised.
Acquiring / gateway integrations: VNPAY-QR is exposed as a payment method by third-party PSPs and aggregators (e.g. the IXOPAY VNPAY-QR adapter) and by VNPAY's own merchant SDKs [6].
Comparison
vs. vietqr (NAPAS, Vietnam) — Same EMVCo MPM symbology, different role and different template. VietQR is the state-sanctioned national interbank QR under NAPAS/SBV (tag 38, GUID A000000727), encoding a bank account for account-to-account credit transfer over NAPAS 247. VNPAY-QR is a private merchant-acquiring QR under VNPAY/VNLIFE (tag 26, GUID A000000775), routed through VNPAY's gateway and merchant network. A payer's bank app can typically scan both; the template GUID tells the app which rail to use [4, 6, 9].
vs. qris (Indonesia) / promptpay-qr (Thailand) — All three are EMVCo MPM national/scheme QRs. QRIS and PromptPay are central-bank-mandated single national standards; Vietnam instead runs a two-track landscape — NAPAS VietQR plus private gateways like VNPAY-QR — which is why two distinct merchant templates coexist in the same EMVCo payload space [9, 10].
vs. emvco-mpm (the base spec) — VNPAY-QR is a concrete profile of EMVCo MPM: it inherits the TLV envelope, the CRC-16 in tag 63, currency 704 and country VN, and adds only its tag-26/A000000775 merchant template [3, 9].
Fun facts
Two national QR schemes sharing one EMVCo payload format. VNPAY-QR is one of the clearest live examples — VietQR and VNPAY-QR can sit on the same screen, scanned by the same app, distinguished only by whether the merchant data is in tag 38 (A000000727, NAPAS) or tag 26 (A000000775, VNPAY) [9]. Two competing rails coexisting in one TLV container is uncommon at the national level.
The pioneer milestone is regulator-blessed. VNPAY's status as "first payment gateway to integrate QR code payment into mobile banking applications" in Vietnam was certified by Vietkings (Vietnam Record Organisation) in August 2018 — a Guinness-record-style civic certification of a payments first that few other countries' QR pioneers have on the books [19].
Two unicorns, two Vietnamese QR worlds. Vietnam's national QR landscape is shaped by its only two tech unicorns: VNG (parent of zalopay-qr, named unicorn 2014) and VNLIFE/VNPAY (named unicorn December 2020, valuation past US$1 B after the 2021 Series B) — same Series B even shares an investor in GIC and PayPal's strategic arm [16, 18].
PayPal Ventures backs a competing payment rail. VNPAY's 2021 Series B was the first PayPal Ventures investment in a Vietnamese fintech — a striking inversion where the global wallet leader directly funds a foreign national-QR network rather than competing with it [18].
Bottom-up acceptance strategy. VNPAY grew the QR network into informal retail — wet markets and pharmacies among 750,000+ merchants by 2023 — rather than starting from large chains, a bottom-up acceptance strategy that mirrors the deep small-vendor penetration seen with Pix in Brazil and DuitNow in Malaysia [5].
Status
Active. VNPAY-QR is one of the two dominant merchant QR rails in Vietnam (alongside NAPAS VietQR), with a 750,000+ merchant network as of 2023 and continuing expansion through bank, telecom and international-scheme partnerships (UnionPay, Visa) [1, 5, 7, 8]. VNPAY reported revenue of about USD 128.3 M in 2024 [15]. No deprecation is indicated; the scheme is being extended into SoftPOS and cross-border acceptance [1, 10].
Sources
- Visa & VNPAY SoftPOS partnership — Visa
- How VNPAY provides payment services — SME Business Review
- EMV QR Code Specifications — EMVCo
- Pay with QR codes in Vietnam — Moreta Pay
- How to accept payments in Vietnam — Transfi
- VNPAY-QR method — IXOPAY Adapters
- UnionPay × VNPAY × ECPay — UnionPay International
- Visa & VNPAY strategic partnership — Visa
- xuannghia/vietnam-qr-pay — GitHub
- QR cross-border payments in ASEAN — Krungsri
- hunghg255/vn-qr-pay — GitHub
- VNPAY QR via VietinBank credit card — VietinBank
- Shopify + VNPAY — CartDNA
- tranvu711/qrpayment — Go Packages
- VNPay revenue 2024 — GetLatka
- VNPAY — the second unicorn in Vietnam — VietChallenge
- vietnam-qr-pay README — GitHub
- VNLIFE Series B (General Atlantic + Dragoneer) — DealStreetAsia
- VNPAY takes lead in QR payment trend (Vietkings record) — VIR
- vietnam-qr-pay README (VNPayQR example) — GitHub
- VN-vietnam.md
Deployments
Found in the following country reports (grep across reports/countries/):
- VN — VN-vietnam.md
Deployments
No country reports mention this standard by name.