diff --git a/szeged/preauth/README b/szeged/preauth/README index 28c1aef..22a3479 100644 --- a/szeged/preauth/README +++ b/szeged/preauth/README @@ -1,13 +1,50 @@ -Idee fuer preauth: +Idee fuer pre-authorization: -Es gibt bei der Prae-Auth. zwei Schritte. -Der 2. Schritt kann von einem andreren PSA durchgefuehrt werden. +Es gibt bei der Pre-Auth. zwei Schritte. -Woher weiss PSA1 dass die Pre-Auth. von einem anderen PSA 2 geschlossen wurde? +1. Schritt: hier wird ueberprueft, ob die Karte den Preis bezahlen kann. +2. Schritt: (notification) hier wird die Karte dann mit dem Endpreis belastet. + Kann von einem anderen PSA durchgefuehrt werden. -Man legt zwei Dateinen an, und checkt sie ins Rep. ein. +PSA1 macht Schritt 1, PSA2 Schritt 2. -Nur PSA 1 kann die loeschen. +Woher weiss jetzt PSA1, dass PSA2 Schritt 2 gemacht hat? + +Jeder Kunde hat ein Repository (schon wegen dem PSA-Update). +Hier koennte man ein weiteres Verzeichnis unterbringen namens 'preauth'. + +In diesem Verzeichnis werden pro Vorgang zwei Dateien angelegt. + +Schritt 1: + +Datei "open_preauth__" wird angelegt. +Hier kann man dann alle moeglichen Daten eintragen. + +Die Datei wird im Repository eingecheckt. + +Schritt 2: +PSA2 macht zunaechst ein 'git pull'. +Damit sieht er, dass (mindestens) eine Pre-Auth. offen ist. +Sie ist nicht von ihm, da seine Seriennummer eine andere ist. +(Eventuell koennte man es so machen, dass in der Datei eine Kennung fuer +die Kreditkarte enthalten ist, so dass der Kunde nichts eingeben muss.) + +Die Transaktion wird abgeschlossen, und PSA2 erzeugt die +Datei "close_preauth__" und checkt sie ein. + +Beim neachsten Bezahlvorgang oder Tagesschnitt macht PSA1 ein 'git pull' +und sieht dass die Pre-Auth abgeschlossen wurde. + +PSA1 kann nun die beiden Dateien aus dem Repository entfernen. + +Der Punkt ist wichtig: *nur* PSA1 kann das, also immer der PSA, der die +Sache angefangen hat, kann Daten loeschen. + +Frage: Kann man 2 Bezahlvorgaenge mit derselben Kreditkarten haben? +Im Prinzip offenbar ja, aber falls man das macht, dann kann der erste Vorgang +nicht mehr rueckgaengig gemacht werden. Nur fuer den jeweils letzten Vorgang +ist das moeglich. +Hier muesste man den Kunden dann fragen, was er tun will: erst den ersten +Vorgang bezahlen (Schritt 2), oder was Neues auf PSA2 anfangen. -Seriennummer ist fuer jeden PSA eindeutig.