prgayman / laravel-zatca
Laravel 包,用于生成并签名 ZATCA 电子发票的二维码
1.0.0
2021-12-12 10:13 UTC
Requires
- php: >=7.2|^8.0
- simplesoftwareio/simple-qrcode: ^4.2
Requires (Dev)
- phpunit/phpunit: ~8.0
This package is auto-updated.
Last update: 2024-09-13 16:55:05 UTC
README
简介
Laravel 包,用于生成并签名 ZATCA 电子发票的二维码
安装
要获取项目中最新的 laravel-zatca 版本,请在 "composer" 中要求它
$ composer require prgayman/laravel-zatca
或者您可以直接在 composer.json 文件中添加它
{ "require": { "prgayman/laravel-zatca": "1.0.0" } }
Laravel
在您的 app 配置文件 config/app.php 中直接注册提供者 config/app.php
Laravel >= 5.5 提供了包自动发现功能,归功于 rasmuscnielsen 和 luiztessadri,他们帮助实现了 Zatca 的这一功能,提供者和外观的注册可能不再必要。
'providers' => [ Prgayman\Zatca\ZatcaServiceProvider::class, ]
在同一个文件中添加外观别名
'aliases' => [ 'Zatca' => Prgayman\Zatca\Facades\Zatca::class, ]
Lumen
在您的 bootstrap 应用文件 boostrap/app.php
中注册提供者
在文件底部“注册服务提供者”部分添加以下行。
$app->register(Prgayman\Zatca\ZatcaServiceProvider::class);
对于外观,在“创建应用”部分添加以下行。
class_alias(\Prgayman\Zatca\Facades\Zatca::class, 'Zatca');
使用方法
生成 Base64
use Prgayman\Zatca\Facades\Zatca; $base64 = Zatca::sellerName('Zatca') ->vatRegistrationNumber("123456789123456") ->timestamp("2021-12-01T14:00:09Z") ->totalWithVat('100.00') ->vatTotal('15.00') ->toBase64(); // Output // AQVaYXRjYQIPMTIzNDU2Nzg5MTIzNDU2AxQyMDIxLTEyLTAxVDE0OjAwOjA5WgQGMTAwLjAwBQUxNS4wMA==
生成纯文本
use Prgayman\Zatca\Facades\Zatca; $tlv = Zatca::sellerName('Zatca') ->vatRegistrationNumber("123456789123456") ->timestamp("2021-12-01T14:00:09Z") ->totalWithVat('100.00') ->vatTotal('15.00') ->toTLV();
渲染二维码图片
use Prgayman\Zatca\Facades\Zatca; use Prgayman\Zatca\Utilis\QrCodeOptions; // Optional // Optional $qrCodeOptions = new QrCodeOptions; // Format (png,svg,eps) $qrCodeOptions->format("svg"); // Color $qrCodeOptions->color(255,0,0,1); // Background Color $qrCodeOptions->backgroundColor(0,0,0); // Size $qrCodeOptions->size(100); // Margin $qrCodeOptions->margin(0); // Style (square,dot,round) $qrCodeOptions->style('square',0.5); // Eye (square,circle) $qrCodeOptions->eye('square'); $qrCode = Zatca::sellerName('Zatca') ->vatRegistrationNumber("123456789123456") ->timestamp("2021-12-01T14:00:09Z") ->totalWithVat('100.00') ->vatTotal('15.00') ->toQrCode($qrCodeOptions);
使用函数生成 Base64
$base64 = zatca() ->sellerName('Zatca') ->vatRegistrationNumber("123456789123456") ->timestamp("2021-12-01T14:00:09Z") ->totalWithVat('100.00') ->vatTotal('15.00') ->toBase64(); // Output // AQVaYXRjYQIPMTIzNDU2Nzg5MTIzNDU2AxQyMDIxLTEyLTAxVDE0OjAwOjA5WgQGMTAwLjAwBQUxNS4wMA==
使用函数生成纯文本
$tlv = zatca() ->sellerName('Zatca') ->vatRegistrationNumber("123456789123456") ->timestamp("2021-12-01T14:00:09Z") ->totalWithVat('100.00') ->vatTotal('15.00') ->toTLV();
使用函数渲染二维码图片
$qrCode = zatca() ->sellerName('Zatca') ->vatRegistrationNumber("123456789123456") ->timestamp("2021-12-01T14:00:09Z") ->totalWithVat('100.00') ->vatTotal('15.00') ->toQrCode( qrCodeOptions() ->format("svg") ->color(255,0,0,1) ->size(300) );
测试
composer test
许可证
本库是开源软件,使用 MIT 许可证授权MIT 许可证。