-
Notifications
You must be signed in to change notification settings - Fork 53
/
manageInvoice_electronic_invoice.php
38 lines (23 loc) · 1.3 KB
/
manageInvoice_electronic_invoice.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
<?php
include("config.php");
// Példa elektronikus számlázásnál történő adatbeküldésre
try {
$config = new NavOnlineInvoice\Config($apiUrl, $userData, $softwareData);
$reporter = new NavOnlineInvoice\Reporter($config);
$invoices = new NavOnlineInvoice\InvoiceOperations();
// Számla, ahol completenessIndicator=true. Ilyenkor a nav-invoice-modul automatikusan számolja a hash-t,
// így azt nem kell átadni a 3. paraméterben. A számolt hash hozzáadás után lekérhető.
$invoices->add(simplexml_load_file(TEST_DATA_DIR . "invoice1_complete.xml"));
$electronicInvoiceHash = $invoices->getLastInvoiceHash();
var_dump($electronicInvoiceHash);
// Számla, ahol completenessIndicator=false. Ilyenkor a hash-t a felhasználónak kell képezni pl. a PDF számláról
// SHA3-512 algoritmussal és azt a 3. paraméterben át kell adni.
$pdfFileContent = "...";
$hash = NavOnlineInvoice\Util::sha3_512($pdfFileContent);
$invoices->add(simplexml_load_file(TEST_DATA_DIR . "invoice2.xml"), "CREATE", $hash);
// Számlák beküldése:
$transactionId = $reporter->manageInvoice($invoices);
print "Tranzakciós azonosító a státusz lekérdezéshez: " . $transactionId;
} catch(Exception $ex) {
print get_class($ex) . ": " . $ex->getMessage();
}