Nets-emulatorn
Nets-emulatorn är en Android-app som låtsas vara en Nets-terminal. Den är till för kassor som bara kan tala Nets protokoll (SOFIE ECR-ITU) - ofta äldre kassor med en serieport - men som ska ta betalt via något annat: en betalapp i en telefon, eller en annan leverantörs terminal.
kassa --Nets ECR-ITU--> [ Android-enhet ]
(seriellt, TCP [ Nets-emulatorn ]
eller Bluetooth) [ | ]
[ betalningslösning (t.ex. Softpay) ]
Kassan tror att den pratar med en Nets-terminal. Emulatorn tar emot beloppet, låter betalningslösningen sköta kortet, och svarar kassan med resultatet och kvittotexten i Nets format - samma meddelanden som en riktig Nets-terminal skickar.
Emulatorn är ett eget projekt (nets-emulator) och ingen del av R-GO
kassa. R-GO kassa talar själv med Nets-, Worldline- och Swedbank
Pay-terminaler och behöver den inte.
Anslutning till kassan
Tre sätt, valda i appens inställningar:
| Seriellt | USB-OTG-kabel till kassans RS232-port |
| TCP | över nätet, som en Nets-terminal |
| Bluetooth | SPP |
Betalningslösningar
| Läge | |
|---|---|
| Softpay (betalning i telefonen) | byggd, både via molnet och genom att växla app i telefonen |
| Worldline Axium (Samport) | skisserad: appen körs på själva Axium-terminalen och talar med den lokalt |
| Swedbank Pay PAX (nexo) | skisserad: samma meddelanden som R-GO kassa nu använder |
Arbetet med R-GO kassans koppling till Worldline och Swedbank Pay är därmed också grunden för emulatorns: protokollet mot terminalen är detsamma, bara åt andra hållet sett från kassan.
Provat
Mot riktig hårdvara: Nets-länken över serieport (fel i länklagret hittades och rättades så), svar på kassans fråga om egenskaper (H62) och X-rapport. Appen har körts på en Samsung S25.
Installation
Appen byggs med Gradle och installeras med adb; den behöver behörighet
att visa notiser för att kunna köra i bakgrunden. Se android/TESTING.md
i projektet.