Tap2ID - Verifone (Greenbox)
Core SDK Workflow
1. Initialize → Koble til terminal
_transactionManager.Initialize(DeviceAddress, ConnectionType.TCPIP)Oppretter forbindelse mellom POS og P630-terminal via TCP/IP
Skal kalles først før andre operasjoner
Oppretter kommunikasjonskanalen
2. Login → Autentiser operatør
_transactionManager.Login(OperatorId, Password)Logger inn kassabetjenten/operatøren til terminalen
I NULL-modus er passord valgfritt
Nødvendig før oppstart av betalingsøkter
3. StartSession → Begynn transaksjonskontekst
_transactionManager.StartSession(InvoiceId)Oppretter en betalingsøkt med unik fakturanr
Grupperer alle operasjoner (kredittkortfangst, betaling) under én økt
Må være åpen før kortfanging eller betalingsprosessering
4. RequestCardData2 → Tidlig kortfang ⭐ (Nøkkelfunksjon)
_transactionManager.RequestCardData2(
amount: 10000, // Maks forventet beløp
tokenRequest: true // Be om ANALYTICS + REUSE token
)Formål: Få tak i kort før endelig pris er kjent
Kunden fester kortet én gang
Returnerer kortdata (merke, de fire siste, BIN, utløpsdato)
Returnerer ANALYTICS-token → Brukes til å søke Diller etter medlem
Returnerer REUSE-token → Brukes for fremtidige transaksjoner
Lagrer kortdata i terminalens minne for senere betaling
5. StartPayment → Prosesser betaling
_transactionManager.StartPayment(
amount: 9000, // Endelig rabattert beløp
currency: "SEK",
paymentType: PaymentType.SALE
)Med tidlig fanging (vår implementasjon):
Bruker kortdata fra trinn 4 (ingen ny berøring nødvendig)
Beløpet kan avvike fra fangstbeløpet (rabatter benyttet)
Terminalen prosesserer betaling med lagret kort
6. EndSession → Lukk transaksjonskontekst
_transactionManager.EndSession()Lukker betalingsøkten
Fjerner lagret kortdata
Fullfører transaksjonen
7. Logout → Koble fra operatør
_transactionManager.Logout()Logger ut operatøren
Terminalen går tilbake til inaktiv tilstand
1. Initialize → Koble til terminal på 192.168.68.123
2. Login → Operatør „TEST“ logger inn
3. StartSession → Økt „INV-123“ åpnes
4. RequestCardData2 → Kunden fakter kortet (maks $100)
↓ Returnerer: { brand: „Visa“, last4: „1234“, analyticsToken: „ABC...“ }
5. [POS søker i Diller med token → finner rabatt]
6. StartPayment → Debiterer $90 (bruker fanget kort, ingen ny berøring)
↓ Returnerer: { transactionId: „...“, authCode: „057652“ }
7. EndSession → Lukk økten
8. Logout → Terminalen inaktiv
Kritisk SDK-konfigurasjon
Terminalen må ha:
Terminal.CardAcquisitionBehaviour = 10= Kortfang fungerer, men påfølgende betaling tillates IKKE1= Kortfang fungerer, OG betaling kan bruke fanget kort ✅
