ZATCA (法图拉) QR- Code 执行
一个非官方的软件包,帮助开发人员执行方便的ZATCA(Fatoora)QR代码,电子发票在其中需要该代码 沙特阿拉伯.
在前端和后端的节点项目中都可以使用.
✅已验证为自2021年11月18日起与ZATCA的SDK相同出品.
安装
要启动, 请安装软件包 :
npm i --save @axenda/zatca
使用量
内容提要
简单,你只需要生成一个QR代码就是:
import { Invoice } from '@axenda/zatca';
const invoice = new Invoice({
sellerName: 'Axenda',
vatRegistrationNumber: '1234567891',
invoiceTimestamp: '2021-12-04T00:00:00Z',
invoiceTotal: '100.00',
invoiceVatTotal: '15.00',
});
const imageData = await invoice.render();
// Read the following sections for more details.
导入
首先,进口发票类或Tag类,代表发票QR代码:
import { Invoice } from '@axenda/zatca';
// or
import { Tag } from '@axenda/zatca';
代表发票QR代码
第二,创建发票实例或一系列 Tag 类:
const invoice = new Invoice({
sellerName: 'Axenda',
vatRegistrationNumber: '1234567891',
invoiceTimestamp: '2021-12-04T00:00:00Z',
invoiceTotal: '100.00',
invoiceVatTotal: '15.00',
});
// or
const tags: Tag[] = [
new Tag(1, 'Axenda'),
new Tag(2, '1234567891'),
new Tag(3, '2021-12-04T00:00:00Z'),
new Tag(4, '100.00'),
new Tag(5, '15.00'),
];
生成 TLV
现在可以从发票或标签阵列中生成 TLV 字符串 :
invoice.toTlv();
// or using tags array
import { toTlv } from '@axenda/zatca';
toTlv(tags)
生成 Base64
您从发票或标签阵列生成 Base64 字符串 :
invoice.toBase64();
// or using tags array
import { tagsToBase64 } from '@axenda/zatca';
tagsToBase64(tags);
渲染QR 代码
您可以从 Base64 字符串中生成图像数据( png)并在浏览器中渲染:
await invoice.render();
// or using tags array
import { renderTags } from '@axenda/zatca';
await renderTags(tags);
使用 QR 代码图像数据
使用图像数据在浏览器中显示 QR 代码 :
<!-- For React -->
<img src={imageData} alt="Invoice QR Code">
<!-- For Angular -->
<img [src]="imageData"/>
<!-- Just use the imageData variable no matter what framework you use -->
测试
要运行测试套件,首先安装依赖关系,然后运行 npm test数字 :
npm install
npm test
一揽子路线图
- 支持 ZATCA 发票 QR 编码阶段 1
- 审查软件包 API 一致性
- 支持 ZATCA 发票 QR 编码阶段 2
捐款
欢迎 捐款 任何种类的人。 请拿一个 时间来回顾 提交文件的准则。 。 。 .
许可证
麻省理工学院许可证(MIT). 请看 许可证文件 更多信息.
