trinetus/pay-by-square-generator

基于 Jan Fecik 代码的 PHP 实现 Pay By Square 生成器。

1.0.0 2022-10-24 17:55 UTC

This package is auto-updated.

Last update: 2024-09-30 01:46:43 UTC


README

这是 Pay By Square 生成器的 PHP 实现。源代码基于 Ján Fečík (https://jan.fecik.sk/blog/qr-generator-platieb-pay-by-square-v-php/) 的代码,并将其作为 composer 包进行移植,并加入了微小的面向对象。

此库 不需要 在 **api 上注册。

要求

  • PHP 7.4+
  • 在服务器上启用函数 proc_open()
  • Linux 服务器
  • 在服务器上安装 xz 软件包 (用于 LZMA 压缩,这在生成数据时是必要的)

安装

composer require trinetus/pay-by-square-generator

使用方法

简单地将命名空间使用添加到您的代码中

use Trinetus\PayBySquareGenerator;

初始化对象,填充发票数据,并返回最终输出字符串

$outputString = (new PayBySquareGenerator())
    ->setAmount(1.25)
    ->setIban("SKxxyyyyzzzzzzzzzzzzzzzz")
    ->setBic("XXXXXXXX")
    ->setBeneficaryName("Account name")
    ->setVariableSymbol("1234567890")
    ->setConstantSymbol("0309")
    ->setSpecificSymbol("9999")
    ->setNote("Test payment")
    ->getOutput();

使用您喜欢的 QR 码生成器将 $outputString 创建成 QR 码。此示例使用 bacon/bacon-qr-code (https://packagist.org.cn/packages/bacon/bacon-qr-code)

$renderer = new ImageRenderer(
    new RendererStyle(400),
    new ImagickImageBackEnd()
);
$writer = new Writer($renderer);
$qrcode = $writer->writeString($outputString);

简单地在您的 web/pdf/email 模板中显示图片(或对 QR 码图片进行您需要的任何操作)。此示例针对 Laravel 的 blade 模板

<img src="data:image/png;base64,{{ base64_encode($qrcode) }}" alt="QR code">

或者,您也可以将其保存为图片文件(请参阅您的 QR 码生成器库的文档)。

源代码和有用链接