ccharz/laravel-epc-qr

Laravel EPC-QR-Code 生成器,用于 SEPA 付款

v2.0.0 2024-03-06 07:13 UTC

This package is auto-updated.

Last update: 2024-09-06 08:24:42 UTC


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)