peterbodnar.com / bsqr
基于方文档编码、解析和渲染工具
1.1.0
2017-03-21 20:44 UTC
Requires
- php: ^5.4 || ^7.0
- peterbodnar.com/base32: ^1.0
- peterbodnar.com/cmd: ^1.0
- peterbodnar.com/mx2svg: ^1.0
- peterbodnar.com/qrcoder: ^1.0
Requires (Dev)
- nette/tester: ^1.7
This package is not auto-updated.
Last update: 2024-09-28 19:31:13 UTC
README
由方文档编码、渲染和解析工具提供。
目前仅支持PayBySquare文档类型。
需求
此库使用 xz
系统可执行文件 (/usr/bin/xz
) 进行 lzma 压缩/解压缩。
欢迎提出任何关于如何删除此依赖的建议。
安装
composer require peterbodnar.com/bsqr
定义一个PayBySquare文档
use com\peterbodnar\bsqr; $document = (new bsqr\model\Payment()) ->setDueDate("0000-00-00") // YYYY-MM-DD ->setAmount(123.45, "EUR") // amount, currency code ->setSymbols("1234567890", "308") // variable, constant symbol ->addBankAccount("SK3112000000198742637541", "XXXXXXXXXXX") // iban, bic/swift ->createPayDocument();
根据规范,文档可以包含发票ID、多项付款、付款可以包含多个银行账户、扩展等。
use com\peterbodnar\bsqr; $document = (new bsqr\model\Pay()) ->setInvoiceId("1234567890") ->addPayment( (new bsqr\model\Payment()) ->setDueDate("0000-00-00") ->setAmount(123.45, "EUR") ->setSymbols("1234567890", "308") ->addBankAccount("SK3112000000198742637541", "XXXXXXXXXXX") ->addBankAccount("SK3112000000198742637542", "XXXXXXXXXXX") ->addBankAccount("SK3112000000198742637543", "XXXXXXXXXXX") // ->setNote("Payment note") // ->setOriginatorsReferenceInformation("Originators Reference Information") // ->setDirectDebitExt( /* Direct Debit Extension */ ) // ->setStandingOrderExt( /* Standing Order Extension */ ) ) ->addPayment( /* 2nd payment */ ) ->addPayment( /* 3rd payment */ );
渲染包括BySqure标志和边框的文档为svg
use com\peterbodnar\bsqr; $bysquare = new bsqr\BySquare(); $svg = (string) $bysquare->render($document);
仅获取bsqr数据
use com\peterbodnar\bsqr; $bsqrCoder = new bsqr\utils\BsqrCoder(); $bsqrData = $bsqrCoder->encode($document);
使用任何二维码库将数据编码/渲染为二维码矩阵/图像。
解析bsqr数据
use com\peterbodnar\bsqr; $bsqrCoder = new bsqr\utils\BsqrCoder(); $document = $bsqrCoder->parse($bsqrData);