# Paypal Schnittstelle - Kritik an Fehlerbehebung

**URL:** https://forum.shopware.com/t/paypal-schnittstelle-kritik-an-fehlerbehebung/11900
**Category:** Shopware 3.5
**Tags:** general
**Created:** [28. Februar 2013 um 22:32 UTC](https://forum.shopware.com/t/paypal-schnittstelle-kritik-an-fehlerbehebung/11900 "2013-02-28T22:32:25Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)
#### Post date: [28. Februar 2013 um 22:32 UTC](https://forum.shopware.com/t/paypal-schnittstelle-kritik-an-fehlerbehebung/11900/1 "2013-02-28T22:32:25Z")

</div>

Guten Abend, Ich muss jetzt mal das alte Thema Paypal-Schnittstelle aufgreifen. In der Vergangenheit heißt diskutiert. z.B. hier: [installation-einstieg-f9/paypal-checkout-fehler-api-fehlercode-10413-t429.html](http://forum.shopware.de/installation-einstieg-f9/paypal-checkout-fehler-api-fehlercode-10413-t429.html) Alte Paypalschnittstelle hatte die Bestellpostionen mit Namen etc. an Paypal übermittelt. So wie es auch korrekt ist und für den Kunden optisch gut dargestellt ist. Eine sOrderID etc. ist dort einfach Quatsch. Dann kam es zu sporatischen Fehler / API Error welche man nicht nachvollziehen konnte. Dann wurde diese Funktion einfach entfernt. Der Fehler kommt nicht von Paypal, sonder weil Shopware die Netto-Summe falsch berechnet! Die einfachste Lösung ist natürlich dies direkt auszukommentieren, was eig. sehr schwach ist, da man dies ja nicht Lösung nenne kann. Nach langen Support Tickets und eigenen Mitschitten wurde einiges klar. Hier die relevanten Variablen: ====================== AMT=148.40 SHIPPINGAMT=14.00 HANDLINGAMT=0 TAXAMT=21.46 ITEMAMT=112.94 L\_NAME0=ARTIKEL1 L\_NUMBER0=SW0001 L\_AMT0=63.03 L\_TAXAMT0=11.97 L\_NAME1=ARTIKEL2 L\_NUMBER1=SW0002 L\_AMT1=49.92 L\_TAXAMT1=9.48 ====================== TaxAMT und ItemAMT müssen dabei der Summe der Line Items - also L\_AMT0 + L\_AMT1 sowie L\_TAXAMT0 und L\_TAXAMT1 entsprechen. In unserem Beispiel haben wir: L\_AMT0 = 63.03 L\_AMT1 = 49.92 ============= Erwartet: 112.95 Vom Shopware Shop übertragen: 112.94 L\_TAXAMT0 = 11.97 L\_TAXAMT1 = 9.48 ============= Erwartet: 21.45 Von Shopware Shop übertragen: 21.46 Wie man sieht, stimmen die Werte nicht Überein! Und dies für dann zu den Paypal API Abbrüchen. Da ich dem Fehler auf den Grund gehen wollt und es auch aktiv einen Kunden betrifft, der durch diesen Fehler mehrere Tausend Euro Umsatz durch die Lappen gegangen sind, habe ich mir die Sache im Detail angeschaut. Im Warenkorb liegen 2 Artikel. Artikel1: Brutto: 75,00 € Netto: 63,025210084 Gerundet: 63,03 € Dieser gerundete Nettowert wird an Paypal gesendet. Artikel2: Brutto: 59,40 € Netto: 49,9159663866 Gerundet: 49,92 € Dieser gerundete Nettowert wird an Paypal gesendet. Dann gibt es noch die Summe als Nettowert im Warenkorb / Variablen. Welcher natürlich als Summe und Referenz auch an Paypal gesendet wird. Diese ist: 112,94 € Jeder der Rechnen kann sollte auffallen, dass 1 Cent fehlt. 63,03 + 49,92 = 112,95 € !! Genau aus diesem Grund nimmt Paypal die Transaktion nicht an und es kommt zu diesem APIError. Dies passiert immer in bestimmten Konstellationen, wenn die Nachkommastellen ungünstig stehen. Shopware rechnet die Summe mit allen Nachkommastellen: 63,025210084 + 49,9159663866 = 112,9411764706 Gerundet: 112,94 € Das ist also ganz klar ein SW Fehler. Ich kann nur allen raten, welche das alte SW 3.5 nutzen, und die Artikelpositionen wieder reaktivert haben dies zu fixen! Sonst kann es doch einen erheblichen Umsatzschaden geben

---

<div class="post-metadata">

### Author: ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)
#### Post date: [1. März 2013 um 11:23 UTC](https://forum.shopware.com/t/paypal-schnittstelle-kritik-an-fehlerbehebung/11900/2 "2013-03-01T11:23:45Z")

</div>

[quote=„ottscho“]Ich kann nur allen raten, welche das alte SW 3.5 nutzen, und die Artikelpositionen wieder reaktivert haben dies zu fixen! Sonst kann es doch einen erheblichen Umsatzschaden geben[/quote] Danke für die Info. Wie ist das gemeint „alte SW 3.5“ Um welche PayPal-Version geht es denn, oder hat das damit nicht s zu tun? Wir haben relativ häufig Abbrüche mit PayPal und wissen nicht warum.

---

<div class="post-metadata">

### Author: ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)
#### Post date: [1. März 2013 um 14:51 UTC](https://forum.shopware.com/t/paypal-schnittstelle-kritik-an-fehlerbehebung/11900/3 "2013-03-01T14:51:45Z")

</div>

Hallo Frank, wenn du den Bereich in folgenden Dateien unter “engine/connectors/paypalexpress/” auskommentiert hast, kann dir nichts passieren : doPaymentSUser.php: Zeile 76-93 DoExpressCheckoutPayment.php: Zeile 100-117 [quote] if(!empty($item\_tax\_amount)) { $params[‘SHIPPINGAMT’] = number\_format($shipping,2,’.’,’,’); $params[‘HANDLINGAMT’] = 0; $params[‘TAXAMT’] = number\_format($item\_tax\_amount,2,’.’,’,’); $params[‘ITEMAMT’] = number\_format($item\_amount,2,’.’,’,’); $basket = $payment-\>getBasket(); foreach ($basket[‘content’] as $key =\> $item) { $item[‘tax’] = str\_replace(’,’, ‘.’, $item[‘tax’]); $item[‘amount’] = str\_replace(’,’, ‘.’, $item[‘amount’]); $params[‘L\_NAME’.$key] = $item[‘articlename’]; $params[‘L\_NUMBER’.$key] = $item[‘ordernumber’]; $params[‘L\_AMT’.$key] = number\_format($item[‘amount’]-$item[‘tax’],2,’.’,’,’); $params[‘L\_TAXAMT’.$key] = number\_format($item[‘tax’],2,’.’,’,’); } } [/quote] Sobal der Code aktiv ist, kann es zu Probleme kommen. Daher wurde der Code komplett entfernt und keine Einzelpositionen mehr übermittelt. Was natürlich aus Kundensicht nicht optimal ist.

---

<div class="post-metadata">

### Author: ![simplybecause](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simplybecause/32/7845_2.png) [@simplybecause](https://forum.shopware.com/u/simplybecause)
#### Post date: [1. März 2013 um 16:47 UTC](https://forum.shopware.com/t/paypal-schnittstelle-kritik-an-fehlerbehebung/11900/4 "2013-03-01T16:47:22Z")

</div>

Okay, danke für die Erklärung. Ist bei uns auskommentiert.

---

<div class="post-metadata">

### Author: ![ccsgmbh1](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@ccsgmbh1](https://forum.shopware.com/u/ccsgmbh1)
#### Post date: [17. April 2013 um 13:34 UTC](https://forum.shopware.com/t/paypal-schnittstelle-kritik-an-fehlerbehebung/11900/5 "2013-04-17T13:34:23Z")

</div>

auch bei uns stellt sich dieses Problem: sorderID ist an dieser Stelle einfach nicht ausreichend. Da das Problem jetzt doch schon einige Zeit besteht, sollte man annehmen, dass hierfür auch eine Lösung kommt. Wie sieht es damit aus?

---

<div class="post-metadata">

### Author: ![ottscho](https://avatars.discourse-cdn.com/v4/letter/o/7ba0ec/32.png) [@ottscho](https://forum.shopware.com/u/ottscho)
#### Post date: [17. April 2013 um 13:49 UTC](https://forum.shopware.com/t/paypal-schnittstelle-kritik-an-fehlerbehebung/11900/6 "2013-04-17T13:49:20Z")

</div>

Den auskommentierten Bereich wieder aktivieren und mit eigenem Code sicherstellen, dass die Beträge (Cent Bereich) 100%ig passen. Dann sollte es gehen.
