Der Martin: kein POST nach Redirect

Beitrag lesen

Hi,

Vielleicht gehe ich noch etwas ins Detail!

das erweist sich als notwendig. :-)

wir betreiben einen Online-Shop. Der Kunde drückt auf bestellen. Das Formaular wird abgesandet und in einem Skript verarbeitet. Nun soll geprüft werden, ob der Kunde Vorkase oder Kreditkarte gewäht hat. Wenn Kreditkarte gewählt wurde, müssen die Daten (Name, Gesamtbetrag etc.) per POST  zu dem Payment-Anbieter gesandt werden.

So, also an einen Fremdserver. Dann ist natürlich mit Sessions nichts zu machen.

Ich sehe zwei Möglichkeiten.

1. Setzt euch mit dem "Payment-Anbieter" in Verbindung und fragt, ob es nicht eine einfache Rohdaten-Schnittstelle (nicht HTML) gibt, mit der man a) die Zahlungsdaten übermitteln und b) das Ergebnis abrufen kann (also ob die Zahlung wirklich in Ordnung ist oder nicht). Möglicherweise hat der Anbieter schon eine derartige Schnittstelle.
Die Client-Seite dieser Schnittstelle müsstet ihr in eurem Shop-Script implementieren.

2. Falls 1. nicht geht, müsstet ihr von eurem Shop-Script einen regulären HTTP-POST-Request an den Payment-Anbieter absetzen, das zurückkommende HTML parsen und die Ergebnisdaten da rausfischen. Vom Prinzip her ist diese Lösung der erstgenannten ähnlich, nur dass das Response-Format HTML ist und für den aktuellen Zweck viel "Ballast" enthält (den der Anbieter auch noch jederzeit ändern könnte).

In jedem Fall halte ich es für eine schlechte Idee, den Kunden mit einem Redirect weiterzureichen, denn dann ist er erstmal "weg" von eurer Site. Das wäre nicht schön; eleganter ist es doch in jedem Fall, wenn direkt im Shop als letzter Schritt angezeigt wird: Vielen Dank, wir haben Ihre Zahlung erhalten.

Ciao,
 Martin

--
In Ägypten haben früher 150000 Leute 35 Jahre lang an einer Pyramide gearbeitet. Aber bei uns arbeiten doppelt so viele Leute doppelt so lange allein an der Baugenehmigung.
  (Dieter Nuhr, deutscher Kabarettist)