Sendung gleich automatisch storniert
-
Guten Tag,
Nach einer Bestellung wird die Sendung (und das entsprechende Label) erzeugt. Allerdings wird diese Sendung gleich ohne Server-Log oder ?hnliche Erkl?rungen storniert. Es geht um eine DHL-Sendung. Auf der DHL-Seite ist die Stornierung sichtbar, allerdings ohne Grund. Dieses Ph?nomen passiert jedes Mal.
Wenn wir die Sendung für die gleiche Bestellung noch mal manuell über den “Sendungen”-Bereich von Woocommerce–> Bestellungen generieren, funktioniert alles gut und das Label bleibt ohne Stornierung.
Wo k?nnte man den Grund der Stornierung finden, falls er von Germanized kommt? Hat Germanized dazu eigene Logs?
Wir nutzen WordPress 6.2.2 und Germanized for WooCommerceVersion 3.13.3.
Vielen Dank Voraus!
-
This topic was modified 1 year, 6 months ago by
nativevtl.
-
This topic was modified 1 year, 6 months ago by
-
Hi,
das klingt recht merkwürdig – wird denn nur das Label storniert und die Sendung bleibt bestehen (d.h. wird nicht gel?scht)? Wird das Label wirklich in Germanized auch gel?scht, d.h. ist anschlie?end nicht mehr abrufbar? Habt ihr isoliert getestet, d.h. alle Plugins bis auf Woo und Germanized deaktiviert und ein Default-Theme (kein Child-theme mit eigenen Anpassungen) aktiviert?
Grü?e
Moin,
also eine Verfolgung über Logs ist nicht m?glich?
Tats?chlich die ganze Sendung verschwindet und über “Woocommerce –> Bestellungen” nicht abrufbar. Per Code haben wir folgendes festgestellt (siehe Kommentare in dem Code)
add_action('woocommerce_gzd_shipment_created_label', function($shipment) { try { if($shipment instanceof \Vendidero\Germanized\Shipments\Shipment) { $order_id = $shipment->get_order_id(); //ok $label = $shipment->get_label(); //ok $tracking_id = $label->get_number(); //ok wird richtig zugewiesen $label_path = $label->get_file(); //NOK ist leer also '' } else { throw new Exception('Unable to get shipment: ' . $shipment); } } catch(Exception $e) { error_log('Caught exception: ' . $e->getMessage()); } }, 2000);
wie gesagt, dabei wird auch keine Exception erzeugt.
Die stornierte Sendung in DHL-Web-Interface hat richtigerweise die Referenz: “Sendung #X zur Bestellung Y”. Gewicht, Ma?e, Adresse etc. passen auch. Also die Erzeugung funktioniert richtig.
Wenn wir über Woocommerce–>Berstellungen per Mausklick eine neue Sendung und ein neues Label erzeugen, l?uft alles durch und storniert wird auch nichts. Die Referenz des neuen Labels ist dann “Sendung #X+1 zur Bestellung Y”.
Wir testen die vorgeschlagenen Konfiguraitonen noch in den kommenden Tagen durch. Sind nur nicht sicher, wie wir es reproduzieren. In den vielen Tests vorher, ist es nicht aufgefallen. Daher die Frage über die Logs gewesen.
Viele Grü?e!
Hi,
ok, wenn auch die dazugeh?rige Sendung gel?scht wird, denke ich, dass das eigentliche Problem an einer anderen Stelle sitzt. Das Stornieren des Labels wird im Zweifel beim L?schen der übergeordneten Sendung automatisch ausgel?st (was ja auch korrekt ist). Ich denke, dass ein Ansatzpunkt die Validierung der Sendungen ist. Es werden z.B. Sendungen automatisch gel?scht, wenn der Bestellstatus in einen bestimmten Status wechselt (z.B. storniert, zurückerstattet o.?.).
Ihr k?nnt euch natürlich auch selbst einen Log basteln, indem ihr euch in das delete-Event der Sendung einhooked. Beispiel:
add_action( 'woocommerce_gzd_shipment_deleted', function( $id, $shipment ) { wc_get_logger()->info( wc_print_r( debug_backtrace(), true ), array( 'source' => 'shipments' ) ); }, 10, 2 );
Welchen Status haben denn eure Sendungen, wenn ein Label erstellt wird? Bleibt der Status auf in Bearbeitung und wechselt nicht automatisch auf versandt?
Grü?e
Guten Abend,
wir testen noch mit den vorgeschlagenen Ma?nahmen in den kommenden Tagen.
Wenn ich mir die Anmerkungen der Bestellung anschaue, sehe ich ?Status der Bestellung von Zahlung ausstehend auf In Bearbeitung ge?ndert.“ Also nein, ?versandt“ wird nicht gesetzt. Guter Hinweis. Es scheint, dass etwas nicht ganz richtig gelaufen ist. Aber dadurch sehen wir auch, dass die L?schung der Sendung erst recht mysteri?ser geworden ist, oder?
Viele Grü?e!
Hi,
naja, die Frage ist, was mit der Sendung/Validierung konkret passiert. Die Sendung wird u.a. auch dann gel?scht, wenn sie keine Positionen mehr enth?lt. Habt ihr denn in den Germanized-Einstellungen für den jeweiligen Versanddienstleister (DHL > Automatisierung) aktiviert, dass die Sendung automatisch als versandt markiert werden soll, sobald ein Label erzeugt wurde?
Unabh?ngig davon w?re der log sicher aufschlussreicher.
Grü?e
Moin noch mal,
Ja wir haben die Einstellung von Anfang aktiviert, dass die Sendung automatisch als versandt markiert werden soll.
Wir haben auch ein Mindestgewicht von 0,5kg angegeben. Unsere Sendungen sind oft 0,2kg. Soweit ich verstehe wirkt diese Option als Sicherheit, indem max(Sendungsgewicht, 0,5) angewendet wird. Es nimmt keine Stornierung vor. Korrekt?
Wir würden jetzt mit dem Log-Script Daten sammeln. Sollen wir bisdahin diesen Threat offen lassen, oder lieber schlie?en und wieder aufmachen?
Sch?ne Grü?e!
Hi,
Es nimmt keine Stornierung vor. Korrekt?
Korrekt, da wird keine Stornierung vorgenommen.
Wir würden jetzt mit dem Log-Script Daten sammeln. Sollen wir bisdahin diesen Threat offen lassen, oder lieber schlie?en und wieder aufmachen?
Das kann ruhig offen bleiben. Insofern sich das bei euch reproduzieren l?sst, w?re es gut, wenn ihr das im Rahmen einer isolierten Staging-Umgebung testen würdet – dann kann man sicher schnell herausfinden, was da konkret passiert. Habt ihr HPOS in Woo bereits aktiviert und ggf. den zus?tzlich Sync der posts-Tabelle aktiviert?
Grü?e
Moinsen,
wir haben gute und schlechte Nachrichten.
Gute Nachricht: Wir k?nnen das Issue in unserer Testumgebung (MAMP) erzeugen.
Schlechte Nachricht: Die Woo-Sendung wird nicht erzeugt und deswegen auch nicht gel?scht. Das ist unsere eigene Interpretation, da wir nichts in den Logs gefunden haben. Es scheint nur das Versandlabel bei DHL erzeugt und storniert zu werden. Ich hatte gedacht, dass es ohne die Erzeugung der Sendung nicht m?glich w?re.
Weitere Infos: Beim Testen haben wir als Zahlungsmethode überweisung genommen. Status-?nderung wurde von Woo wie folgt angemerkt: “überweisung erwartet Status der Bestellung von Zahlung ausstehend auf In Wartestellung ge?ndert.”
Kann das Problem vielleicht mit den folgenden Einstellungen zusammenh?ngen?
Moin,
ohne Sendung kann kein Label existieren, d.h. es muss zumindest tempor?r vorab eine Sendung existiert haben. Wenn die Sendung gel?scht wird, wird auch das dazugeh?rige Label automatisch gel?scht (und ggf. storniert). Ein andere technische M?glichkeit existiert nicht.
Nutzt ihr HPOS in Woo (s. WooCommerce > Einstellungen > Erweitert > Funktionen)?
K?nnt ihr die Problematik reproduzieren anhand einer konkreten, getesteten Bestellung?
Grü?e
Hallo zusammen,
wir haben das Problem gefunden und behoben. Wir haben irgendwo im Code (noch w?hrend der Bearbeitung der Bestellung) folgendes gehabt:
$order->save();
Und das hat alles geschossen.
Das erkl?rt auch den Grund, warum bei der Erzeugung der Bestellung, das Problem auftaucht und nicht wenn wir danach einfach eine neue Sendung über den Woo-Interface generieren.
übrigens, HPOS Einstellungen haben wir geprüft. Es ist nicht aktiviert. Lohnt es sich wirklich bzw. warum hattet Ihr in diesem Zusammenhang die Frage gestellt?
Letzter Punkt. Hattet Ihr Interesse in eurem Plug-In einen Zugriff auf das DHL Label “Link/URL” anzubieten. Dann kann man sich sparen, die Label-Datei auf dem Server runterzuladen. Im API Response ist der Link so zu finden: response.json()[‘items’][i][‘label’][‘url’]
Vielen Dank für euren Beistand! Ihr seid top!
Sch?ne Grü?e.
-
This reply was modified 1 year, 6 months ago by
nativevtl.
Hi,
freut mich zu h?ren – habe mir ja fast gedacht, dass da irgendeine individuelle Sache dazwischenh?ngt, da die Problematik recht merkwürdig und diffus klang ??
Lohnt es sich wirklich bzw. warum hattet Ihr in diesem Zusammenhang die Frage gestellt?
Inwiefern lohnen? Aus Performance-Sicht? Ich würde es grunds?tzlich durchaus empfehlen um die posts-Tabelle nicht unn?tig zu vergr??ern (was das Frontend durchaus verlangsamen kann). Ich habe nur gefragt, da wir in diesem Zusammenhang bereits den einen oder anderen Edge-Case gefunden haben, der im n?chsten Update behoben wird.
Hattet Ihr Interesse in eurem Plug-In einen Zugriff auf das DHL Label “Link/URL” anzubieten. Dann kann man sich sparen, die Label-Datei auf dem Server runterzuladen.
Nicht so richtig, da die ganze weiterführende Logik darauf aufsetzt, das die Labels wirklich physisch auf dem Server liegen. Natürlich k?nntet ihr hier mit einer Individualisierung ansetzen und ggf. via Hooks/Filter eingreifen um das zu umgehen. Ansonsten w?re es auch m?glich, den (Download-) Link direkt aus Germanized bzw. dem WP-Backend zu verwenden um das Label als Download (für Admins) bereitzustellen.
Grü?e
OK verstanden und noch mal vielen Dank!
Gern. Viel Erfolg weiterhin!
Grü?e
-
This reply was modified 1 year, 6 months ago by
- The topic ‘Sendung gleich automatisch storniert’ is closed to new replies.