Mitteilungsfeld Speichern bei Zahlungsaabbrüchen

Wir haben beim Bestellvorgang ein Mitteilungsfeld, welches häufig genutzt wird. Nun kommt es vor, dass Leute die Bezahlung bestätigen und dann zu Kreditkartenzahlung weitergeleitet werden, dort aber die Zahlung abbrechen. Nun ist das Mitteilungsfeld natürlich leer, da er anscheinend nach dem vorletzten Bestellschritt sagt, dass die Bestellung abgeschlossen ist und damit das Mitteilungsfeld löscht. Ist es möglich, dass das Mitteilungsfeld weiterhin gespeichert wird?

Derzeit ist es so, dass wenn man den 4. Bestellschritt bestätigt, das Cookie gelöscht wird. Ich würd es aber gerne so haben, dass dies erst passiert, wenn man den letzten Schritt angezeigt bekommt.

Ist das überhaupt möglich? Sehe derzeit leider auch nicht, wie die Cookies überhaupt gesetzt sind. Ich möchte zu dem Feld order_remark die cookies anders setzen. Habe aber keine Ahnung, wo sie gesetzt sind.

Ich denke mal, dass es diese Funktion sein sollte:

public function getOrderRemark()
{
if ( $this->_sOrderRemark === null ) {
$sOrderRemark = false;
// if already connected, we can use the session
if ( $this->getUser() ) {
$sOrderRemark = oxSession::getVar( ‘ordrem’ );
} else {
// not connected so nowhere to save, we’re gonna use what we get from post
$sOrderRemark = oxConfig::getParameter( ‘order_remark’, true );
}

        $this->_sOrderRemark = $sOrderRemark ? oxRegistry::getConfig()->checkParamSpecialChars( $sOrderRemark ) : false;
    }
    return $this->_sOrderRemark;
}

Wahrscheinlich wird die Mitteilung gelöscht, weil es denkt, dass der Kauf abgeschlossen ist. Wie kann ich ihm beibringen, dass die Session noch nicht vorbei ist?

Eigentlich wird die Mittteilung in oxorder->finalizeOrder() gelöscht:

oxSession::deleteVar( 'ordrem' );

Nimm die Zeile mal raus und probiers.