Od 1 października 2025 r. w Polsce rusza system kaucyjny – jedna z największych zmian w gospodarce odpadami w ostatnich latach, której celem jest zwiększenie poziomu recyklingu oraz ograniczenie ilości odpadów trafiających na wysypiska. Nowelizacja ustawy o gospodarce opakowaniami i odpadami opakowaniowymi oraz ustawy o VAT wprowadza szczegółowe zasady funkcjonowania systemu kaucyjnego, precyzując prawa i obowiązki wszystkich uczestników rynku. Nowe…
Drukarka fiskalna ewidencjuje sprzedaż nadając każdemu dokumentowi unikalny numer, zwiększając go o 1 po każdym wydruku. Czyli pierwszy paragon ma numer 1, kolejny numer 2 itd. Z racji że na drukarce możliwe jest drukowanie nie tylko paragonów, ale też wydruków niefiskalnych, faktur i raportów, drukarka globalnie ewidencjonuje niezależnie numery nagłówków jak i samego dokumentu. Dzięki temu zawsze można określić jaki…
Drukarka fiskalna ewidencjuje sprzedaż zawsze w jednej walucie, stąd w naszym kraju zazwyczaj jest to polski złoty (PLN). Zmiana waluty ewidencyjnej np. na euro lub dolary, jest rejestrowana w pamięci fiskalnej i wymaga udziału wyspecjalizowanego serwisanta, więc w jaki sposób ewidencjonować np sporadyczną sprzedaż w EUR czy USD? Na szczęście drukarki Posnet posiadają mechanizm przeliczania sprzedaży z waluty obcej do…
PosnetServer może wykonywać wydruki niefiskalne na drukarce fiskalnej. Dzięki temu możliwe jest drukowanie nie tylko paragonów, ale również na przykład potwierdzeń płatności z terminala płatniczego. W tym tutorialu opiszemy jak wykorzystać drukarkę fiskalną do wydruku potwierdzeń z eService. Cały proces prezentujący włąsciwe przeprowadzenie płatności na terminalu eService dostępny jest w formie skryptów bash w katalogu docs produktu IngenicoServer. Znajdujący się…
PosnetServer od wersji 5.1 został rozbudowany o autentykację i autoryzację requestów. Mechanizm pozwala na uwierzytelnianie (autentykację) każdego requestu loginem i hasłem oraz następnie autoryzację (upoważnenie) do wybranego RESTpointu. Przykładowo, jeśli chcemy aby aplikacja monitorująca serwisy w naszej infrastrukturze nie miała uprawnień do wystawiania paragonów, wystarczy że przypiszemy jej uprawnienia do GET /status oraz GET /devicestatus. Aktywacja Moduł autentykacji i autoryzacji…
PosnetServer od wersji 5.0 został rozbudowany o symulator drukarki fiskalnej. Dzięki nowej funkcjonalności testowanie dowolnego oprogramowania z drukarką fiskalną nie wymaga posiadania drukarki fiskalnej. Dopiero po zakończeniu pisania kodu i przed gotowością wdrożenia, można wygodnie przejść z trybu symulacji do trybu pracy z fizycznym urządzeniem. Warto wspomnieć że nawet jeśli PosnetServer jest podłączony do drukarki, to w trybie symulacji urządzenie…
JSON reprezentujący rekordy w pamięci fiskalnej jest dość rozbudowany, stąd jego parsowanie może być na początku kłopotliwe. Dla przykładu przeanalizujemy rekordy zwracane przez API /raporty/events/dobowy.
|
1 2 3 4 5 6 |
curl -s -XPOST "http://localhost:3050/raporty/events/dobowy?fulldebug=true" -H 'Content-type: application/json' -d ' { "dateFrom":"2023-07-31T23:20:00+02:00", "dateTo":"2023-08-29T23:49:59+02:00", "mergeSections": true }' |
W odpowiedzi otrzymujemy identyfikator tasku, a następnie jego status sprawdzamy za pomocą RESTpoint: GET /tasks/get/<identyfikator taska> GET/tasks/list W momencie gdy “inprogress” zmieni wartość na “false”, wówczas metoda zwraca pełen wynik, przykładowo:
|
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 |
{"hits":{"task":{"ts":1701639330320,"task":"45c53051-cf9b-4089-8864-6b1caf38bee0","inprogress":false,"progress":0,"success":true,"message":null,"result":{"ok":true,"code":0,"error":"", "results":[ {"sections":[ {"type":"raport_dobowy","date":"2023-10-02T19:01:50Z","date_ts":749588510,"nb":1730,"fisk":1,"taxid":"5554442211","prefix":"","compress":0,"sw":0,"number":83, "date_112":"2023-10-02T19:01:50Z","date_ts_112":749588510,"currency":"PLN","ptu.0":2300,"ptu.1":800,"ptu.2":500,"ptu.3":0,"ptu.4":-1,"ptu.5":-2,"ptu.6":-2, "ptuChange":0,"malfunctionCount":0,"programmingLCount":0,"programmingOCount":0, "waPa.0":221021,"waPa.1":0,"waPa.2":0,"waPa.3":0,"waPa.4":0,"waPa.5":0,"waPa.6":0,"paragonCount":14,"paragonCancelledCount":0,"paragonCancelledAmount":0, "waFv.0":0,"waFv.1":0,"waFv.2":0,"waFv.3":0,"waFv.4":0,"waFv.5":0,"waFv.6":0,"invoiceCount":0,"invoiceCancelledCount":0,"invoiceCancelledAmount":0, "ticketsCount":0,"foreignTicketsCount":0,"dbChangesCount":7,"nonfiscalPrintoutsCount":0, "dateReportStart":"2023-10-02T07:45:16Z","dateReportEnd":"2023-10-02T18:40:21Z","dateReportStart_ts":749547916,"dateReportEnd_ts":749587221, "unsuccessfulTransfersCount":0,"type_65":"raport_dobowy","fisk_65":1,"cancelled":0,"nb_65":0, "date_65":"2023-10-02T19:01:50Z","date_ts_65":749588510, "uniq":"UNIQ_2221114422","cashNumber":"001","cashier":"KIEROWNIK", "taxid_65":"","taxidPrefix":"","taxidStyle":0,"compress_65":0,"sw_65":0} ] }, {"sections":[ {"type":"raport_dobowy","date":"2023-10-03T18:59:44Z","date_ts":749674784,"nb":1746,"fisk":1,"taxid":"5554442211","prefix":"","compress":0,"sw":0,"number":84, "date_112":"2023-10-03T18:59:44Z","date_ts_112":749674784,"currency":"PLN","ptu.0":2300,"ptu.1":800,"ptu.2":500,"ptu.3":0,"ptu.4":-1,"ptu.5":-2,"ptu.6":-2," ptuChange":0,"malfunctionCount":0,"programmingLCount":0,"programmingOCount":0, "waPa.0":178581,"waPa.1":0,"waPa.2":0,"waPa.3":0,"waPa.4":0,"waPa.5":0,"waPa.6":0,"paragonCount":15,"paragonCancelledCount":0,"paragonCancelledAmount":0, "waFv.0":0,"waFv.1":0,"waFv.2":0,"waFv.3":0,"waFv.4":0,"waFv.5":0,"waFv.6":0,"invoiceCount":0,"invoiceCancelledCount":0,"invoiceCancelledAmount":0, "ticketsCount":0,"foreignTicketsCount":0,"dbChangesCount":6,"nonfiscalPrintoutsCount":0, "dateReportStart":"2023-10-03T07:18:20Z","dateReportEnd":"2023-10-03T16:07:37Z","dateReportStart_ts":749632700,"dateReportEnd_ts":749664457, "unsuccessfulTransfersCount":0,"type_65":"raport_dobowy","fisk_65":1,"cancelled":0,"nb_65":0, "date_65":"2023-10-03T18:59:44Z","date_ts_65":749674784, "uniq":"UNIQ_2221114422","cashNumber":"001","cashier":"KIEROWNIK", "taxid_65":"","taxidPrefix":"","taxidStyle":0,"compress_65":0,"sw_65":0} ] } ]}}},"ok":true} |
W powyższej…
Z racji tego, że PosnetServer do wersji 4.3 włącznie nie przechowuje żadnych danych, aktualizacje wykonujemy jak ponowną instalację serwisu w osobnym katalogu. Przykładowo aby wykonać upgrade do wersji 4.4: Przygotowanie NOWEGO serwisu Torzymy nowy katalog (C:/PosnetServer4.4, lub /opt/posnetserver4.4) Pobieramy paczkę instalacyjną i rozpakowywujemy jej zawartość w nowym katalogu Kopiujemy plik config.json z poprzedniego katalogu do nowego nadpisując tym samym domyślny…
pierwsza transakcja Niestety każdy provider (eSerice czy Polacrd) posiada własny standard przeprowadzania transakcji, stad w aplikacji IngenicoServer nie jesteśmy w stanie przygotować uniwersalnego procesu, jednak dołożyliśmy wszelkich starań aby proces był najbardziej jak to możliwe uniwersalny. Transakcję przeprowadza się w 3 krokach: Sprawdzenie czy terminal nie jest w trakcie przeprowadzania innej transakcji Rozpoczęcie transakcji Pobranie wyniku Za każdy z 3…
