tenner Posted March 31, 2008 Report Share Posted March 31, 2008 Hallo, leider kann ich nicht im saferpay download bereich posten. Daher poste ich hier. Sollte das Forum falsch sein, bitte (@admin) topic moven. Frage zum saferpay bezahl modul Folgender Fehler tritt manchmal auf: An saferpay übermittelte OrderIds werden teilweise doppelt vergeben (bei zeitlich nahe gelegenden Be- stellungen). Folgender Saferpay Quellcode (saferpaygw.php, Zeile 106) bestimmt anscheinend die OrderID: $query = xtc_db_query("SELECT MAX(orders_id)+1 as new_id FROM " . TABLE_ORDERS ); Hierbei wird die neue OrderId wie folgt gesetzt (saferpaygw.php, Z.113): $this->orderid = $orders['new_id']; So, wie es aussieht wird die OrderID, die an saferpay übermittelt wird, wie folgt generiert : Die Höchste OrderID wird um eins erhöht als neue OrderID verwendet. Da diese OrderID zu diesem Zeitpunkt noch nicht in die Datenbank geschrieben wird, ist diese Technik meiner Meinung doch fehleranfällig. Denn wenn jemand zeitnah auch eine Bestellung aufrufen möchte, dann erhält er die gleich OrderID? Hat irgendjemand auch das Problem und eine Workaround gefunden ? Danke im voraus. Gruß! Link to comment Share on other sites More sharing options...
PepeG Posted February 19, 2010 Report Share Posted February 19, 2010 Hi tenner, hast du eine lösung gefunden, stehe vor dem gleichen problem. kurz danach kommt ja noch folgendes: // order_id + Time XXX_HHMMSS #$this->orderid .= '_' . date("YmdHis"); //the checking for a posibility to send a request // die ID wird hier um das Datum erweitert. So wird die ID wenigstens wieder eindeutig. ...wird die an saferpay übermittelte ID nach getätigtere Zahlung wieder zurück an den Shop übermittelt. Dann könnte es hier Probleme wegen der nicht mehr übereinstimmenden ID gegeben. es wurde auch eine bestellung saferpay zugeordnet, die eigentlich per nachnahme im shop eingegangen ist. Danke und Grüße Pepe Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.