datalinx/php-upn-qr-generator

斯洛文尼亚UPN付款订单的二维码生成器

v1.1.2 2023-02-10 07:16 UTC

This package is auto-updated.

Last update: 2024-08-31 00:26:01 UTC


README

Packagist Version Packagist PHP Version Support Packagist Downloads Test runner codecov Conventional Commits Packagist License

关于

使用这个库,您可以生成斯洛文尼亚使用的UPN付款订单的二维码,其技术规范由斯洛文尼亚银行协会定义。

此库可以将PNG、SVG或EPS图像输出到本地文件。

代码经过全面测试,包括生成的二维码的OCR扫描。

要求

  • PHP >= 7.4
  • mbstring和iconv PHP扩展
  • imagick PHP扩展,但仅当您想生成PNG(矢量)二维码图像时需要——对于矢量格式(SVG、EPS)不需要

安装

使用composer下载

composer require datalinx/php-upn-qr-generator

用法

为了生成二维码,您至少需要传递以下参数

  • recipientIban
  • recipientCity

最小必需参数基于Intesa Sanpaolo Bank Slovenia提供的Android应用程序ISPS和Banka IN。

请参阅类文档块以获取接受的参数格式和长度。

示例代码

此代码展示了典型用例。有关可以将哪些内容放入二维码中的更多信息,请参阅UPNQR类。

// Create an instance of the UPNQR class
$QR = new UPNQR();

// Set payer
$QR ->setPayerName("Janez Novak")
    ->setPayerStreetAddress("Lepa ulica 33")
    ->setPayerCity("Koper");

// Set recipient
$QR ->setRecipientIban("SI56020360253863406")
    ->setRecipientName("Podjetje d.o.o.")
    ->setRecipientStreetAddress("Neka ulica 5")
    ->setRecipientCity("Ljubljana");

// Transaction details
$QR ->setAmount(55.58)
    ->setRecipientReference("SI081236-17-34565")
    ->setPurposeCode("GDSV")
    ->setPaymentPurpose("Plačilo spletnega naročila št. 304");

try {
    // Generate QR code image of type svg (use .png for PNG images)
    $QR->generateQrCode("./qrcode.svg");
} catch (Exception $e) {
    throw new Exception("Error generating QR code image: " . $e->getMessage());
}

上述代码将生成此二维码

QR code example

贡献

如果您有如何改进此包的建议,请提出问题或甚至更好地提交一个pull request。

如果您想贡献,请参阅DataLinx PHP包模板中的开发指南。

开发者文档

变更日志

本项目所有显著更改都自动记录在CHANGELOG.md文件中,基于release-please GitHub操作的工作流程。

格式基于Keep a Changelog,且本项目遵循语义化版本控制

为了使所有这些工作,提交信息必须遵循常规提交规范,该规范也由Git钩子强制执行。