npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

vietnam-qr-pay-pure-js

v1.0.2

Published

Thư viện JavaScript thuần để tạo mã QR chuyển khoản ngân hàng Việt Nam theo chuẩn VietQR, chạy trực tiếp trên trình duyệt ở phía Client.

Readme

Vietnam QR Pay JS

Thư viện JavaScript thuần để tạo mã QR chuyển khoản ngân hàng Việt Nam theo chuẩn VietQR, chạy trực tiếp trên trình duyệt ở phía Client.

A pure JavaScript library for generating Vietnamese bank transfer QR codes following the VietQR standard, running directly on the client-side browser.

How to use

Add script right before closing </body>:

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vietnam-qr-pay.umd.min.js"></script>
<script>
  const qrPay = VietnamQRPay.QRPay.initVietQR({
    bankBin: VietnamQRPay.BanksObject.tpbank.bin,
    bankNumber: "01877146501", // Số tài khoản - Bank account number
    amount: "20000", // Số tiền - Amount in VNĐ
    purpose: "" // Nội dung chuyển khoản - Transfer content
  });
  console.log(qrPay.build());
</script>

Demo CodePen

Demo ese qrious to show QR: https://codepen.io/sandmark/pen/Kwpzoba

demo

BanksObject

{
  "abbank": {
    "key": "abbank",
    "code": "ABB",
    "name": "Ngân hàng TMCP An Bình",
    "bin": "970425",
    "shortName": "AB Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "ABBKVNVX",
    "keywords": "anbinh"
  },
  "acb": {
    "key": "acb",
    "code": "ACB",
    "name": "Ngân hàng TMCP Á Châu",
    "bin": "970416",
    "shortName": "ACB",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "ASCBVNVX",
    "keywords": "achau"
  },
  "agribank": {
    "key": "agribank",
    "code": "AGRIBANK",
    "name": "Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam",
    "bin": "970405",
    "shortName": "Agribank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "VBAAVNVX",
    "keywords": "nongnghiep, nongthon, agribank, agri"
  },
  "bacabank": {
    "key": "bacabank",
    "code": "BAB",
    "name": "Ngân hàng TMCP Bắc Á",
    "bin": "970409",
    "shortName": "BacA Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "NASCVNVX",
    "keywords": "baca, NASB"
  },
  "baoviet": {
    "key": "baoviet",
    "code": "BAOVIETBANK",
    "name": "Ngân hàng TMCP Bảo Việt",
    "bin": "970438",
    "shortName": "BaoViet Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "BVBVVNVX",
    "keywords": "baoviet, BVB"
  },
  "banviet": {
    "key": "banviet",
    "code": "BVB",
    "name": "Ngân hàng TMCP Bản Việt",
    "bin": "970454",
    "shortName": "BVBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "VCBCVNVX",
    "keywords": "banviet, vietcapitalbank"
  },
  "bidc": {
    "key": "bidc",
    "code": "BIDC",
    "name": "Ngân hàng TMCP Đầu tư và Phát triển Campuchia",
    "bin": "",
    "shortName": "BIDC",
    "vietQRStatus": -1
  },
  "bidv": {
    "key": "bidv",
    "code": "BID",
    "name": "Ngân hàng TMCP Đầu tư và Phát triển Việt Nam",
    "bin": "970418",
    "shortName": "BIDV",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "BIDVVNVX"
  },
  "cake": {
    "key": "cake",
    "code": "CAKE",
    "name": "Ngân hàng số CAKE by VPBank - Ngân hàng TMCP Việt Nam Thịnh Vượng",
    "bin": "546034",
    "shortName": "CAKE by VPBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": null
  },
  "cbbank": {
    "key": "cbbank",
    "code": "VNCB",
    "name": "Ngân hàng Thương mại TNHH MTV Xây dựng Việt Nam",
    "bin": "970444",
    "shortName": "CB Bank",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": "GTBAVNVX",
    "keywords": "xaydungvn, xaydung"
  },
  "cimb": {
    "key": "cimb",
    "code": "CIMB",
    "name": "Ngân hàng TNHH MTV CIMB Việt Nam",
    "bin": "422589",
    "shortName": "CIMB Bank",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": "CIBBVNVN",
    "keywords": "cimbvn"
  },
  "coopbank": {
    "key": "coopbank",
    "code": "COOPBANK",
    "name": "Ngân hàng Hợp tác xã Việt Nam",
    "bin": "970446",
    "shortName": "Co-op Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": null,
    "keywords": "hoptacxa, coop"
  },
  "dbsbank": {
    "key": "dbsbank",
    "code": "DBS",
    "name": "NH TNHH MTV Phát triển Singapore - Chi nhánh TP. Hồ Chí Minh",
    "bin": "796500",
    "shortName": "DBS Bank",
    "vietQRStatus": 0,
    "lookupSupported": 0,
    "swiftCode": "DBSSVNVX",
    "keywords": "dbshcm"
  },
  "dongabank": {
    "key": "dongabank",
    "code": "DONGABANK",
    "name": "Ngân hàng TMCP Đông Á",
    "bin": "970406",
    "shortName": "DongA Bank",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": "EACBVNVX",
    "keywords": "donga, DAB"
  },
  "eximbank": {
    "key": "eximbank",
    "code": "EIB",
    "name": "Ngân hàng TMCP Xuất Nhập khẩu Việt Nam",
    "bin": "970431",
    "shortName": "Eximbank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "EBVIVNVX"
  },
  "gpbank": {
    "key": "gpbank",
    "code": "GPBANK",
    "name": "Ngân hàng Thương mại TNHH MTV Dầu Khí Toàn Cầu",
    "bin": "970408",
    "shortName": "GPBank",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": "GBNKVNVX",
    "keywords": "daukhi"
  },
  "hdbank": {
    "key": "hdbank",
    "code": "HDB",
    "name": "Ngân hàng TMCP Phát triển TP. Hồ Chí Minh",
    "bin": "970437",
    "shortName": "HDBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "HDBCVNVX"
  },
  "hongleongbank": {
    "key": "hongleongbank",
    "code": "HLB",
    "name": "Ngân hàng TNHH MTV Hong Leong Việt Nam",
    "bin": "970442",
    "shortName": "HongLeong Bank",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": "HLBBVNVX",
    "keywords": "HLBVN"
  },
  "hsbc": {
    "key": "hsbc",
    "code": "HSBC",
    "name": "Ngân hàng TNHH MTV HSBC (Việt Nam)",
    "bin": "458761",
    "shortName": "HSBC Vietnam",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": "HSBCVNVX"
  },
  "ibkhcm": {
    "key": "ibkhcm",
    "code": "IBKHCM",
    "name": "Ngân hàng Công nghiệp Hàn Quốc - Chi nhánh TP. Hồ Chí Minh",
    "bin": "970456",
    "shortName": "IBK HCM",
    "vietQRStatus": 0,
    "lookupSupported": 0,
    "swiftCode": null,
    "keywords": "congnghiep"
  },
  "ibkhn": {
    "key": "ibkhn",
    "code": "IBKHN",
    "name": "Ngân hàng Công nghiệp Hàn Quốc - Chi nhánh Hà Nội",
    "bin": "970455",
    "shortName": "IBK HN",
    "vietQRStatus": 0,
    "lookupSupported": 0,
    "swiftCode": null,
    "keywords": "congnghiep"
  },
  "indovinabank": {
    "key": "indovinabank",
    "code": "IVB",
    "name": "Ngân hàng TNHH Indovina",
    "bin": "970434",
    "shortName": "Indovina Bank",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": null
  },
  "kasikorn": {
    "key": "kasikorn",
    "code": "KBANK",
    "name": "Ngân hàng Đại chúng TNHH KASIKORNBANK - CN TP. Hồ Chí Minh",
    "bin": "668888",
    "shortName": "Kasikornbank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "KASIVNVX"
  },
  "kienlongbank": {
    "key": "kienlongbank",
    "code": "KLB",
    "name": "Ngân hàng TMCP Kiên Long",
    "bin": "970452",
    "shortName": "KienlongBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "KLBKVNVX"
  },
  "kookminhcm": {
    "key": "kookminhcm",
    "code": "KBHCM",
    "name": "Ngân hàng Kookmin - Chi nhánh TP. Hồ Chí Minh",
    "bin": "970463",
    "shortName": "Kookmin Bank HCM",
    "vietQRStatus": 0,
    "lookupSupported": 0,
    "swiftCode": null
  },
  "kookminhn": {
    "key": "kookminhn",
    "code": "KBHN",
    "name": "Ngân hàng Kookmin - Chi nhánh Hà Nội",
    "bin": "970462",
    "shortName": "Kookmin Bank HN",
    "vietQRStatus": 0,
    "lookupSupported": 0,
    "swiftCode": null
  },
  "lienvietpostbank": {
    "key": "lienvietpostbank",
    "code": "LPB",
    "name": "Ngân hàng TMCP Bưu Điện Liên Việt",
    "bin": "970449",
    "shortName": "LienVietPostBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "LVBKVNVX",
    "keywords": "lienvietbank",
    "deprecated": true
  },
  "lpbank": {
    "key": "lpbank",
    "code": "LPB",
    "name": "Ngân hàng TMCP Lộc Phát Việt Nam",
    "bin": "970449",
    "shortName": "LPBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "LVBKVNVX",
    "keywords": "lienvietbank, loc phat"
  },
  "liobank": {
    "key": "liobank",
    "code": "LIOBANK",
    "name": "Ngân hàng số Liobank - Ngân hàng TMCP Phương Đông",
    "bin": "963369",
    "shortName": "Liobank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": null
  },
  "mbbank": {
    "key": "mbbank",
    "code": "MBB",
    "name": "Ngân hàng TMCP Quân đội",
    "bin": "970422",
    "shortName": "MB Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "MSCBVNVX"
  },
  "mbv": {
    "key": "mbv",
    "code": "MBV",
    "name": "Ngân hàng TNHH MTV Việt Nam Hiện Đại",
    "bin": "970414",
    "shortName": "MBV",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "OCBKUS3M",
    "keywords": "daiduong, mbv"
  },
  "msb": {
    "key": "msb",
    "code": "MSB",
    "name": "Ngân hàng TMCP Hàng Hải",
    "bin": "970426",
    "shortName": "MSB",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "MCOBVNVX",
    "keywords": "hanghai"
  },
  "namabank": {
    "key": "namabank",
    "code": "NAB",
    "name": "Ngân hàng TMCP Nam Á",
    "bin": "970428",
    "shortName": "Nam A Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "NAMAVNVX",
    "keywords": "namabank"
  },
  "ncb": {
    "key": "ncb",
    "code": "NVB",
    "name": "Ngân hàng TMCP Quốc Dân",
    "bin": "970419",
    "shortName": "NCB Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "NVBAVNVX",
    "keywords": "quocdan"
  },
  "nonghyup": {
    "key": "nonghyup",
    "code": "NONGHYUP",
    "name": "Ngân hàng Nonghyup - Chi nhánh Hà Nội",
    "bin": "801011",
    "shortName": "Nonghyup Bank",
    "vietQRStatus": 0,
    "lookupSupported": 0,
    "swiftCode": null
  },
  "ocb": {
    "key": "ocb",
    "code": "OCB",
    "name": "Ngân hàng TMCP Phương Đông",
    "bin": "970448",
    "shortName": "OCB Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "ORCOVNVX",
    "keywords": "phuongdong"
  },
  "oceanbank": {
    "key": "oceanbank",
    "code": "OCEANBANK",
    "name": "Ngân hàng Thương mại TNHH MTV Đại Dương",
    "bin": "970414",
    "shortName": "Ocean Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "OCBKUS3M",
    "keywords": "daiduong",
    "deprecated": true
  },
  "pgbank": {
    "key": "pgbank",
    "code": "PGB",
    "name": "Ngân hàng TMCP Xăng dầu Petrolimex",
    "bin": "970430",
    "shortName": "PG Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "PGBLVNVX"
  },
  "publicbank": {
    "key": "publicbank",
    "code": "PBVN",
    "name": "Ngân hàng TNHH MTV Public Việt Nam",
    "bin": "970439",
    "shortName": "Public Bank Vietnam",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": "VIDPVNVX",
    "keywords": "publicvn"
  },
  "pvcombank": {
    "key": "pvcombank",
    "code": "PVCOMBANK",
    "name": "Ngân hàng TMCP Đại Chúng Việt Nam",
    "bin": "970412",
    "shortName": "PVcomBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "WBVNVNVX",
    "keywords": "daichung"
  },
  "sacombank": {
    "key": "sacombank",
    "code": "STB",
    "name": "Ngân hàng TMCP Sài Gòn Thương Tín",
    "bin": "970403",
    "shortName": "Sacombank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "SGTTVNVX"
  },
  "saigonbank": {
    "key": "saigonbank",
    "code": "SGB",
    "name": "Ngân hàng TMCP Sài Gòn Công Thương",
    "bin": "970400",
    "shortName": "SaigonBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "SBITVNVX",
    "keywords": "saigoncongthuong, saigonbank"
  },
  "scb": {
    "key": "scb",
    "code": "SCB",
    "name": "Ngân hàng TMCP Sài Gòn",
    "bin": "970429",
    "shortName": "SCB",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "SACLVNVX",
    "keywords": "saigon"
  },
  "seabank": {
    "key": "seabank",
    "code": "SSB",
    "name": "Ngân hàng TMCP Đông Nam Á",
    "bin": "970440",
    "shortName": "SeABank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "SEAVVNVX"
  },
  "shb": {
    "key": "shb",
    "code": "SHB",
    "name": "Ngân hàng TMCP Sài Gòn - Hà Nội",
    "bin": "970443",
    "shortName": "SHB",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "SHBAVNVX",
    "keywords": "saigonhanoi, sghn"
  },
  "shinhanbank": {
    "key": "shinhanbank",
    "code": "SVB",
    "name": "Ngân hàng TNHH MTV Shinhan Việt Nam",
    "bin": "970424",
    "shortName": "Shinhan Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "SHBKVNVX"
  },
  "standardcharteredbank": {
    "key": "standardcharteredbank",
    "code": "SC",
    "name": "Ngân hàng TNHH MTV Standard Chartered Bank Việt Nam",
    "bin": "970410",
    "shortName": "Standard Chartered Vietnam",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": "SCBLVNVX"
  },
  "techcombank": {
    "key": "techcombank",
    "code": "TCB",
    "name": "Ngân hàng TMCP Kỹ thương Việt Nam",
    "bin": "970407",
    "shortName": "Techcombank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "VTCBVNVX"
  },
  "timo": {
    "key": "timo",
    "code": "TIMO",
    "name": "Ngân hàng số Timo by Bản Việt Bank",
    "bin": "963388",
    "shortName": "Timo",
    "vietQRStatus": 1,
    "lookupSupported": 0,
    "swiftCode": null,
    "keywords": "banviet"
  },
  "tpbank": {
    "key": "tpbank",
    "code": "TPB",
    "name": "Ngân hàng TMCP Tiên Phong",
    "bin": "970423",
    "shortName": "TPBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "TPBVVNVX",
    "keywords": "tienphong"
  },
  "ubank": {
    "key": "ubank",
    "code": "UBANK",
    "name": "Ngân hàng số Ubank by VPBank - Ngân hàng TMCP Việt Nam Thịnh Vượng",
    "bin": "546035",
    "shortName": "Ubank by VPBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": null
  },
  "uob": {
    "key": "uob",
    "code": "UOB",
    "name": "Ngân hàng United Overseas Bank Việt Nam",
    "bin": "970458",
    "shortName": "United Overseas Bank Vietnam",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": null
  },
  "vib": {
    "key": "vib",
    "code": "VIB",
    "name": "Ngân hàng TMCP Quốc tế Việt Nam",
    "bin": "970441",
    "shortName": "VIB",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "VNIBVNVX",
    "keywords": "quocte"
  },
  "vietabank": {
    "key": "vietabank",
    "code": "VAB",
    "name": "Ngân hàng TMCP Việt Á",
    "bin": "970427",
    "shortName": "VietABank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "VNACVNVX"
  },
  "vietbank": {
    "key": "vietbank",
    "code": "VBB",
    "name": "Ngân hàng TMCP Việt Nam Thương Tín",
    "bin": "970433",
    "shortName": "VietBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "VNTTVNVX",
    "keywords": "vietnamthuongtin, vnthuongtin"
  },
  "vietcombank": {
    "key": "vietcombank",
    "code": "VCB",
    "name": "Ngân hàng TMCP Ngoại Thương Việt Nam",
    "bin": "970436",
    "shortName": "Vietcombank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "BFTVVNVX"
  },
  "vietinbank": {
    "key": "vietinbank",
    "code": "CTG",
    "name": "Ngân hàng TMCP Công thương Việt Nam",
    "bin": "970415",
    "shortName": "VietinBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "ICBVVNVX",
    "keywords": "viettin"
  },
  "vikki": {
    "key": "vikki",
    "code": "VIKKI",
    "name": "Ngân hàng TNHH MTV Số Vikki",
    "bin": "970406",
    "shortName": "Vikki Bank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "EACBVNVX",
    "keywords": "vikki, dongabank, dong a"
  },
  "vpbank": {
    "key": "vpbank",
    "code": "VPB",
    "name": "Ngân hàng TMCP Việt Nam Thịnh Vượng",
    "bin": "970432",
    "shortName": "VPBank",
    "vietQRStatus": 1,
    "lookupSupported": 1,
    "swiftCode": "VPBKVNVX",
    "keywords": "vnthinhvuong"
  },
  "vrb": {
    "key": "vrb",
    "code": "VRB",
    "name": "Ngân hàng Liên doanh Việt - Nga",
    "bin": "970421",
    "shortName": "VietNgaBank",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": null,
    "keywords": "vietnam-russia, vrbank"
  },
  "wooribank": {
    "key": "wooribank",
    "code": "WRB",
    "name": "Ngân hàng TNHH MTV Woori Việt Nam",
    "bin": "970457",
    "shortName": "Woori Bank",
    "vietQRStatus": 0,
    "lookupSupported": 1,
    "swiftCode": null
  }
}

Thank

This repo use lib: xuannghia/vietnam-qr-pay

Thank you, Xuân Nghĩa!