customer_281/szeged/preauth/README
2022-06-04 20:32:27 +02:00

51 lines
1.8 KiB
Plaintext

Idee fuer pre-authorization:
Es gibt bei der Pre-Auth. zwei Schritte.
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.
PSA1 macht Schritt 1, PSA2 Schritt 2.
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_<psa_serien_nummer>_<psa_zaehler>" 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_<psa_serien_nummer>_<psa_zaehler>" 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.