Potwierdzenia płatności z terminala

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ę tam skrypt transaction_script.sh wykonuje płatność, następnie sprawdza jej status i na końcu, wykorzystując funkcję build_recipe generuje plik PNG z potwierdzeniem transakcji.

ASPEKTY PRAWNE

Potwierdzenie płatności z terminala musi zawierać kilka ważnych elementów, takich jak:

  • Informację o właścicielu terminala, jego identyfikator oraz identyfikator terminala płatniczego
  • Numer transakcji, datę transakcji, jej wartość oraz rezultat. W przypadku poprawnie obciążonego konta, numer autoryzacji.
  • Zgodę na obciążenie konta, lub uznanie w przypadku zwrotów na kartę,
  • W przypadku płatności kartą zbliżeniowo, należy zaznaczyć ten fakt w formie tagu “CONTACTLESS”, a w przypadku płatności klasycznej zamaskowany numer karty i datę jej ważności jeśli jest dostępna.
  • W przypadku transakcji walutowych (DCC) wymagane jest podanie kursu przeliczenia, waluty oraz dodatkowych informacji przekazanych przez terminal,

Przykładowe potwierdzenia drukowane przez terminal dla płatności kartą, BLIK’iem oraz dla zwrotu mogą wyglądać następująco:

Naszym celem jest uzyskanie wydruku na drukarce fiskalnej, który będzie zawierał wszystkie informacje z powyższych przykładów. Informacji do zamieszczenia jest sporo, stąd zachęcamy do przeanalizowania zawartości skryptu skrypt transaction_script.sh i następnie przepisane znajdującej się tam logiki do własnej aplikacji generującej potwierdzenia wydruków.

WYDRUK POTWIERDZENIA NA DRUKARCE FISKALNEJ

Przykładowy request drukujący potwierdzenie transakcji na 19zł wykonanej zbliżeniowo i zakończonej sukcesem. Wartości w formatce należy zamienić odpowiednimi wartościami otrzymanymi z metod /eservice/v1/ingenico_transaction_end oraz /eservice/v1/ingenico_general_info produktu IngenicoServer.

Przykładowa odpowiedź z IngenicoServer może wyglądać następująco:

Po przeprasowaniu JSON’a, wartości poszczególnych pól można wysłać do PosnetServer w następujący sposób:

Ten sam request od wersji PosnetServer 5.2 może zostać wysłany w prostszej formie:

Pobierz wersję 5.x

Przejdź do artykułu: “Instalacja PosnetServer“.

Share This

What's your reaction?
0Smile0Lol0Wow0Love0Sad0Angry