Hallo, mir ist eine fehlende Option aufgefallen.
Es kommt hin und wieder mal vor, dass Zahlungen "erfolgen" wie es sein soll, aber die Bestellung vom System gelöscht wird. Sprich, Geld da aber keine Bestellung mehr vorhanden.
Bei Option temporäre Bestellung ist aktiv.Dies ist etwas ärgerlich, da wir dann die Bestellung meist manuell anlegen müssen. Bei einer Position nicht schlimm, aber bei 20 -30 Positionen schon. Vom Supportaufwand ganz zu schweigen.
Ich hatte dies nun etwas unkonventionell so gelöst. Eventuell kann man hier noch die Option einbauen, Temporäre Bestellungen löschen JA / NEIN .
Hinweis:
Bei allen Zahlarten wird der Status bei uns automatisch ausgelesen, für Sofort halt diese Tabelle.
Diese Bestellungen werden zwar Storniert aber wenn das Geld doch eintreffen sollte haben wir noch die Bestellung komplett.
SofortLibPayment.php // betroffene Stelle Zeile 321
function _check_temp_order
() { global $order; if (isset($_SESSION['sofort'][$this->code])) { $check_query = xtc_db_query
("SELECT currency, orders_status
FROM " . TABLE_ORDERS
. "
WHERE orders_id = '" . (int
)$_SESSION['sofort'][$this->code]['oID'] . "' "); $result = xtc_db_fetch_array
($check_query); if ($result['orders_status'] == constant('MODULE_PAYMENT_'.strtoupper($this->code).'_TMP_STATUS_ID') || $result['currency'] != $order->info['currency'] || $_SESSION['cart']->cartID != $_SESSION['sofort'][$this->code]['cartID']) { // delete canceled order // hier eventuell die Option Abfragen löschen JA / NEIN ### $this->_remove_order((int)$_SESSION['sofort'][$this->code]['oID']);
//Aktuell unsere Lösung. xtc_db_query
("UPDATE `sofort_sofortueberweisung_gateway`
SET `status` = 'loss'
WHERE `order_id` = '".(int
)$order_id."' LIMIT 1"); unset($_SESSION['sofort'][$this->code]); unset($_SESSION['tmp_oID']); } } } Grüße Mikro