cuongnm/viet_qr_pay 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

cuongnm/viet_qr_pay

Composer 安装命令:

composer require cuongnm/viet_qr_pay

包简介

VietQR Pay Package

README 文档

README

Library supporting QR code encoding/decoding of VietQR & VNPayQR

Installation

Use Composer to install the library. Also make sure you have enabled and configured the GD extension if you want to generate images.

composer require cuongnm/viet_qr_pay

Import lib

{
  "require": {
    "cuongnm/viet_qr_pay": "^1.0"
  }
}

Tạo mã VietQR

use cuongnm\viet_qr_pay\QRPay;

      $bankBin = '970418';
      $bankNumber = '257678859'; // Số tài khoản
      $amount = '10000'; // Số tiền
      $purpose = 'Chuyen tien'; // Nội dung chuyển tiền
      $qrPay = QRPay::initVietQR(
        $bankBin,
        $bankNumber,
        $amount,
        $purpose
      );
      $content = $qrPay->build();

      echo $content;
      // 00020101021138530010A0000007270123000697041601092576788590208QRIBFTTA53037045802VN6304AE9F

Tạo mã VNPay

use cuongnm\viet_qr_pay\QRPay;

      $merchantId = '0102154778';
      $merchantName = 'TUGIACOMPANY';
      $store = 'TU GIA COMPUTER';
      $terminal = 'TUGIACO1';
      $qrPay = QRPay::initVNPayQR(
        $merchantId,
        $merchantName,
        $terminal,
        $terminal
      );
      $content = $qrPay->build();

      echo $content;
      // 00020101021126280010A0000007750110010531314453037045408210900005802VN5910CELLPHONES62600312CPSHN ONLINE0517021908061613127850705ONLHN0810CellphoneS63047685

Decode mã QR

use cuongnm\viet_qr_pay\QRPay;

    $qrContent = '00020101021238530010A0000007270123000697041601092576788590208QRIBFTTA5303704540410005802VN62150811Chuyen tien6304BBB8'
    $qrPay = new QRPay($qrContent);
    $response = array(
        'error_code' => '00',
        'message' => 'Success',
        'data' => [
            'bankBin' => $qrPay->consumer->getBankBin(),
            'bankNumber' => $qrPay->consumer->getBankNumber(),
            'amount' => $qrPay->amount,
            'remark' => $qrPay->additionalData->getPurpose(),
        ]
    );
    echo json_encode($response);

Tạo mã VietQR Image (base64)

use cuongnm\viet_qr_pay\QRPay;

      $bankBin = '970418';
        $bankNumber = '9631242004503530058'; // Số tài khoản
        $amount = '10000'; // Số tiền
        $purpose = 'Chuyen tien HSV'; // Nội dung chuyển tiền
        $qrPay = QRPay::initVietQR(
            $bankBin,
            $bankNumber,
            $amount,
            $purpose
        );
        $content = $qrPay->generate_image();
        
        // Debug output
        echo "\nGenerated VietQR Image: " . $content . "\n";

        return $content;

QRPay class

Name Type Description
isValid boolean Kiểm tra tính hợp lệ của mã QR
initMethod string Phương thức khởi tạo (11 - QR Tĩnh, 12 - QR động)
provider Provider Thông tin nhà cung cấp
merchant Merchant Thông tin merchant
consumer Consumer Thông tin người thanh toán
amount string Số tiền giao dịch
currency string Mã tiền tệ (VNĐ: 704)
nation string Mã quốc gia
additionalData AdditionalData Thông tin bổ sung
crc string Mã kiểm tra
build() method Tạo lại mã QR mới

Provider class

Thông tin đơn vị cung cấp mã QR (VietQR, VNPay)

Name Type Description
guid string Mã định danh toàn cầu
name string Tên nhà cung cấp

Merchant class

Thông tin merchant (Đơn vị chấp nhận thanh toán)

Name Type Description
id string Mã định danh đơn vị CNTT
name string Tên đơn vị CNTT

Consumer class

Thông tin người thanh toán

Name Type Description
bankBin string Mã ngân hàng
bankNumber string Số tài khoản

AdditionalData class

Thông tin bổ sung

Name Type Description
billNumber string Số hóa đơn
mobileNumber string Số điện thoại di động
store string Tên cửa hàng
loyaltyNumber string Mã khách hàng thân thiết
reference string Mã Tham chiếu
customerLabel string Mã khách hàng
terminal string Tên điểm bản
purpose string Nội dung giao dịch

build() method

Trả về nội dung mã QR mới

cuongnm/viet_qr_pay 适用场景与选型建议

cuongnm/viet_qr_pay 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 77 次下载、GitHub Stars 达 1, 最近一次更新时间为 2025 年 03 月 11 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「code」 「qrcode」 「qr」 「vietqr」 「cuongnm」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 cuongnm/viet_qr_pay 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 cuongnm/viet_qr_pay 我们能提供哪些服务?
定制开发 / 二次开发

基于 cuongnm/viet_qr_pay 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 77
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 22
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-03-11