mojaSymfonia FORUM
https://forum.mix-soft.pl/

Komunikacja z terminalem płatniczym
https://forum.mix-soft.pl/viewtopic.php?f=15&t=9472
Strona 1 z 1

Autor:  Zenek N [ 2020-02-27, 22:37 ]
Tytuł:  Komunikacja z terminalem płatniczym

Hej podpowie ktoś jak wysłać kwotę do terminala i odebrać status płatności ?

Autor:  Zenek N [ 2020-03-06, 12:40 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

ktoś coś ?

Autor:  Zenek N [ 2020-06-25, 20:58 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

Witam próbuje sam rozwiązać integracje, będę tutaj wpisywał zebrane informacje - mam nadzieje że ktoś pomoże.
Jeśli uda mi się to ogarnąć to wkleję tutaj całkowicie darmowe rozwiązanie

Co wiem:
1. Prawidowo nazywa się to integracja ECR-POS
1. Symfonia nie wspiera komunikacji TCP/IP ponieważ moduł MSWinsock.Winsock (winsck.ocx) został całkowicie wyłączony dla architektury x64 Windows 7 (ze względów bezpieczeństwa)
3. Komunikacja TCP/IP z terminalem płatniczym przebiega na porcie 8282
3. Program księgowy inicjuje połączenie (reverse shell)
4. Terminal to urządzenie drukujące - integracja odbywa się tak samo jak w przypadku urządzenia drukującego
5. Dla symfonii możliwe jest rozwiązanie tylko poprzez serial port inaczej COM

Przykładowy kod utworzenia socketa dla komunikacji TCP/IP wygląda mniej więcej tak:
Cytuj:
socked create
host = "127.0.0.1"
port = "8282"
message: %|2811011|00|000000001774|||||985|||0|
message Hex: 0 25 7c 32 38 31 31 30 31 31 7c 30 30 7c 30 30 30 30 30 30 30 30 31 37 37 34 7c 7c 7c 7c 7c 39 38 35 7c 7c 7c 30 7c
socket_write()
socket_read()
socket_close()


Przykładowy kod w VBS na utworzenie połączenia poprzez port com
Kod:
dim comm
dim instring
set comm=CreateObject("MSCOMMLib.MSComm.1")
set the comm port
comm.CommPort = 4 (numer portu)
comm.Settings = "9600,N,8,1" (prędkość przesyłania danych)
comm.InputLen = 0
comm.PortOpen = True (otwarcie portu)
comm.Output = "AT" + Chr(13) (wypisanie danych na wejście)
comm.PortOpen = False  (zamknięcie portów)


1. Nie wiem jakie dane symfonia ma wysłać na port COM

Autor:  Zenek N [ 2020-06-26, 09:57 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

Kod wysyłający dane na port com - napisany w języku raportów z użyciem vBS

Kod:
int SUB testconnect()
   dispatch xx
   string strVB
   xx = "MSScriptControl.ScriptControl.1"
   xx.Language = "VBScript"   
   strVB  = "Dim comm\n"
   strVB += "forWrite=2\n"
   strVB += "set comm=CreateObject(\"Scripting.FileSystemObject\")\n"
   strVB += "Set com = comm.OpenTextFile(\"COM1:9600,N,8,1\", forWrite)\n"
   strVB += "com.Write \"Hello World\"\n"
   strVB += "com.Close\n"
   xx.ExecuteStatement(strVB)
   message("Powodzenie! Wysłano dane na port com 1")
   // jeśli otrzymamy informację że nie ma utworzonego pliku to należy zmienić numer portu
   
EndSub
testconnect()

Autor:  Zenek N [ 2020-06-27, 21:34 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

Wysłanie danych do terminala na porcie com 1

Kod:
int sub Senddatatocom()
   dispatch sx
   string xx   
   sx = "MSScriptControl.ScriptControl.1"
   sx.Language = "VBScript"

   xx = "Const ForWriting = 2, TriStateFalse = 0\n"
   xx += "Dim fso, f\n"
   xx += "Set fso = CreateObject(\"Scripting.FileSystemObject\")\n"
   xx += "Set f = fso.OpenTextFile(\"COM1:9600,N,8,1\", ForWriting, False, TriStateFalse)\n"

   xx += "f.Write Chr(26)\n"
   xx += "f.Write Chr(32)\n"
   xx += "f.Write Chr(27)\n"
   xx += "f.Close\n"
   sx.ExecuteStatement(xx)
   endsub
Senddatatocom()

Autor:  Zenek N [ 2020-07-14, 07:47 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

Odbijam się od ściany, chciałem dowiedzieć się na jakie dane oczekuje terminal i nikt nie chce powiedzieć. Brak dokumentacji na ten temat

Autor:  korzio [ 2020-08-31, 13:10 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

Sam się przymierzam do integracji,
Prawidłowo to chcemy wykorzystać protokół "ECR-EFT 1.6" - 2 wynik w google to dokumentacja w pdf'ie

Chcemy wysłać blok danych m/w taki:
<Token Pakietu><FS><Typ pakietu><FS><Typ operacji><FS><Identyfikator ECR><FS><Identyfikator dokumentu sprzedaży><FS><Kwota brutto><FS><Wartość netto><FS><Wartość Vat><FS><Kod Waluty><FS>

Token pakietu - Unikalny identyfikator nadawany przez stronę wysyłającą żądanie
Typ pakietu - Typ pakietu, wartość stała „S1”
Typ operacji - „S” – sprzedaż z możliwością cashback / „C” – sprawdzenie statusu ostatniej transakcji sprzedaży
Identyfikator ECR - Identyfikator ECR, zapewnia powiązanie transakcji płatniczej z dokumentem sprzedaży..
Identyfikator dokumentu sprzedaży - Identyfikator dokumentu sprzedaży (paragon, faktura), zapewnia powiązanie transakcji płatniczej z dokumentem sprzedaży. Zależnie od konfiguracji EFT, identyfikator może być interpretowany jako numer transakcji płatniczej według identyfikacji EFT
Kod waluty - Trzyliterowy kod waluty zgodny z ISO 4217

Wszystkie to pola wymagane, problematyczne są id i token :/

Autor:  Zenek N [ 2020-08-31, 13:34 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

dzięki za info, chwilami zastanawiałem się kupić używany terminal na olx.pl i popróbować, może można jakoś te dane zdebugować wyprintować które inicjuje operator może są szyforwane via base64 tego nie wiem

Autor:  korzio [ 2020-08-31, 14:30 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

Mój błąd, ECR-EFT to komunikacja kasa-terminal
POS-EFT 1.2.3 to stanowisko sprzedaży-terminal i tu dokumentacja jakaś jest ale na tyle słaba że nie wiem jak ma to wyglądać
Komunikacja może być szyfrowana - nie musi. Jutro będę rozmawiał ze znajomym ogarniającym temat

Autor:  Zenek N [ 2020-08-31, 15:49 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

dzięki za info z mojej strony posprawdzam i wrócę tutaj

Autor:  Zenek N [ 2021-01-26, 23:53 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

Chwilowo stanąłem w miejscu,
dostępny jest wirtualny emulator ingenico

Kod:
https://github.com/libre-informatique/EPTEmulator

Autor:  Zenek N [ 2021-01-27, 02:04 ]
Tytuł:  Re: Komunikacja z terminalem płatniczym

a tutaj cała dokumentacja deweloperska
Kod:
https://epayments.developer-ingenico.com/

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/