-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.php
62 lines (40 loc) · 1.58 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
require "phpqrcode.php";
function createInvoiceQr($saler, $vatNumber, $dateTime, $totalWithVat, $vat)
{
/// Get The Lens Of Values
$salerLens = strlen($saler);
$vatNumberLens = strlen($vatNumber);
$dateTimeLens = strlen($dateTime);
$totalWithVatLens = strlen($totalWithVat);
$vatLens = strlen($vat);
/// Covnert Lens To Hexdecimal
$salerLens = dechex($salerLens);
$vatNumberLens = dechex($vatNumberLens);
$dateTimeLens = dechex($dateTimeLens);
$totalWithVatLens = dechex($totalWithVatLens);
$vatLens = dechex($vatLens);
/// Add 0 if Lens Is one digit
if (strlen($salerLens) < 2)
$salerLens = "0" . $salerLens;
if (strlen($vatNumberLens) < 2)
$vatNumberLens = "0" . $vatNumberLens;
if (strlen($dateTimeLens) < 2)
$dateTimeLens = "0" . $dateTimeLens;
if (
strlen($totalWithVatLens) < 2
)
$totalWithVatLens = "0" . $totalWithVatLens;
if (strlen($vatLens) < 2)
$vatLens = "0" . $vatLens;
/// Convert Values To Hex
$saler = bin2hex($saler);
$vatNumber = bin2hex($vatNumber);
$dateTime = bin2hex($dateTime);
$totalWithVat = bin2hex($totalWithVat);
$vat = bin2hex($vat);
$result = "01" . $salerLens . $saler . "02" . $vatNumberLens . $vatNumber . "03" . $dateTimeLens . $dateTime . "04" . $totalWithVatLens . $totalWithVat . "05" . $vatLens . $vat;
return base64_encode(hex2bin($result));
}
$result = createInvoiceQr("tawreed tech", 310518806900003, "2023-06-10T18:30:00", 1150, 150);
echo QRcode::png($result, false, QR_ECLEVEL_L, 10);