trinetus / pay-by-square-generator
基于 Jan Fecik 代码的 PHP 实现 Pay By Square 生成器。
1.0.0
2022-10-24 17:55 UTC
Requires
- php: ^7.4|^8.0
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 码生成器库的文档)。