Module: VietnamQrPay

Defined in:
lib/vietnam_qr_pay/catalog/banks.rb,
lib/vietnam_qr_pay.rb,
lib/vietnam_qr_pay/crc16.rb,
lib/vietnam_qr_pay/qr_pay.rb,
lib/vietnam_qr_pay/version.rb,
lib/vietnam_qr_pay/constants.rb,
lib/vietnam_qr_pay/models/bank.rb,
lib/vietnam_qr_pay/models/bank_app.rb,
lib/vietnam_qr_pay/models/consumer.rb,
lib/vietnam_qr_pay/models/merchant.rb,
lib/vietnam_qr_pay/models/provider.rb,
lib/vietnam_qr_pay/catalog/bank_apps.rb,
lib/vietnam_qr_pay/catalog/bank_keys.rb,
lib/vietnam_qr_pay/catalog/bank_codes.rb,
lib/vietnam_qr_pay/models/additional_data.rb

Overview

This file is generated by script/generate_catalog.rb from references/vietnam-qr-pay-javascript/src/constants/bank-code.ts. Do not edit it by hand.

Defined Under Namespace

Modules: AdditionalDataID, BankCode, BankKey, CRC16, FieldID, ProviderFieldID, QRProvider, QRProviderGUID, VietQRConsumerFieldID, VietQRService, VietQRStatus Classes: AdditionalData, Bank, BankApp, Consumer, Error, Merchant, Provider, QRPay

Constant Summary collapse

VERSION =

Gem version.

"0.1.0"
EVMCO_FIELD_IDS =

EMVCo reserves IDs 65-79 for template extensions used by some providers.

(65..79).map { |value| format("%02d", value) }.freeze
UNRESERVED_FIELD_IDS =

Unreserved IDs 80-99 are used by provider-specific extensions such as MoMo.

(80..99).map { |value| format("%02d", value) }.freeze
BANKS_OBJECT =

Hash-style lookup keyed by the upstream bank identifier.

{
:abbank => Bank.new(
    key: BankKey::ABBANK,
    code: BankCode::ABBANK,
    name: "Ngân hàng TMCP An Bình",
    bin: "970425",
    short_name: "AB Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "ABBKVNVX",
    keywords: "anbinh"
).freeze,
:acb => Bank.new(
    key: BankKey::ACB,
    code: BankCode::ACB,
    name: "Ngân hàng TMCP Á Châu",
    bin: "970416",
    short_name: "ACB",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "ASCBVNVX",
    keywords: "achau"
).freeze,
:agribank => Bank.new(
    key: BankKey::AGRIBANK,
    code: BankCode::AGRIBANK,
    name: "Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam",
    bin: "970405",
    short_name: "Agribank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "VBAAVNVX",
    keywords: "nongnghiep, nongthon, agribank, agri"
).freeze,
:bacabank => Bank.new(
    key: BankKey::BAC_A_BANK,
    code: BankCode::BAC_A_BANK,
    name: "Ngân hàng TMCP Bắc Á",
    bin: "970409",
    short_name: "BacA Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "NASCVNVX",
    keywords: "baca, NASB"
).freeze,
:baoviet => Bank.new(
    key: BankKey::BAOVIET_BANK,
    code: BankCode::BAOVIET_BANK,
    name: "Ngân hàng TMCP Bảo Việt",
    bin: "970438",
    short_name: "BaoViet Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "BVBVVNVX",
    keywords: "baoviet, BVB"
).freeze,
:banviet => Bank.new(
    key: BankKey::BANVIET,
    code: BankCode::BANVIET,
    name: "Ngân hàng TMCP Bản Việt",
    bin: "970454",
    short_name: "BVBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "VCBCVNVX",
    keywords: "banviet, vietcapitalbank"
).freeze,
:bidc => Bank.new(
    key: BankKey::BIDC,
    code: BankCode::BIDC,
    name: "Ngân hàng TMCP Đầu tư và Phát triển Campuchia",
    bin: "",
    short_name: "BIDC",
    viet_qr_status: VietQRStatus::NOT_SUPPORTED
).freeze,
:bidv => Bank.new(
    key: BankKey::BIDV,
    code: BankCode::BIDV,
    name: "Ngân hàng TMCP Đầu tư và Phát triển Việt Nam",
    bin: "970418",
    short_name: "BIDV",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "BIDVVNVX"
).freeze,
:cake => Bank.new(
    key: BankKey::CAKE,
    code: BankCode::CAKE,
    name: "Ngân hàng số CAKE by VPBank - Ngân hàng TMCP Việt Nam Thịnh Vượng",
    bin: "546034",
    short_name: "CAKE by VPBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: nil
).freeze,
:cbbank => Bank.new(
    key: BankKey::CBBANK,
    code: BankCode::CBBANK,
    name: "Ngân hàng Thương mại TNHH MTV Xây dựng Việt Nam",
    bin: "970444",
    short_name: "CB Bank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: "GTBAVNVX",
    keywords: "xaydungvn, xaydung"
).freeze,
:cimb => Bank.new(
    key: BankKey::CIMB,
    code: BankCode::CIMB,
    name: "Ngân hàng TNHH MTV CIMB Việt Nam",
    bin: "422589",
    short_name: "CIMB Bank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: "CIBBVNVN",
    keywords: "cimbvn"
).freeze,
:coopbank => Bank.new(
    key: BankKey::COOP_BANK,
    code: BankCode::COOP_BANK,
    name: "Ngân hàng Hợp tác xã Việt Nam",
    bin: "970446",
    short_name: "Co-op Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: nil,
    keywords: "hoptacxa, coop"
).freeze,
:dbsbank => Bank.new(
    key: BankKey::DBS_BANK,
    code: BankCode::DBS_BANK,
    name: "NH TNHH MTV Phát triển Singapore - Chi nhánh TP. Hồ Chí Minh",
    bin: "796500",
    short_name: "DBS Bank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 0,
    swift_code: "DBSSVNVX",
    keywords: "dbshcm"
).freeze,
:dongabank => Bank.new(
    key: BankKey::DONG_A_BANK,
    code: BankCode::DONG_A_BANK,
    name: "Ngân hàng TMCP Đông Á",
    bin: "970406",
    short_name: "DongA Bank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: "EACBVNVX",
    keywords: "donga, DAB"
).freeze,
:eximbank => Bank.new(
    key: BankKey::EXIMBANK,
    code: BankCode::EXIMBANK,
    name: "Ngân hàng TMCP Xuất Nhập khẩu Việt Nam",
    bin: "970431",
    short_name: "Eximbank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "EBVIVNVX"
).freeze,
:gpbank => Bank.new(
    key: BankKey::GPBANK,
    code: BankCode::GPBANK,
    name: "Ngân hàng Thương mại TNHH MTV Dầu Khí Toàn Cầu",
    bin: "970408",
    short_name: "GPBank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: "GBNKVNVX",
    keywords: "daukhi"
).freeze,
:hdbank => Bank.new(
    key: BankKey::HDBANK,
    code: BankCode::HDBANK,
    name: "Ngân hàng TMCP Phát triển TP. Hồ Chí Minh",
    bin: "970437",
    short_name: "HDBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "HDBCVNVX"
).freeze,
:hongleongbank => Bank.new(
    key: BankKey::HONGLEONG_BANK,
    code: BankCode::HONGLEONG_BANK,
    name: "Ngân hàng TNHH MTV Hong Leong Việt Nam",
    bin: "970442",
    short_name: "HongLeong Bank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: "HLBBVNVX",
    keywords: "HLBVN"
).freeze,
:hsbc => Bank.new(
    key: BankKey::HSBC,
    code: BankCode::HSBC,
    name: "Ngân hàng TNHH MTV HSBC (Việt Nam)",
    bin: "458761",
    short_name: "HSBC Vietnam",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: "HSBCVNVX"
).freeze,
:ibkhcm => Bank.new(
    key: BankKey::IBK_HCM,
    code: BankCode::IBK_HCM,
    name: "Ngân hàng Công nghiệp Hàn Quốc - Chi nhánh TP. Hồ Chí Minh",
    bin: "970456",
    short_name: "IBK HCM",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 0,
    swift_code: nil,
    keywords: "congnghiep"
).freeze,
:ibkhn => Bank.new(
    key: BankKey::IBK_HN,
    code: BankCode::IBK_HN,
    name: "Ngân hàng Công nghiệp Hàn Quốc - Chi nhánh Hà Nội",
    bin: "970455",
    short_name: "IBK HN",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 0,
    swift_code: nil,
    keywords: "congnghiep"
).freeze,
:indovinabank => Bank.new(
    key: BankKey::INDOVINA_BANK,
    code: BankCode::INDOVINA_BANK,
    name: "Ngân hàng TNHH Indovina",
    bin: "970434",
    short_name: "Indovina Bank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: nil
).freeze,
:kasikorn => Bank.new(
    key: BankKey::KASIKORN_BANK,
    code: BankCode::KASIKORN_BANK,
    name: "Ngân hàng Đại chúng TNHH KASIKORNBANK - CN TP. Hồ Chí Minh",
    bin: "668888",
    short_name: "Kasikornbank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "KASIVNVX"
).freeze,
:kienlongbank => Bank.new(
    key: BankKey::KIENLONG_BANK,
    code: BankCode::KIENLONG_BANK,
    name: "Ngân hàng TMCP Kiên Long",
    bin: "970452",
    short_name: "KienlongBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "KLBKVNVX"
).freeze,
:kookminhcm => Bank.new(
    key: BankKey::KOOKMIN_BANK_HCM,
    code: BankCode::KOOKMIN_BANK_HCM,
    name: "Ngân hàng Kookmin - Chi nhánh TP. Hồ Chí Minh",
    bin: "970463",
    short_name: "Kookmin Bank HCM",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 0,
    swift_code: nil
).freeze,
:kookminhn => Bank.new(
    key: BankKey::KOOKMIN_BANK_HN,
    code: BankCode::KOOKMIN_BANK_HN,
    name: "Ngân hàng Kookmin - Chi nhánh Hà Nội",
    bin: "970462",
    short_name: "Kookmin Bank HN",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 0,
    swift_code: nil
).freeze,
:lienvietpostbank => Bank.new(
    key: BankKey::LIENVIETPOST_BANK,
    code: BankCode::LPBANK,
    name: "Ngân hàng TMCP Bưu Điện Liên Việt",
    bin: "970449",
    short_name: "LienVietPostBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "LVBKVNVX",
    keywords: "lienvietbank",
    deprecated: true
).freeze,
:lpbank => Bank.new(
    key: BankKey::LPBANK,
    code: BankCode::LPBANK,
    name: "Ngân hàng TMCP Lộc Phát Việt Nam",
    bin: "970449",
    short_name: "LPBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "LVBKVNVX",
    keywords: "lienvietbank, loc phat"
).freeze,
:liobank => Bank.new(
    key: BankKey::LIOBANK,
    code: BankCode::LIOBANK,
    name: "Ngân hàng số Liobank - Ngân hàng TMCP Phương Đông",
    bin: "963369",
    short_name: "Liobank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: nil
).freeze,
:mbbank => Bank.new(
    key: BankKey::MBBANK,
    code: BankCode::MBBANK,
    name: "Ngân hàng TMCP Quân đội",
    bin: "970422",
    short_name: "MB Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "MSCBVNVX"
).freeze,
:mbv => Bank.new(
    key: BankKey::MBV,
    code: BankCode::MBV,
    name: "Ngân hàng TNHH MTV Việt Nam Hiện Đại",
    bin: "970414",
    short_name: "MBV",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "OCBKUS3M",
    keywords: "daiduong, mbv"
).freeze,
:msb => Bank.new(
    key: BankKey::MSB,
    code: BankCode::MSB,
    name: "Ngân hàng TMCP Hàng Hải",
    bin: "970426",
    short_name: "MSB",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "MCOBVNVX",
    keywords: "hanghai"
).freeze,
:namabank => Bank.new(
    key: BankKey::NAM_A_BANK,
    code: BankCode::NAM_A_BANK,
    name: "Ngân hàng TMCP Nam Á",
    bin: "970428",
    short_name: "Nam A Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "NAMAVNVX",
    keywords: "namabank"
).freeze,
:ncb => Bank.new(
    key: BankKey::NCB,
    code: BankCode::NCB,
    name: "Ngân hàng TMCP Quốc Dân",
    bin: "970419",
    short_name: "NCB Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "NVBAVNVX",
    keywords: "quocdan"
).freeze,
:nonghyup => Bank.new(
    key: BankKey::NONGHYUP_BANK_HN,
    code: BankCode::NONGHYUP_BANK_HN,
    name: "Ngân hàng Nonghyup - Chi nhánh Hà Nội",
    bin: "801011",
    short_name: "Nonghyup Bank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 0,
    swift_code: nil
).freeze,
:ocb => Bank.new(
    key: BankKey::OCB,
    code: BankCode::OCB,
    name: "Ngân hàng TMCP Phương Đông",
    bin: "970448",
    short_name: "OCB Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "ORCOVNVX",
    keywords: "phuongdong"
).freeze,
:oceanbank => Bank.new(
    key: BankKey::OCEANBANK,
    code: BankCode::OCEANBANK,
    name: "Ngân hàng Thương mại TNHH MTV Đại Dương",
    bin: "970414",
    short_name: "Ocean Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "OCBKUS3M",
    keywords: "daiduong",
    deprecated: true
).freeze,
:pgbank => Bank.new(
    key: BankKey::PGBANK,
    code: BankCode::PGBANK,
    name: "Ngân hàng TMCP Xăng dầu Petrolimex",
    bin: "970430",
    short_name: "PG Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "PGBLVNVX"
).freeze,
:publicbank => Bank.new(
    key: BankKey::PUBLIC_BANK,
    code: BankCode::PUBLIC_BANK,
    name: "Ngân hàng TNHH MTV Public Việt Nam",
    bin: "970439",
    short_name: "Public Bank Vietnam",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: "VIDPVNVX",
    keywords: "publicvn"
).freeze,
:pvcombank => Bank.new(
    key: BankKey::PVCOM_BANK,
    code: BankCode::PVCOM_BANK,
    name: "Ngân hàng TMCP Đại Chúng Việt Nam",
    bin: "970412",
    short_name: "PVcomBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "WBVNVNVX",
    keywords: "daichung"
).freeze,
:sacombank => Bank.new(
    key: BankKey::SACOMBANK,
    code: BankCode::SACOMBANK,
    name: "Ngân hàng TMCP Sài Gòn Thương Tín",
    bin: "970403",
    short_name: "Sacombank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "SGTTVNVX"
).freeze,
:saigonbank => Bank.new(
    key: BankKey::SAIGONBANK,
    code: BankCode::SAIGONBANK,
    name: "Ngân hàng TMCP Sài Gòn Công Thương",
    bin: "970400",
    short_name: "SaigonBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "SBITVNVX",
    keywords: "saigoncongthuong, saigonbank"
).freeze,
:scb => Bank.new(
    key: BankKey::SCB,
    code: BankCode::SCB,
    name: "Ngân hàng TMCP Sài Gòn",
    bin: "970429",
    short_name: "SCB",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "SACLVNVX",
    keywords: "saigon"
).freeze,
:seabank => Bank.new(
    key: BankKey::SEA_BANK,
    code: BankCode::SEA_BANK,
    name: "Ngân hàng TMCP Đông Nam Á",
    bin: "970440",
    short_name: "SeABank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "SEAVVNVX"
).freeze,
:shb => Bank.new(
    key: BankKey::SHB,
    code: BankCode::SHB,
    name: "Ngân hàng TMCP Sài Gòn - Hà Nội",
    bin: "970443",
    short_name: "SHB",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "SHBAVNVX",
    keywords: "saigonhanoi, sghn"
).freeze,
:shinhanbank => Bank.new(
    key: BankKey::SHINHAN_BANK,
    code: BankCode::SHINHAN_BANK,
    name: "Ngân hàng TNHH MTV Shinhan Việt Nam",
    bin: "970424",
    short_name: "Shinhan Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "SHBKVNVX"
).freeze,
:standardcharteredbank => Bank.new(
    key: BankKey::STANDARD_CHARTERED_BANK,
    code: BankCode::STANDARD_CHARTERED_BANK,
    name: "Ngân hàng TNHH MTV Standard Chartered Bank Việt Nam",
    bin: "970410",
    short_name: "Standard Chartered Vietnam",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: "SCBLVNVX"
).freeze,
:techcombank => Bank.new(
    key: BankKey::TECHCOMBANK,
    code: BankCode::TECHCOMBANK,
    name: "Ngân hàng TMCP Kỹ thương Việt Nam",
    bin: "970407",
    short_name: "Techcombank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "VTCBVNVX"
).freeze,
:timo => Bank.new(
    key: BankKey::TIMO,
    code: BankCode::TIMO,
    name: "Ngân hàng số Timo by Bản Việt Bank",
    bin: "963388",
    short_name: "Timo",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 0,
    swift_code: nil,
    keywords: "banviet"
).freeze,
:tpbank => Bank.new(
    key: BankKey::TPBANK,
    code: BankCode::TPBANK,
    name: "Ngân hàng TMCP Tiên Phong",
    bin: "970423",
    short_name: "TPBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "TPBVVNVX",
    keywords: "tienphong"
).freeze,
:ubank => Bank.new(
    key: BankKey::UBANK,
    code: BankCode::UBANK,
    name: "Ngân hàng số Ubank by VPBank - Ngân hàng TMCP Việt Nam Thịnh Vượng",
    bin: "546035",
    short_name: "Ubank by VPBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: nil
).freeze,
:uob => Bank.new(
    key: BankKey::UNITED_OVERSEAS_BANK,
    code: BankCode::UNITED_OVERSEAS_BANK,
    name: "Ngân hàng United Overseas Bank Việt Nam",
    bin: "970458",
    short_name: "United Overseas Bank Vietnam",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: nil
).freeze,
:vib => Bank.new(
    key: BankKey::VIB,
    code: BankCode::VIB,
    name: "Ngân hàng TMCP Quốc tế Việt Nam",
    bin: "970441",
    short_name: "VIB",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "VNIBVNVX",
    keywords: "quocte"
).freeze,
:vietabank => Bank.new(
    key: BankKey::VIET_A_BANK,
    code: BankCode::VIET_A_BANK,
    name: "Ngân hàng TMCP Việt Á",
    bin: "970427",
    short_name: "VietABank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "VNACVNVX"
).freeze,
:vietbank => Bank.new(
    key: BankKey::VIET_BANK,
    code: BankCode::VIET_BANK,
    name: "Ngân hàng TMCP Việt Nam Thương Tín",
    bin: "970433",
    short_name: "VietBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "VNTTVNVX",
    keywords: "vietnamthuongtin, vnthuongtin"
).freeze,
:vietcombank => Bank.new(
    key: BankKey::VIETCOMBANK,
    code: BankCode::VIETCOMBANK,
    name: "Ngân hàng TMCP Ngoại Thương Việt Nam",
    bin: "970436",
    short_name: "Vietcombank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "BFTVVNVX"
).freeze,
:vietinbank => Bank.new(
    key: BankKey::VIETINBANK,
    code: BankCode::VIETINBANK,
    name: "Ngân hàng TMCP Công thương Việt Nam",
    bin: "970415",
    short_name: "VietinBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "ICBVVNVX",
    keywords: "viettin"
).freeze,
:vikki => Bank.new(
    key: BankKey::VIKKI,
    code: BankCode::VIKKI,
    name: "Ngân hàng TNHH MTV Số Vikki",
    bin: "970406",
    short_name: "Vikki Bank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "EACBVNVX",
    keywords: "vikki, dongabank, dong a"
).freeze,
:vpbank => Bank.new(
    key: BankKey::VPBANK,
    code: BankCode::VPBANK,
    name: "Ngân hàng TMCP Việt Nam Thịnh Vượng",
    bin: "970432",
    short_name: "VPBank",
    viet_qr_status: VietQRStatus::TRANSFER_SUPPORTED,
    lookup_supported: 1,
    swift_code: "VPBKVNVX",
    keywords: "vnthinhvuong"
).freeze,
:vrb => Bank.new(
    key: BankKey::VRB,
    code: BankCode::VRB,
    name: "Ngân hàng Liên doanh Việt - Nga",
    bin: "970421",
    short_name: "VietNgaBank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: nil,
    keywords: "vietnam-russia, vrbank"
).freeze,
:wooribank => Bank.new(
    key: BankKey::WOORI_BANK,
    code: BankCode::WOORI_BANK,
    name: "Ngân hàng TNHH MTV Woori Việt Nam",
    bin: "970457",
    short_name: "Woori Bank",
    viet_qr_status: VietQRStatus::RECEIVE_ONLY,
    lookup_supported: 1,
    swift_code: nil
).freeze
}.freeze
BanksObject =
BANKS_OBJECT
BANKS =

Array-style catalog for callers that prefer iteration.

BANKS_OBJECT.values.freeze
Banks =
BANKS
BANK_APPS =

Supported mobile app metadata associated with the upstream bank catalog.

[
BankApp.new(
    bank: BankKey::ABBANK,
    scheme: "abbankmobile",
    package_id: "com.vnpay.abbank",
    app_store_id: "id1137160023",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::ACB,
    scheme: "acbapp",
    package_id: "mobile.acb.com.vn",
    app_store_id: "id950141024",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::AGRIBANK,
    scheme: "agribankmobile",
    package_id: "com.vnpay.Agribank3g",
    app_store_id: "id935944952",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::BAC_A_BANK,
    package_id: "com.bab.retailUAT",
    app_store_id: "id1441408786",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::BAOVIET_BANK,
    scheme: "baovietmobile",
    package_id: "com.vnpay.bvbank",
    app_store_id: "id1504422967",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::BIDC,
    scheme: "bidcvnmobile",
    package_id: "com.vnpay.bidc",
    app_store_id: "id1043501726",
    support_viet_qr: false,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::BIDV,
    scheme: "bidvsmartbanking",
    package_id: "com.vnpay.bidv",
    app_store_id: "id1061867449",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::CAKE,
    scheme: "cake.vn",
    package_id: "xyz.be.cake",
    app_store_id: "id1551907051",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::CBBANK,
    package_id: "cbbank.vn.mobile",
    app_store_id: "id1531443181",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::CIMB,
    scheme: "cimb",
    package_id: "vn.cimbbank.octo",
    app_store_id: "id1318127958",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::COOP_BANK,
    scheme: "coopbankmobile",
    package_id: "com.vnpay.coopbank",
    app_store_id: "id1578445811",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::DBS_BANK,
    package_id: "com.dbs.sg.dbsmbanking",
    app_store_id: "id1068403826",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::DONG_A_BANK,
    package_id: "com.dongabank.mobilenternet",
    app_store_id: "id993124125",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::EXIMBANK,
    scheme: "eximbankmobile",
    package_id: "com.vnpay.eximbank",
    app_store_id: "id1242260338",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::GPBANK,
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::HDBANK,
    scheme: "hdbankmobile",
    package_id: "com.vnpay.hdbank",
    app_store_id: "id1461658565",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::HONGLEONG_BANK,
    package_id: "my.com.hongleongconnect.mobileconnect",
    app_store_id: "id1446719260",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::HSBC,
    package_id: "vn.hsbc.hsbcvietnam",
    app_store_id: "id1472163155",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::IBK_HCM,
    scheme: "ionebankglobal",
    package_id: "com.ibk.neobanking.mini",
    app_store_id: "id787064809",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::INDOVINA_BANK,
    scheme: "ivbmobilebanking",
    package_id: "com.vnpay.ivb",
    app_store_id: "id1096963960",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::KASIKORN_BANK,
    package_id: "com.kasikornbank.kplus.vn",
    app_store_id: "id1586576195",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::KIENLONG_BANK,
    scheme: "kienlongbankmobilebanking",
    package_id: "com.sunshine.ksbank",
    app_store_id: "id1562823941",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::KOOKMIN_BANK_HCM,
    package_id: "com.kbstar.global",
    app_store_id: "id1542727700",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::LIENVIETPOST_BANK,
    scheme: "lv24h",
    package_id: "vn.com.lpb.lienviet24h",
    app_store_id: "id1488794748",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::LPBANK,
    scheme: "lv24h",
    package_id: "vn.com.lpb.lienviet24h",
    app_store_id: "id1488794748",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::LIOBANK,
    scheme: "lio",
    package_id: "com.ocb.liobank",
    app_store_id: "id6444787281",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::MBBANK,
    scheme: "mbmobile",
    package_id: "com.mbmobile",
    app_store_id: "id1205807363",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::MBV,
    scheme: "oceanbankmobilebanking",
    package_id: "com.vnpay.ocean",
    app_store_id: "id1469028843",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::MSB,
    scheme: "msbmobile",
    package_id: "vn.com.msb.smartBanking",
    app_store_id: "id436134873",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::NAM_A_BANK,
    scheme: "deeplinkapp",
    package_id: "ops.namabank.com.vn",
    app_store_id: "id1456997296",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::NCB,
    scheme: "ncbizimobile",
    package_id: "com.ncb.bank",
    app_store_id: "id1465217154",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::NONGHYUP_BANK_HN,
    scheme: "newnhsmartbanking",
    package_id: "nh.smart.banking",
    app_store_id: "id1444712671",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::OCB,
    scheme: "omniapp",
    package_id: "com.ocb.omniextra",
    app_store_id: "id1358682577",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::OCEANBANK,
    scheme: "oceanbankmobilebanking",
    package_id: "com.vnpay.ocean",
    app_store_id: "id1469028843",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::PGBANK,
    package_id: "pgbankApp.pgbank.com.vn",
    app_store_id: "id1537765475",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::PUBLIC_BANK,
    scheme: "publicbankmobile",
    package_id: "com.vnpay.publicbank",
    app_store_id: "id1573736472",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::PVCOM_BANK,
    scheme: "pvcombankapp",
    package_id: "com.vsii.pvcombank",
    app_store_id: "id957284067",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::SACOMBANK,
    scheme: "sacombankmobile",
    package_id: "src.com.sacombank",
    app_store_id: "id885814869",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::SAIGONBANK,
    scheme: "Sgbmobile",
    package_id: "com.vnpay.sgbank",
    app_store_id: "id1481832587",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::SCB,
    scheme: "scbmobilebanking",
    package_id: "com.vnpay.SCB",
    app_store_id: "id954973621",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::SEA_BANK,
    scheme: "seabankmobile",
    package_id: "vn.com.seabank.mb1",
    app_store_id: "id846407152",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::SHB,
    scheme: "shbmobile",
    package_id: "vn.shb.mbanking",
    app_store_id: "id538278798",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::SHINHAN_BANK,
    scheme: "shinhanglbvnbank",
    package_id: "com.shinhan.global.vn.bank",
    app_store_id: "id1071033810",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::STANDARD_CHARTERED_BANK,
    package_id: "com.sc.mobilebanking.vn",
    app_store_id: "id1146741999",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::TECHCOMBANK,
    scheme: "tcb",
    package_id: "vn.com.techcombank.bb.app",
    app_store_id: "id1548623362",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::TIMO,
    scheme: "plus",
    package_id: "io.lifestyle.plus",
    app_store_id: "id1521230347",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::TPBANK,
    scheme: "tpbankmobile",
    package_id: "com.tpbankquickpay",
    app_store_id: "id1292194225",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::TPBANK,
    scheme: "hydro",
    package_id: "com.tpb.mb.gprsandroid",
    app_store_id: "id450464147",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::UBANK,
    package_id: "vn.vpbank.ubank",
    app_store_id: "id1529056628",
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::UNITED_OVERSEAS_BANK,
    scheme: "mightyapp",
    package_id: "com.uob.mightyvn",
    app_store_id: "id1174327324",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::VIB,
    scheme: "myvib2",
    package_id: "com.vib.myvib2",
    app_store_id: "id1626624790",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::VIET_A_BANK,
    scheme: "vabmobilebanking",
    package_id: "phn.com.vn.mb",
    app_store_id: "id910897337",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::VIET_BANK,
    scheme: "vietbankmobilebanking",
    package_id: "com.vnpay.vietbank",
    app_store_id: "id1461658565",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::BANVIET,
    scheme: "bvbankdigimi",
    package_id: "vn.banvietbank.mobilebanking",
    app_store_id: "id1526444697",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::VIETCOMBANK,
    scheme: "vietcombankmobile",
    package_id: "com.VCB",
    app_store_id: "id561433133",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::VIETINBANK,
    scheme: "vietinbankmobile",
    package_id: "com.vietinbank.ipay",
    app_store_id: "id689963454",
    support_viet_qr: true,
    support_vnpay_qr: true
).freeze,
BankApp.new(
    bank: BankKey::VIKKI,
    scheme: "vikki",
    package_id: "com.finx.vikki",
    app_store_id: "id6471952024",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::VPBANK,
    scheme: "vpbankneo",
    package_id: "com.vnpay.vpbankonline",
    app_store_id: "id1209349510",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::VRB,
    support_viet_qr: false,
    support_vnpay_qr: false
).freeze,
BankApp.new(
    bank: BankKey::WOORI_BANK,
    scheme: "wvbs",
    package_id: "vn.com.woori.smart",
    app_store_id: "id1501785125",
    support_viet_qr: true,
    support_vnpay_qr: false
).freeze
].freeze
BankApps =
BANK_APPS

Class Method Summary collapse

Class Method Details

.bank(key) ⇒ Object

Fetch a bank definition from the generated catalog by symbol or string key.

Example:

VietnamQrPay.bank(:vietinbank)
VietnamQrPay.bank("vietinbank")


25
26
27
# File 'lib/vietnam_qr_pay.rb', line 25

def bank(key)
  BANKS_OBJECT.fetch(normalize_bank_key(key))
end

.bank_app(key) ⇒ Object

Fetch bank app metadata from the generated catalog by symbol or string key.



30
31
32
33
# File 'lib/vietnam_qr_pay.rb', line 30

def bank_app(key)
  lookup_key = normalize_bank_value(key)
  BANK_APPS.find { |app| app.bank == lookup_key }
end