Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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:

SerielltUSB-OTG-kabel till kassans RS232-port
TCPöver nätet, som en Nets-terminal
BluetoothSPP

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.