-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
payment via mobile app #17
Comments
Prinzipiell geht es jetzt, aber man sollte es noch ausführlich testen, insb. die oben beschriebenen doofen Fälle. Ohne echtes Gerät geht das Testen aber nicht gescheit, weil man da nicht den QRCode einlesen kann. |
wow das geht echt gut :D |
allerdings verwirrt der 2. QR Code und das Verhalten der App ist nicht schön, wenn man aus Versehen den unteren einscannt... Vllt. erst einblenden, wenn man nen Button drückt? |
Wenn die Kasse aufgrund eines Fehlers abstürtzt, bekommt das die App nicht mit. Vielleicht will man auf Kurz oder Lang einen "background Worker" einbauen, der als eigenständiger Prozess kritische Tasks ordentlich verarbeitet und nicht so leicht abstürtzt, wie der Rest. Der könnte dann z.B. dem Server den Absturz melden und in der App kommt eine Erinnerung, dass man den Fehler melden will... |
Wenn die Kasse mitten im Bezahlen abstürzt, ist die Rückmeldung an die
App das geringste Problem daran...
|
@sedrubal der QR Dialog ist jetzt etwas schöner. Den Rest überlasse ich dir als Qt-Lernaufgabe :) |
👍 |
App Bezahlung scheint jetzt gar nicht mehr zu gehen? Die Kasse pollt die ganze Zeit, aber bekommt keinen Warenkorb vom Server. gibt's da eig. nen Timeout, dass nicht unendlich pollt? |
@sedrubal Funktioniert bei mir auch seit vorgestern nicht mehr. |
mit einer alten Version der App ca vom 27.6. (als debug build, fest auf code 1234 gestellt) geht es bei mir weiterhin. Liegt also wohl nicht an unserem Code. |
@jneureuther @sedrubal könnt ihr mal die App gegen die "Referenzimplementierung" für das Kassenterminal-API testen? |
@mgmax habe gerade die aktuelle Developmentversion[1] der App gegen die "Referenzimplementierung" getestet, funktioniert nicht. |
Ich hab letztens eine Fehlerbehandlung für nicht existierende Produkte ergänzt. Beim Testen sollten jetzt eigentlich (TM) keine Abstürze mehr auftreten, außer es wurde irgendwo was aus Versehen nicht abgefangen. |
|
@sedrubal: Anmerkung Patrick: Kannst du bitte Schritte zum Nachvollziehen aufzeigen? Ich konnte diesen Fehler heute nicht reproduzieren. @patkan: Schritte zum Aufhängen:
Fehlermeldung erscheint mittlerweile im (Punkte zum Abhaken hab ich oben eingetragen) |
* recognize HTTP errors and return False in MobileAppCartModel.load() * ADD debug messages to JSONDecodeError and RequestError * relevant to #17
Wie will man unterscheiden zwischen zB Server kaputt und Server wartet noch? |
Im Idealfall schon, aber dann müsste ein funktionierender Server irgendwas zurückgeben... |
* recognize HTTP errors and return False in MobileAppCartModel.load() * ADD debug messages to JSONDecodeError and RequestError * improve comment on function * relevant to #17
@sedrubal kann ich nur bedingt nachvollziehen. Wenn ich http://4.5.6.7/ als URL einstelle, braucht die HTTP-Anfrage immer 10s bis zum Timeout und währenddessen blockiert die GUI. Mit 10s Verzögerung reagiert sie aber auf Eingaben. Ich weiß nicht ob man bei cart_model.load() einen kleineren Timeout einbauen will, aber eigentlich ist das auch egal. |
* recognize HTTP errors and return False in MobileAppCartModel.load() * ADD debug messages to JSONDecodeError and RequestError * improve comment on function * relevant to #17
@patkan habe noch die Exception-Info in die Meldung dazu gepackt und es nach development gepusht |
👍 |
@mgmax in den 10 Sekunden sollte die GUI nicht blockieren... Ich sag nur MVVM ;) Aber ich denke, das sind jetzt mehr Schmerzen, als dass es was bringt... |
Negative Stückzahlen lassen das Terminal sterben. Test-JSON: {"cartCode":"2638286801899210886","items":[{"id":44,"productId":"9011","amount":-5.0}],"status":"PENDING","pushId":"000","sentToServer":1437080976055} |
Dazu kommt:
ist oben in der Liste ergänzt... (Testen kann man sowas gut, wenn man als AppServer |
Zum Testen kann - wie gesagt - #!/usr/bin/env python
import json
from sys import argv
import time
id = int(argv[1])
data = {}
data["cartCode"] = id
data["items"] = []
product = {}
product["id"] = 44
product["productId"] = "9011"
product["amount"] = "5.0"
data["items"].append(product)
data["status"] = "PENDING"
data["pushId"] = "000"
data["sendToServer"] = int(time.time())
f = open(str(id), "w")
f.write(json.dumps(data))
f.close() |
Für "Wenn App Server nicht erreichbar, kommt keine Fehlermeldung . " könnte man noch die Anzahl der Fehlversuche zählen und nach n abbrechen. Oder wontfix, Meinungen? |
The text was updated successfully, but these errors were encountered: