Zahlungen per Kreditkarte oder Debitkarte entgegennehmen

Im letzten Beitrag hatte ich beschrieben, wie man mit FileMaker Go und SumUp Kreditkartenzahlungen entgegennimmt.

Wer es noch ein wenig flexibler wünscht und/oder kein großer Fan von SumUp ist sollte sich einmal das Sunmi P2Mini (ohne Drucker) oder Sunmi P2Pro (mit Drucker) ansehen.

Ich habe bei der Firma Hobex angefragt, ob ich ein Leihgerät für einen Monat bekommen könnte.

Mit der Firma Hobex arbeite ich indirekt seit 11 Jahren sehr gut zusammen, da Kunden von mir äußerst erfolgreich Onlinezahlungen in einem vom mir programmierten Konzertkarten-Buchungssystem entgegennehmen. Mit den POS-Terminals (Point-of-Service, also vor Ort – nicht online) hatte ich hingegen bisher noch nicht viel zu tun.

Nach meiner Anfrage hatte ich schon zwei Tage später ein Sunmi P2Mini Leihgerät bei mir vor der Tür und jetzt am Schreibtisch.

Das P2Mini basiert auf Android und hat Funktionen wie NFC für kontaktlose Kreditkarten- oder Bankomatkartenzahlungen (Debitkarte oder auch EC-Karte genannt), einen Slot, wo man ganz klassisch eine Kreditkarte durchziehen kann, GPS, einen professionellen Barcodescanner, Kameras, natürlich WLAN und einen SIM-Card-Slot. Die genauen Fähigkeiten sind hier beschrieben.

Mit dem Gerät habe ich Benutzername und Passwort zum Testsystem erhalten sowie die API Dokumentation. Das (für mich) besondere an dem Gerät ist nämlich, dass dieses per REST-API gesteuert werden kann, womit sich viele Möglichkeiten auftun, denn die Integration in FileMaker oder Web-Lösungen wird so plötzlich sehr einfach!

Bewaffnet mit Benutzername, Passwort, Gerät und API-Dokumentation hatte ich nun alle benötigten Komponenten zusammen, um erste Experimente zu starten.

Die wirklich sehr gute und übersichtliche API Dokumentation beschreibt, dass man sich mit Benutzername und Passwort einloggen muss, um einen Authentifizierungstoken zu bekommen, der dann bei folgenden Anfragen mitgesendet werden muss.

In media res

Auf der Kommandozeile loggen wir uns per cURL in das Testsystem (hobexplus.brunn.hobex.at) ein:

curl -X POST \          
  https://hobexplus.brunn.hobex.at/api/account/login \
  -H 'Content-Type: application/json' \
  -d '{
      "userName": "schulz",
      "password": "XXXXXX"
}'        

Das Ergebnis ist eine JSON Antwort mit Token:

{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUXXXXX.eyJleHBpcmF0XXXXXXMjAzMy0wMS0yMlQxMjozOTozMiIsImVtYWlsIjoiYmVybmhhcmQuc2NodWx6QHNjaHViZWMuY29tIiwidXNlciI6InNjaHVseiIsImlXXXXXXMjMtMDEtMjJUMTI6Mzk6MzIifQ.XXXXXXXcB5mF8wVuvTDjc0HGtRk_204RzMOwG1q7k"}

Dieser Token muss quasi nur einmal angefordert werden, da er 10 Jahre gültig ist. Es ist also nicht notwendig, bei jeder Session einen neuen Token zu generieren (wie man das z.B. von der FileMaker Data API kennt.)

Screenshot vom Login im Mac Terminal

Her mit den Moneten!

Mit einem weitern Aufruf können wir nun die Zahlung am Terminal starten.

Der Aufruf ist sehr einfach:

curl -X POST \
  https://hobexplus.brunn.hobex.at/api/transaction/payment \
  -H 'content-type: application/json' \
    -H 'token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUXXXXX.eyJleHBpcmF0XXXXXXMjAzMy0wMS0yMlQxMjozOTozMiIsImVtYWlsIjoiYmVybmhhcmQuc2NodWx6QHNjaHViZWMuY29tIiwidXNlciI6InNjaHVseiIsImlXXXXXXMjMtMDEtMjJUMTI6Mzk6MzIifQ.XXXXXXXcB5mF8wVuvTDjc0HGtRk_204RzMOwG1q7k' \
    -d '{  "transaction": {
    "transactionType": 1,
    "transactionId": "20230122134300001",
    "tid": "3600150",
    "currency": "EUR",
    "reference": "schubec Test",
    "amount": 10.5,
    "language": "DE"
  }
}'

Damit wird von meinem Mac aus per Internet die Transaktion auf dem P2Mini gestartet. Gesteuert wird das über den Parameter tid.

amount und currency besagen, dass ich 10,50 € kassieren möchte. In der transactionId kann ich bis zu 18 Zeichen übergeben, damit ich die Zahlung später per API, Webinterface und Kontoauszug wieder zuordnen kann.

Einfacher geht’s kaum.

Am P2Mini werde ich (bzw. der Endkunde) nun aufgefordert, eine Kreditkarte oder eine andere Zahlungsform (zB Apple Watch mit Apple Pay) an das Gerät zu halten.

Sobald der Benutzer dann bezahlt hat bekommen wir dann das Ergebnis von unserem cURL Aufruf zurück.

Oder – falls niemand innerhalb von 60 bezahlt – bekommen wir eine TimeOut-Meldung / Fehlermeldung und wissen so, dass die Zahlung nicht erfolgte.

Im Prinzip war es das auch schon. Wirklich sehr einfach.

Es gibt nun noch einige Möglichkeiten mehr:

Es kann ein Beleg für einen typischen Bondrucker mit 55mm und 80mm Papierbreite oder für einen normalen Drucker im DIN-A4 Format abgerufen werden. Als PDF, PNG oder auch im Textformat.

Hobex Beleg für Kunde und Händler

Zahlungen können storniert oder refundiert und natürlich können per REST-API auch Transaktionsdaten abgerufen werden.

Im Hobex Webinterface können wir die einzelnen Transaktionen ansehen und die oben genannten Befehle bequem per Mausklick auslösen.

Hobex Webinterface Transaktionen
Hobex Webinterface Transaktionsdetails

Demo

Sunmi P2 Lite mit REST-API - Zahlungen per Kreditkarte oder Debitkarte entgegennehmen

Wenn Sie auf den Playbutton klicken, wird das Video von YouTube geladen. Dabei werden persönliche Daten wie IP-Adressen und ev. Cookies an YouTube übertragen.

Integration in FileMaker

Dadurch, dass die Kommunikation mit dem Gerät per REST-API, also HTTP und JSON, läuft, ist es wirklich ganz einfach, den Aufruf in FileMaker zu integrieren.

Dabei ist es am Ende dann ganz egal, ob man FileMaker Pro unter Windows oder Mac, FileMaker Go am iPhone oder iPad oder FileMaker Webdirect im Webbrowser und beliebigen Betriebssystem nutzt.

Integration in ein webbasiertes Kassensystem

Fast noch einfacher ist es, das ganze in ein webbasiertes System zu integrieren.

Für einen großen Konzertveranstalter haben wir im letzten Jahr eine webbasierte Tages- und Abendkasse programmiert. Hier lässt sich das System von Hobex besonders einfach einbinden, da die gesamte Kommunikation zwischen Client und (FileMaker)-Server ohnehin per REST-API läuft.

Nach einem Fingerdruck am Touchscreen auf “(Kassieren per) Kreditkarte” wird der Betrag auf das Hobex Zahlungsterminal gesendet, der Konzertgast bezahlt und aus dem POS-Drucker kommen die Konzerttickets und der Zahlungsbeleg.

Webbasierte Abendkassa, optimiert für Touchdisplays, mit integrierter Kreditkartenzahlung

Im Hintergrund wird der Betrag noch bei der Registrierkasse verbucht, wie es gesetzlich in Österreich vorgeschrieben ist.

Beleg aus dem POS Drucker. Im Testsystem ohne QR-Code, im Produktivsystem wird noch ein QR-Code aufgedruckt, wie vom österreichischen Finanzamt verlangt.

Das tolle an dem System ist, dass es vollständig im Chrome Webbrowser läuft und somit nach einem Login quasi auf jeden Endgerät ohne Installation funktioniert.

Preise

Ich selbst bin weder Kunde noch Vertriebspartner von Hobex.

Wie erwähnt verwenden meine Kunden Hobex und sind sehr zufrieden. Die Gebühren bei Kreditkartenzahlungen etc. bewegen sich offenbar auf marktüblichen Niveau und sind nicht deutlich darunter oder darüber.

Genaue Preise muss man wohl persönlich verhandeln.

Das P2Mini leiht man sich üblicherweise von Hobex. Die Kosten liegen hier bei ca. 240 € jährlich plus 40 € Einrichtungsgebühr. Ob man es auch kaufen kann weiß ich nicht.

Selbst ausprobieren

Wenn Sie das ganze selbst testen möchten, dann wenden Sie sich an ecr@hobex.at für Testgeräte und weitere Infos.

Fazit

Das P2Mini ist aufgrund der einfachen, aber mächtigen REST-API schnell in bestehende Lösungen integriert.

Das übersichtliche Hobex-Webinterface lässt keine Wünsche offen.

Vorteil von Hobex ist, dass es hier konkrete Ansprechpartner gibt, die man anrufen kann und die gerne weiterhelfen. Versuchen Sie mal jemanden bei PayPal anzurufen…

Das Ganze ist für sich schon eine schöne und einfache Lösung.

Wenn man zusätzlich auch online Zahlungen entgegen nimmt (Onlineshop, Kartenverkauf, etc.), kann man hier ebenfalls die Zahlungen über Hobex laufen lassen und hat dann alles aus einer Hand.

Disclaimer

Wie erwähnt, ich bin kein Kunde, Partner oder sonst etwas von Hobex. Ich bekomme nichts für diesen Artikel, sondern stelle einfach eine praxisnahe Lösung vor.

Hobex hat jedoch das Leihgerät für einen Monat kostenlos zur Verfügung gestellt.

, ,

Kommentieren und Diskutieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Related posts

Latest posts