ccharz / laravel-epc-qr
Laravel EPC-QR-Code 生成器,用于 SEPA 付款
v2.0.0
2024-03-06 07:13 UTC
Requires
- php: ^8.0
- endroid/qr-code: ^4.0
- laravel/framework: ^8.37|^9.0|^10.0|^11.0
Requires (Dev)
- nunomaduro/larastan: ^1|^2
- orchestra/testbench: ^6.40|^7.37|^8.17|^9.0
README
用于生成 SEPA 付款 epc qr 码的库。有关更多信息,请参阅https://de.wikipedia.org/wiki/EPC-QR-Code
QR-Code 生成由 https://github.com/endroid/qr-code 提供
如果您需要一个没有 endroid 和 Laravel 依赖的更通用解决方案,请查看 https://github.com/smhg/sepa-qr-data-php
安装
在您的 composer.json 中要求此包并更新 composer。
composer require ccharz/laravel-epc-qr
使用方法
使用这些方法可以设置 SEPA 付款数据,所有方法都可以链式调用。
- iban(string $iban)
- bic(string $bic)
- accountOwner(string account_owner)
- receiver(string $iban, string $bic, string $account_owner)
- purpose(string $code): 4 位目的代码
- reference(string $reference): 对账参考(与 text 互斥)
- text(string $text): 对账文本
- amount(float $amount, string $currency = 'EUR')
- note(string $note): 用户备注
要直接将输出流到浏览器,请使用 stream 方法
return EPCQR::amount(150) ->receiver('AT000000000000000000', 'ABCDATWW', 'Max Mustermann') ->note('test') ->purpose('AT12') ->text('Test Überweisungstext') ->stream();
要仅获取 endroid/qr-code 结果,请使用 build 方法
$result = EPCQR::amount(150) ->receiver('AT000000000000000000', 'ABCDATWW', 'Max Mustermann') ->note('test') ->purpose('AT12') ->text('Test Überweisungstext') ->build(); // Generate a data URI to include image data inline (i.e. inside an <img> tag) echo $result->getDataUri();
您可以使用 size(int $size)
和 margin(int $margin)
方法将 qr 码调整为您的需求。如果需要更多定制,您还可以通过使用 prepareBuilder() 方法获取 endroid/qr-code 构建器
$builder = EPCQR::amount(150) ->receiver('AT000000000000000000', 'ABCDATWW', 'Max Mustermann') ->note('test') ->purpose('AT12') ->text('Test Überweisungstext') ->prepareBuilder(); $result = $builder ->labelText('This is the label') ->build();
如果您想将输出存储到文件中,请使用 save 方法
return EPCQR::amount(150) ->receiver('AT000000000000000000', 'ABCDATWW', 'Max Mustermann') ->note('test') ->purpose('AT12') ->save('qr.png', 'mydisk');
有关 EPC QR 的更多信息
待办事项
- EPC 数据验证
许可证
MIT 许可证 (MIT)