• Resolved stoffpalast

    (@stoffpalast)


    Hallo,
    da wir Meterware verkaufen (Stoffe) sind in unserem Shop auch dezimale Mengenangaben und Mengen kleiner als 1 möglich. Zum Beispiel 0,3 Meter eines bestimmten Stoffes.
    Das Paypal Plus PlugIn wirft aber leider folgende Fehlermeldung aus, wenn eine Ware mit einer Menge kleiner als 1 im Warenkorb liegt. Mit Mengen größer als 1, selbst wenn diese dezimal sind, gibt es keine Probleme.
    Was kann ich tun?

    Warning: Division by zero in wp-content/plugins/woo-paypalplus/src/WC/Payment/CartItemData.php on line 50

    Fatal error: Uncaught InvalidArgumentException: Price is not a valid numeric value in wp-content/plugins/woo-paypalplus/lib/PayPal/Validation/NumericValidator.php:23 Stack trace: #0 wp-content/plugins/woo-paypalplus/lib/PayPal/Api/Item.php(129): Inpsyde\Lib\PayPal\Validation\NumericValidator::validate(‘inf’, ‘Price’) #1 wp-content/plugins/woo-paypalplus/src/WC/Payment/OrderDataCommon.php(104): Inpsyde\Lib\PayPal\Api\Item->setPrice(‘inf’) #2 wp-content/plugins/woo-paypalplus/src/WC/Payment/OrderDataCommon.php(79): WCPayPalPlus\WC\Payment\OrderDataCommon->get_item(Object(WCPayPalPlus\WC\Payment\CartItemData)) #3 wp-content/plugins/woo-paypalplus/src/WC/Payment/WCPayPalPayment.php(200): WCPayPalPlus\WC\Payment\OrderDataCommon->get_item_list() #4 wp-content/plugins/woo-paypalplus/src/WC/Payment/WCPayPalPayment.php(136): WCPayPalPlus\WC\Payment\WCPayPalPayment->get_or in wp-content/plugins/woo-paypalplus/lib/PayPal/Validation/NumericValidator.php on line 23

    The page I need help with: [log in to see the link]

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Support Andreas W.

    (@aweissinpsyde)

    Hello @stoffpalast,

    kannst du bitte folgendes Formular https://inpsyde.com/paypal-plus-fuer-woocommerce-pdf-handbuch-und-support/ ausfüllen und die Logfiles und Screenshots mit dranhängen

    Thread Starter stoffpalast

    (@stoffpalast)

    Erledigt.
    Das Dilemma ist, dass wir nicht alle PlugIns deaktivieren können, da sonst die Funktionalität der Dezimalzahlen bei der Mengenangabe nicht mehr gegeben ist, die ja das Problem offenbar hervorruft.

    Hallo, ich habe das gleiche Problem wenn die eingegebene Menge kleiner als 1 Einheit ist.
    @stoffpalast: wurde das Problem bei Ihnen schon geloest? Wenn ja, konnte ich bitte wissen wie?
    Vielen Dank!
    jhobrecker

    Thread Starter stoffpalast

    (@stoffpalast)

    Hi,
    das Gleiche offenbar wie bei Ihnen: habe ein intval in ein floatval umgeändert.
    haben Sie einen Fix erhalten?
    Ich habe das selber gemacht, allerdings nur an einer Stelle.

    Viele Grüße

    Plugin Support Andreas W.

    (@aweissinpsyde)

    Hallo @stoffpalast, @jhobrecker,

    temporäre könnte man Dank einen freundlichen Benutzers erhalten und versuchen dies in kommenden Updates zu ändern.

    Es muss in der Datei /woo-paypalplus/src/WC/Payment in der Zeile 60 folgendes:

    return intval( $this->data[‘quantity’] );

    in

    return floatval( $this->data[‘quantity’] );

    abändern.

    Bitte testen.

    Thread Starter stoffpalast

    (@stoffpalast)

    Ah ok, der freundliche User war ich.
    Die Datei ist:
    \src\WC\Payment\CartItemData.php

    Sagt ihr Bescheid, wenn es dazu offizielle Änderungen gibt und/oder das im nächsten Update integriert ist?
    Ich habe nur diese eine Zeile geändert, habe aber natürlich nicht testen können, ob dann an allen Stellen alles korrekt ist. Es wirft nur einfach keinen Fehler mehr aus und übergibt zumindest die Menge korrekt für das Cart Item.

    Plugin Support Andreas W.

    (@aweissinpsyde)

    @stoffpalast

    Der Code sollte nicht verwendet werden, wenn mein kein Plugin für die Berechnung z.B. von Meterware verwendet, da Werte unter 1 von WooCommerce nicht zulässigt sind. Mann kann auch den Code von WooCommerce anpassen.

    Unsere Entwickler schauen sich das bereits an, schreiben aber auch: “WooCommerce consider the quantity as integer not float.”

    Es scheint, als greift hier das eine in das andere ein. Weil von WooCommerce so nicht vorgesehen/zulässigt, schlägt auch PayPal Alarm, wenn kleiner 1.

    Wir werden hier auf jeden Fall nach eine Lösung suchen und in einem Update veröffentlichen.

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Division by Zero Error’ is closed to new replies.