Forum Replies Created

Viewing 7 replies - 1 through 7 (of 7 total)
  • Thread Starter artair

    (@artair)

    Hello @3sonsdevelopment,

    yes, I looked at the source code & did the search in source code (that was my first guess, that it just wasn’t visible). TEST isn’t in the source, too.

    Can it have something to do with any configuration from powerpack?

    Thanks,
    Artair

    Thread Starter artair

    (@artair)

    Hi @3sonsdevelopment,

    thank you for testing this out!
    The additional underscore was just a typo here in my text.
    The Version of PowerPack is 1.5.0. I tested again, when I activate PowerPack, “TEST” goes away.

    Maybe it’s some incompatibility between powerpack & some other plugin which has no other visible effect but this strange behaviour with storefront_header I thought next…?

    But in the last hour I deactivated every other plugin, the only active plugins left are:
    Powerpack, WooCommerce (3.6.5, then updated to 3.7.0) and the drop-in plugin with the code-snipped for testing from above.

    Header stays the same and “TEST” isn’t displayed until I deactivate PowerPack. Then TEST appears again.

    Do you have any idea? I noticed some code in bookstore *specific* for/”against” PowerPack (deactivating some overridden functions I think) – perhaps there is the problem somewhere?

    Bookshop Version is 1.0.18 btw and StoreFront Version: 2.5.1.

    Thread Starter artair

    (@artair)

    More testing & deactivating plugins revealed: storefront powerpack was the problem. After deactivating, the hook works again as expected.

    If it is a general powerpack problem or just in combination with bookstore child theme I don’t know. Switching to Storefront vanilla without childtheme didn’t resolve the problem, deactivating powerpack did.

    Thread Starter artair

    (@artair)

    Hallo @drazenbebic,

    Danke für die Infos und kein Problem.

    Damit sollte dann alles passen – ich nehme an, den zusätzlichen intval() werden Sie auch einbauen?
    (Damit das Zahl/Währungsproblem bei unseren potentiell atypischen Randbedingungen behoben wäre.)

    Danke Ihnen!

    Thread Starter artair

    (@artair)

    Hallo @drazenbebic,

    vielen Dank für die Nennung der Codestelle, dies erleichtert die Fehlereingrenzung.

    Ich habe weitere Tests durchgeführt, sowohl mit Originalcode von Ihnen sowie mit modifizierter PacketPlus.php:

    1.) “Sendung vorbereiten” + Originaldatei
    Mit Originaldatei treten die oben bekannten Fehler auf; d.h. HSCode, Country/Origin und PieceDescription machen die bekannten Fehler.

    2.) “Sendung kaufen” + Originaldatei
    Wenn ich versuche eine Sendung nicht bloß vorzubereiten, sondern direkt die Marke kaufen will, so verschwinden zwei Fehler: HScode (gültiger Code für Audio z.B. 85234920) wird akzeptiert und auch die Origin wird akzeptiert. (Im Dropdown Germany ausgewählt)

    wp-content/plugins/woo-dp-internetmarke/includes/Logger.php:328
    stdClass Object
    (
    [messages] => Array
    (
    [0] => items[0].contents[1].contentPieceValue: The given currency value is invalid. The max. number of characters allowed is 6.
    [1] => items[0].contents[1].contentPieceDescription: size must be between 1 and 33
    [2] => items[0].contents[0].contentPieceDescription: size must be between 1 and 33
    [3] => items[0].contents[0].contentPieceValue: The given currency value is invalid. The max. number of characters allowed is 6.
    )

    )

    wp-content/plugins/woo-dp-internetmarke/includes/Logger.php:326
    Exception thrown at: 2019-03-31 13:40
    Message: Error during Packet Plus order creation. Messages above.
    Code: 0
    Thrown at: /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-content/plugins/woo-dp-internetmarke/includes/services/Shipment.php:773
    Trace:
    [0] WCDPI\Services\Shipment->purchasePAPLLabel() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-content/plugins/woo-dp-internetmarke/includes/services/Shipment.php:190
    [1] WCDPI\Services\Shipment->createShipment() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-content/plugins/woo-dp-internetmarke/includes/routing/Shipment.php:61
    [2] WCDPI\Routing\Shipment->createShipment() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-content/plugins/woo-dp-internetmarke/includes/routing/Shipment.php:46
    [3] WCDPI\Routing\Shipment->handle() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-content/plugins/woo-dp-internetmarke/includes/routing/RoutingManager.php:54
    [4] WCDPI\Routing\RoutingManager->start() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-content/plugins/woo-dp-internetmarke/includes/middleware/MiddlewareManager.php:65
    [5] WCDPI\Middleware\MiddlewareManager->start() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-content/plugins/woo-dp-internetmarke/includes/Internetmarke.php:441
    [6] WCDPI\Internetmarke->startMiddleware() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-includes/class-wp-hook.php:286
    [7] WP_Hook->apply_filters() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-includes/plugin.php:208
    [8] apply_filters() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-content/plugins/woo-dp-internetmarke/includes/admin/MetaBoxes.php:458
    [9] WCDPI\Admin\MetaBoxes->submitShipmentForm() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-includes/class-wp-hook.php:286
    [10] WP_Hook->apply_filters() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-includes/class-wp-hook.php:310
    [11] WP_Hook->do_action() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-includes/plugin.php:465
    [12] do_action() | /is/htdocs/wp13190358_8ELY7EQGI7/mailorder/update/wp-admin/admin-post.php:70

    3.) “Sendung Vorbereiten” + modifizierte Datei
    Ich habe die Datei wie folgt modifiziert:

    array_push($packet_plus_positions, [
                    'contentPieceIndexNumber' => $packet_plus_content_index,
                    'contentPieceHsCode'      => $hs_code,
                    'contentPieceDescription' => substr($product->get_title(),0,31),
                    'contentPieceValue'       => intval($quantity) * intval($item_price),
                    'contentPieceNetweight'   => $item_weight,
                    'contentPieceOrigin'      => 'DE',
                    'contentPieceAmount'      => intval($quantity)
                ]);

    D.h.
    1. per substr den Produkttitle abgeschnitten
    2. testweise ein intval um $item_price hinzugefügt (=> scheinbar bei uns Lösung des Problems “The given currency value is invalid. The max. number of characters allowed is 6.”)
    3. Origin fest auf ‘DE’ gesetzt, da wir nur aus Deutschland verschicken.

    => bis auf den HS-Code Fehler verschwinden alle Fehler.

    4.) “Sendung kaufen” + modifizierte Datei.
    Mit den oben genannten Modifikationen + direktem Kauf der Marke (=> D.h. kein mehrfaches hin- und herreichen des HS-Codes nehme ich an) konnte ich eine Marke vom Typ “Warenpost International S” inkl. “Tracked = JA” und “Harmonized Label” = JA erstehen.

    Diese wird dann auch im System korrekt angezeigt und kann weiterverarbeitet werden.

    (Allerdings nicht storniert werden, da kommt eine Fehlermeldung “Fehler bei Rückerstattung.” und “Bitte beachten: Packet Plus International Produkte können nicht storniert werden.”)

    D.h. soweit ich feststellen kann liegen mehrere unterschiedliche Probleme vor (bei uns):
    1. entweder die Rückgabe von der Schnittstelle der Deutschen Post an uns (HSCode & Origin) funktioniert nicht einwandfrei oder die Speicherung dieser Werte bzw. das erneute Mitsenden beim Kauf nach “Vorbereitung” der Sendung; irgendwo in dieser Kette scheint es zu haken. (Ports laut check im Tab Werkzeuge => Überprüfen von Ports sind alle offen)
    2. Entweder aufgrund unserer Konfiguration mit “ee,cc €” oder aus anderen Gründen gibt es ein Problem mit dem $item_price; dieser kann scheinbar mit einem zusätzlichen intval behoben werden?
    3. Das bekannte Problem mit > 33 Zeichen Länge der Produktnamen.

    Haben Sie eine Idee, wie wir am besten weiter verfahren sollten? Bzw. was davon könnte ggf. durch Sie mit einer neuen Version behoben werden, was eher nicht bzw. nicht in der nächsten Zeit? (=> wir möchten natürlich vermeiden mit einem modifizierten Plugin zu arbeiten)

    Danke Ihnen!

    Thread Starter artair

    (@artair)

    Hallo @drazenbebic,

    Danke für die weitere Hilfestellung!
    Dies bringt bereits etwas mehr Licht ins Dunkel. Im einzelnen aber noch unklar ist:

    contentPieceHsCode: code is invalid
    Der angegebene HS Code ist falsch. Können Sie bitte den HS Code nochmals überprüfen, um sicherzustellen, dass der richtige Wert übermittelt wurde?

    OK, das Problem sollte sich beheben lassen, auch wenn ich gerade nicht weiß, was das System an dem verwendeten Code stört. Ich habe „62101000“ sowie „6210” als auch andere Codes versucht, welche mit Bekleidung zu tun haben (den tatsächlich verwanden Code kenne ich gerade nicht, aber wie gesagt, das sollte sich erledigen, wenn der korrekte Code verwandt wird.
    Gibt die Schnittstelle der Post tatsächlich nur „code is invalid“ zurück oder kann man dort ggf. eine sprechendere / aussagekräftigere Fehlermeldung durchreichen?
    Oder prüft die Post-Schnittstelle gegen die übergebene Zollbeschreibung (Produktname leider aktuell, soweit ich verstehe?) und ist dann der Meinung, der prinzipiell valide Code passe nicht zur Beschreibung?

    contentPieceDescription: size must be between 1 and 33
    Die Zollbeschreibung vom Produkt ist zu Lang. Derzeit übernimmt das Plugin den Produktnamen als Zollbeschreibung und übermittelt diesen an die Schnittstelle. Uns ist klar, dass dies in vielen Fällen nicht optimal ist. In der nächsten Version wird es die Möglichkeit geben die Produktbeschreibungen unabhängig vom Produktnamen zu hinterlegen und zum Schluss im Sendungsassistenten nochmals prüfen/überarbeiten (falls notwendig).

    Wäre es dort möglich, als work-around schlicht ein trim() zu verwenden? (Können wir das ggf. in die functions.php übernehmen oder irgendwo sonst ändern im Code zur Not?)
    Die Produktnamen zu kürzen für den gesamten Shop ist leider keine Option.
    Sie haben vor ~6 Wochen hier (Link Supportforum) erwähnt, dass es ein „Feld für die Beschreibung des Produkts geben“ [wird], müssen wir ggf. ein weiteres (custom?) Feld anlegen & Füllen für die Zoll-Beschreibung?

    contentPieceOrigin: size must be 2 characters
    Das Ursprungsland der Ware wurde nicht ausgewählt oder es wurde ein falscher Wert übermittelt. Hier müsste nämlich der ISO2 Code des Landes übergeben werden (z.B. DE für Deutschland, AT für Österreich, usw.). Genau wie die HS Codes muss das Ursprungsland der Ware pro Produkt angegeben werden (in der nächsten Version auch hinterlegbar pro Produkt).

    In den Feldern rechts tragen wir den HS-Code ein, „Germany“ ist vorausgewählt und stimmt für uns auch. Wo müssen wir diesen zwei-Zeichen-Wert für das Land eingeben? Auch in einem Custom-Feld?
    Popup: https://imgur.com/a/aLw5EAL

    contentPieceValue: The given currency value is invalid. The max. number of characters allowed is 6.
    Der Produktpreis ist zu lang. Die Schnittstelle erlaubt maximal 6 Zeichen (z.B. 123,456 €). Viele Shop-Betreiber haben jedoch die Preise auf 3 oder mehr Nachkommastellen hinterlegt, welches zu diesem Fehler wird. Dies wird dann in der nächsten Version im Sendungsassistenten editierbar sein.

    Die Preise werden im Shop mit zwei Nachkommastellen erfasst; D.h. ein typischer Preis wäre „1.50 €“ oder „21.50 €“. Führt dies ggf. schon zu dem auftretenden Problem? Landet ggf. in der Schnittstelle auch das Leerzeichen und das Euro-Zeichen, wenn in WooCommerce die Einstellung wie folgt gewählt sind:

    View post on imgur.com

    Danke Ihnen!

    Thread Starter artair

    (@artair)

    Hallo @stinaglobal,

    Danke für den Hinweis mit dem Logger!

    Ich habe noch einen Versuch gemacht und dabei das Logging eingeschaltet, weiterhin das Ergebnis im UI “Es wurde keine Sendung ausgewählt”. Das Log gibt etwas mehr Aufschluss, mir aber nicht ganz so viel:

    wp-content/plugins/woo-dp-internetmarke/includes/Logger.php:328
    stdClass Object
    (
    [messages] => Array
    (
    [0] => items[0].contents[3].contentPieceHsCode: code is invalid
    [1] => items[0].contents[2].contentPieceDescription: size must be between 1 and 33
    [2] => items[0].contents[1].contentPieceOrigin: size must be 2 characters
    [3] => items[0].contents[3].contentPieceOrigin: size must be 2 characters
    [4] => items[0].contents[0].contentPieceOrigin: size must be 2 characters
    [5] => items[0].contents[1].contentPieceHsCode: code is invalid
    [6] => items[0].contents[2].contentPieceValue: The given currency value is invalid. The max. number of characters allowed is 6.
    [7] => items[0].contents[0].contentPieceHsCode: code is invalid
    [8] => items[0].contents[2].contentPieceHsCode: code is invalid
    [9] => items[0].contents[1].contentPieceValue: The given currency value is invalid. The max. number of characters allowed is 6.
    [10] => items[0].contents[3].contentPieceDescription: size must be between 1 and 33
    [11] => items[0].contents[3].contentPieceValue: The given currency value is invalid. The max. number of characters allowed is 6.
    [12] => items[0].contents[2].contentPieceOrigin: size must be 2 characters
    [13] => items[0].contents[0].contentPieceValue: The given currency value is invalid. The max. number of characters allowed is 6.
    )

    )

    Außerdem direkt noch eine Frage: kann man den HScode z.B. in einem Custom Feld zum Produkt hinterlegt & direkt an die Post-Schnittstelle übergeben werden? (Ansonsten muss ja ein Mitarbeiter diesen Wert im Bestellprozess manuell erfassen. Kann man das irgendwie vermeiden?

Viewing 7 replies - 1 through 7 (of 7 total)