基于方文档编码、解析和渲染工具

1.1.0 2017-03-21 20:44 UTC

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);

链接