• Resolved wolkenkrieger

    (@wolkenkrieger)


    AMOUNT_MISMATCH /purchase_units/@reference_id==’default’/amount/value Should equal item_total + tax_total + shipping + handling + insurance – shipping_discount – discount.

    Occurs, if i use Pay Upon Invoice (Rechnungskauf mit Ratepay … here in Germany) in combination with a coupon, which gives a discount AND a free shipping.

    With the “normal” PayPal Payment no error occurs.

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

    (@aweissinpsyde)

    Hello @wolkenkrieger

    vielen Dank für deine Nachricht. Welche Produktpreise verwendest du? Mit 2 oder mehr Stellen nach dem Komma? I.d.R. kann das vorkommen, wenn merh als 2 Stellen nach dem Komma verwendet werden.

    Evtl. kannst du auch einmal das ohnen die anderen Plugins/Optionen testen, um sehen zu k?nnen ob Rechnungskauf überhaupt funktioniert.

    Vielen Dank
    Andreas

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    Hallo Andreas,

    der Rechnungskauf als solcher funktioniert einwandfrei. Ich kann sogar denselben Warenkorb abschicken, nachdem ich den Gutschein entfernt habe.

    Falls du im Reiter “Allgemein” den Punkt “Anzahl der Dezimalstellen” meinst, dann sind es 2 … ich wüsste sonst nicht, wo ich das noch einstellen k?nnte (Woocommerce-Neuling).

    Es kommen als preismanipulierende Plugins das Woocommerce-eigene Marketing-Plugin und Rightpress Woocommerce Dynamic Pricing & Discounts (https://support.rightpress.net/hc/en-us/categories/200133263-WooCommerce-Dynamic-Pricing-Discounts) zum Einsatz.

    Letzteres kann ich auch deaktivieren, ohne an der Fehlersituation etwas zu ?ndern.

    Weil mein Englisch nicht das sattelfesteste ist^^: der Fehler tritt NUR beim “Rechnungskauf mit Ratepay” auf. Alle anderen PayPal – Zahlungen sind mit dem Gutschein problemlos durchgelaufen laut Log. Wobei Kartenzahlung bei mir zwar im Konto freigeschaltet, im Shop aber nicht aktiviert ist … dazu kann ich also keine Aussage treffen.

    Danke und Gru?

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    [Nachtrag]

    Aus dem Log:

    Request Body: {“intent”:”CAPTURE”,”processing_instruction”:”ORDER_COMPLETE_ON_PAYMENT_APPROVAL”,”purchase_units”:[{“reference_id”:”default”,”amount”:{“currency_code”:”EUR”,”value”:”9.87″,”breakdown”:{“item_total”:{“currency_code”:”EUR”,”value”:”13.90″},”shipping”:{“currency_code”:”EUR”,”value”:”0.00″},”tax_total”:{“currency_code”:”EUR”,”value”:”0.65″},”discount”:{“currency_code”:”EUR”,”value”:”4.67″}}} […]

    Amount sollte in dem Fall eigentlich 9.88 sein … das scheint mir ein Rundungsfehler zu sein?!

    Plugin Support Andreas W.

    (@aweissinpsyde)

    Hallo @wolkenkrieger

    ja, das sieht nach einem Runderfehler aus. Gibst du die Preise mit oder ohne MwSt. an? Empfehlenswert w?re hier die Eingabe von Nettopreisen, es muss aber darauf geachten werden, dass die Preise im Shop inklusive Mehrwertsteuer ausgeben werden.

    WooCommerce → Einstellungen → Mehrwertsteuer → Steuer Optionen

    Evtl. kannst du das einmal so testen. Zus?tzlich kannst du unter WooCommerce → Einstellungen → Allgemein → W?hrungsoptionen die Anzahl der Dezimalstellen auf vier umstellen.

    Somit hat WooCommerce bei der Berechnung der einzelnen Summen mehr Rundungsspielraum und die Rundungsfehler sollten verschwinden.

    Bitte mal so durchtesten.

    Vielen Dank
    Andreas

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    Ich gebe meine Preise brutto ein und das muss aus organisatorischen Gründen auch so bleiben.

    Das Hochsetzen auf 4 Nachkommastellen kann ich testen.

    Dass du dich in Punkto Nachkommastellen widersprichst, ist dir bewusst, oder? In deiner ersten Antwort schreibst du, dass der Fehler vorkommen kann, wenn man mehr als 2 Nachkommastellen nutzt und nun schl?gst du mir als m?gliche Probleml?sung genau das vor?

    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    [Nachtrag]

    Wenn ich, wie von dir empfohlen, die Nachkommastellen auf 4 einstelle, werden die Preise im Shop mit 4 Nachkommastellen angezeigt.

    Entweder, es gibt eine M?glichkeit, das zu unterbinden oder das Hochsetzen der Nachkommastellen ist keine Option!

    [Nachtrag 2]

    Das Hochsetzen der Nachkommastellen auf 4 würde das Problem als solches aber l?sen Hab’s gerade erfolgreich getestet. Bleibt also die Frage, wo ich das so einstellen kann, dass im Frontend in Deutschland übliche und gesetzl. vorgeschriebene Preise mit 2 Nachkommastellen angezeigt werden ??

    Plugin Support Andreas W.

    (@aweissinpsyde)

    Hallo @wolkenkrieger

    wir müssen hier verschiedene Kriterien ein- bzw. ausschliessen, daher auch das mit den 2 bzw. 4 Stellen.

    Um 2 Stellen im Frontend anzeigen zu lassen, kannst du folgende Funktion verwenden:

    function kb_decimals_price_args($args) {
    $args[‘decimals’] = 2;
    return $args;
    }
    add_filter(‘wc_price_args’, ‘kb_decimals_price_args’, 10, 1);

    den Code musst du in deiner Theme function.php einfügen

    Mit besten Grüssen
    Andreas

    • This reply was modified 2 years, 1 month ago by Andreas W..
    Thread Starter wolkenkrieger

    (@wolkenkrieger)

    Hallo @aweissinpsyde

    Das Hochsetzen der Nachkommastellen rei?t an einer anderen Stelle jetzt ein Loch ??

    In der Gateweay-Klasse für das PUI wird im Hook ‘woocommerce_email_before_order_table’ der Text erstellt, den der Kunde als Zahlungsinfo in s?mtlichen Mails zu sehen bekommt und dort wird der Preis nicht via wc_price(), sondern via ‘{$order->get_currency()}{$order->get_total()}’ ausgegeben.

    Sprich: in den Kundenmails steht der Kaufpreis dann mit 4 Nachkommastellen drin.

    Es w?re also wirklich wichtig, dass hier eine L?sung gefunden wird, die keiner “Tricks” bedarf und rechtssicher einzusetzen ist ??

    Mir ist sowieso schleierhaft, warum man einen before_order_table (!!) Text mit einer Gru?formel beendet ?? Mal ganz abgesehen davon, dass das Zahldatum falsch formatiert ist (d-m-Y) und man in Deutschland nicht EUR 12,34 schreibt, sondern 12,34 € (oder EUR).

    Guckt sich das Ergebnis keiner an, bevor man sowas in release gehen l?sst??

    Und ganz fein ist auch, dass der hook mit einer anonymen Funktion realisiert wurde :/

Viewing 8 replies - 1 through 8 (of 8 total)
  • The topic ‘AMOUNT_MISMATCH – Error with Pay Upon Invoice + “Free shipping” coupon’ is closed to new replies.