Skip to content

Commit f3353eb

Browse files
committed
[info] frissites: PHPApiAgent-2.10.18.zip
1 parent 62c5b4e commit f3353eb

File tree

90 files changed

+14481
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+14481
-0
lines changed

szamlaagent/attachments/.agent

Whitespace-only changes.

szamlaagent/attachments/logo.png

3.46 KB
Loading

szamlaagent/changelog.md

Lines changed: 616 additions & 0 deletions
Large diffs are not rendered by default.

szamlaagent/cookie/.agent

Whitespace-only changes.

szamlaagent/docs/.agent

Whitespace-only changes.
216 KB
Binary file not shown.

szamlaagent/examples/autoload.php

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
spl_autoload_register( 'invoiceAgentAutoloader' );
3+
4+
/**
5+
* Számla Agent PHP API autoloader
6+
*
7+
* @param string $class
8+
*
9+
* @return void
10+
* @throws ErrorException
11+
*/
12+
function invoiceAgentAutoloader( $class ) {
13+
$apiName = 'szamlaagent';
14+
$prefix = $apiName . '\\';
15+
$baseDir = __DIR__ . '/../src/' . strtolower($apiName) .DIRECTORY_SEPARATOR;
16+
$path = explode('\\', $class);
17+
18+
if (strtolower($path[0]) == $apiName) {
19+
for ($i = 0; $i < count($path)-1; $i++) {
20+
$nPath[] = strtolower($path[$i]);
21+
}
22+
array_push($nPath, end($path));
23+
24+
$rootPath = str_replace($prefix, $baseDir, implode('\\', $nPath));
25+
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $rootPath) . '.php';
26+
27+
$file = realpath($fileName);
28+
if (file_exists($file)) {
29+
require_once $file;
30+
} else {
31+
throw new \ErrorException("Cannot load this class: {$class}, " . $file);
32+
}
33+
}
34+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?php
2+
3+
/**
4+
* Ez a példa megmutatja, hogy hogyan hozzunk létre egy szállítólevelet.
5+
*/
6+
require __DIR__ . '/../autoload.php';
7+
8+
use \SzamlaAgent\SzamlaAgentAPI;
9+
use \SzamlaAgent\Buyer;
10+
use \SzamlaAgent\Document\DeliveryNote;
11+
use \SzamlaAgent\Item\DeliveryNoteItem;
12+
13+
try {
14+
/**
15+
* Számla Agent létrehozása alapértelmezett adatokkal
16+
*
17+
* A szállítólevél sikeres kiállítása esetén a válasz (response) tartalmazni fogja
18+
* a létrejött bizonylatot PDF formátumban (1 példányban)
19+
*/
20+
$agent = SzamlaAgentAPI::create('agentApiKey');
21+
22+
/**
23+
* Új szállítólevél létrehozása
24+
*
25+
* Átutalásra megjelölt magyar nyelvű (Ft) szállítólevél kiállítása mai keltezési és
26+
* teljesítési dátummal, +8 nap fizetési határidővel
27+
*/
28+
$deliveryNote = new DeliveryNote();
29+
// Vevő adatainak hozzáadása (kötelezően kitöltendő adatokkal)
30+
$deliveryNote->setBuyer(new Buyer('Kovács Bt.', '2030', 'Érd', 'Tárnoki út 23.'));
31+
32+
// Szállítólevél tétel összeállítása alapértelmezett adatokkal (1 db tétel 27%-os áfatartalommal)
33+
$item = new DeliveryNoteItem('Eladó tétel 1', 10000.0);
34+
// Tétel nettó értékének beállítása
35+
$item->setNetPrice(10000.0);
36+
// Tétel ÁFA értékének beállítása
37+
$item->setVatAmount(2700.0);
38+
// Tétel bruttó értékének beállítása
39+
$item->setGrossAmount(12700.0);
40+
// Tétel hozzáadása a szállítólevélhez
41+
$deliveryNote->addItem($item);
42+
43+
// Számla elkészítése
44+
$result = $agent->generateDeliveryNote($deliveryNote);
45+
// Agent válasz sikerességének ellenőrzése
46+
if ($result->isSuccess()) {
47+
echo 'A szállítólevél sikeresen elkészült. Szállítólevél száma: ' . $result->getDocumentNumber();
48+
// Válasz adatai a további feldolgozáshoz
49+
}
50+
var_dump($result->getData());
51+
} catch (\Exception $e) {
52+
$agent->logError($e->getMessage());
53+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?php
2+
3+
/**
4+
* Ez a példa megmutatja, hogy hogyan hozzunk létre egy díjbekérőt.
5+
*/
6+
require __DIR__ . '/../autoload.php';
7+
8+
use \SzamlaAgent\Buyer;
9+
use \SzamlaAgent\Document\Proforma;
10+
use \SzamlaAgent\Item\ProformaItem;
11+
use \SzamlaAgent\SzamlaAgentAPI;
12+
13+
try {
14+
/**
15+
* Számla Agent létrehozása alapértelmezett adatokkal
16+
*
17+
* A díjbekérő sikeres kiállítása esetén a válasz (response) tartalmazni fogja
18+
* a létrejött bizonylatot PDF formátumban (1 példányban)
19+
*/
20+
$agent = SzamlaAgentAPI::create('agentApiKey');
21+
22+
/**
23+
* Új díjbekérő létrehozása
24+
*
25+
* Átutalással fizetendő magyar nyelvű (Ft) díjbekérő kiállítása mai keltezési és
26+
* teljesítési dátummal, +8 nap fizetési határidővel
27+
*/
28+
$proforma = new Proforma();
29+
// Rendelésszám hozzáadása
30+
$proforma->getHeader()->setOrderNumber('TESZT-001');
31+
32+
// Vevő adatainak hozzáadása (kötelezően kitöltendő adatokkal)
33+
$proforma->setBuyer(new Buyer('Kovács Bt.', '2030', 'Érd', 'Tárnoki út 23.'));
34+
35+
// A bizonylat (díjbekérő) tétel összeállítása alapértelmezett adatokkal (1 db tétel 27%-os áfatartalommal)
36+
$item = new ProformaItem('Eladó tétel 1', 10000.0);
37+
// Tétel nettó értékének beállítása
38+
$item->setNetPrice(10000.0);
39+
// Tétel ÁFA értékének beállítása
40+
$item->setVatAmount(2700.0);
41+
// Tétel bruttó értékének beállítása
42+
$item->setGrossAmount(12700.0);
43+
// Tétel hozzáadása a díjbekérőhöz
44+
$proforma->addItem($item);
45+
46+
// Díjbekérő elkészítése
47+
$result = $agent->generateProforma($proforma);
48+
// Agent válasz sikerességének ellenőrzése
49+
if ($result->isSuccess()) {
50+
echo 'A díjbekérő sikeresen elkészült. Díjbekérő száma: ' . $result->getDocumentNumber();
51+
// Válasz adatai a további feldolgozáshoz
52+
}
53+
var_dump($result->getData());
54+
} catch (\Exception $e) {
55+
$agent->logError($e->getMessage());
56+
}
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<?php
2+
3+
/**
4+
* Ez a példa megmutatja, hogy hogyan hozzunk létre egy díjbekérőt e-mail értesítő küldésével.
5+
*/
6+
require __DIR__ . '/../autoload.php';
7+
8+
use \SzamlaAgent\Buyer;
9+
use \SzamlaAgent\BuyerLedger;
10+
use \SzamlaAgent\Document\Proforma;
11+
use \SzamlaAgent\Item\ProformaItem;
12+
use \SzamlaAgent\Seller;
13+
use \SzamlaAgent\SzamlaAgentAPI;
14+
use \SzamlaAgent\TaxPayer;
15+
16+
try {
17+
/**
18+
* Számla Agent létrehozása alapértelmezett adatokkal
19+
*
20+
* A díjbekérő sikeres kiállítása esetén a válasz (response) tartalmazni fogja
21+
* a létrejött bizonylatot PDF formátumban (1 példányban)
22+
*/
23+
$agent = SzamlaAgentAPI::create('agentApiKey');
24+
25+
/**
26+
* Új díjbekérő létrehozása
27+
*/
28+
$proforma = new Proforma();
29+
// Rendelésszám hozzáadása
30+
$proforma->getHeader()->setOrderNumber('TESZT-001');
31+
32+
// A bizonylat (díjbekérő) tétel összeállítása alapértelmezett adatokkal (1 db tétel 27%-os áfatartalommal)
33+
$item = new ProformaItem('Eladó tétel 1', 10000.0);
34+
// Tétel nettó értékének beállítása
35+
$item->setNetPrice(10000.0);
36+
// Tétel ÁFA értékének beállítása
37+
$item->setVatAmount(2700.0);
38+
// Tétel bruttó értékének beállítása
39+
$item->setGrossAmount(12700.0);
40+
// Tétel hozzáadása a díjbekérőhöz
41+
$proforma->addItem($item);
42+
43+
// Eladó létrehozása
44+
$seller = new Seller('OBER', '11111111-22222222-33333333');
45+
// Eladó válasz e-mail címe
46+
$seller->setEmailReplyTo('seller@example.org');
47+
// Eladó aláírója
48+
$seller->setSignatoryName('Seller signatory');
49+
// Eladó e-mail tárgya
50+
$seller->setEmailSubject('Invoice notification');
51+
// Eladó e-mail tartalma
52+
$seller->setEmailContent('Pay the bill, otherwise the bank interest will be...');
53+
$proforma->setSeller($seller);
54+
55+
// Vevő létrehozása (név, irányítószám, település, cím)
56+
$buyer = new Buyer('Kovacs Bt.', '2030', 'Érd', 'Tarnoki street 23.');
57+
// Vevő telefonszáma
58+
$buyer->setPhone('+36301234567');
59+
// Vevő adószáma
60+
$buyer->setTaxNumber('11111111-1-11');
61+
// Vevő adóalanyisága (van magyar adószáma)
62+
$buyer->setTaxPayer(TaxPayer::TAXPAYER_HAS_TAXNUMBER);
63+
// Vevő főkönyvi adatok létrehozása (vevő azonosító, könyvelési dátum, vevő főkönyvi szám, folyamatos teljesítés)
64+
$buyerLedger = new BuyerLedger('123456', '2022-01-01', '123456', true);
65+
// Számla elszámolási időszak kezdete (folyamatos teljesítés esetén)
66+
$buyerLedger->setSettlementPeriodStart('2022-01-01');
67+
// Számla elszámolási időszak vége (folyamatos teljesítés esetén)
68+
$buyerLedger->setSettlementPeriodEnd('2022-01-31');
69+
// Főkönyvi adatok hozzáadása a vevőhöz
70+
$buyer->setLedgerData($buyerLedger);
71+
// Ha egyedi e-mail üzenetet állítunk be a vevő számára (lásd fentebb az Eladónál), akkor az e-mail kiküldéséhez az alábbi 2 mező beállítása is szükséges:
72+
$buyer->setEmail('buyer@example.org');
73+
$buyer->setSendEmail(true);
74+
// Vevő hozzáadása a számlához
75+
$proforma->setBuyer($buyer);
76+
77+
// Díjbekérő elkészítése
78+
$result = $agent->generateProforma($proforma);
79+
// Agent válasz sikerességének ellenőrzése
80+
if ($result->isSuccess()) {
81+
echo 'A díjbekérő sikeresen elkészült. Díjbekérő száma: ' . $result->getDocumentNumber();
82+
// Válasz adatai a további feldolgozáshoz
83+
}
84+
var_dump($result->getData());
85+
} catch (\Exception $e) {
86+
$agent->logError($e->getMessage());
87+
}

0 commit comments

Comments
 (0)