Hallo zusammen,
wir haben die letzten Tage eine Information bezüglich einer Sicherheitslücke im Shopware eigenen PayPal Plugin erhalten. Nach dem Update auf Version 5.4.4 - wie von Shopware empfohlen - begannen die Probleme.
Inzwischen bricht bei jedem zweiten Kunden der Bezahlvorgang mit PayPal ab. Grund scheint eine falsche Rundung des Steuer-Gesamtbetrags zu sein. PayPal stört sich daran, dass die Werte im Request differieren:
"amount": {
"breakdown": {
"discount": {
"currency_code": "EUR",
"value": "0.00"
},
"handling": {
"currency_code": "EUR",
"value": "0.00"
},
"item_total": {
"currency_code": "EUR",
"value": "184.95"
},
"shipping": {
"currency_code": "EUR",
"value": "9.48"
},
"tax_total": {
"currency_code": "EUR",
"value": "35.14"
}
},
"currency_code": "EUR",
"value": "229.57"
},
}
"items": [
{
"category": "PHYSICAL_GOODS",
"name": "4 x 230125_sbp_Modulklemmen_1.STEP",
"quantity": 1,
"sku": "RockIT_63e37712911c7",
"tax": {
"currency_code": "EUR",
"value": "13.79"
},
"tax_rate": "xxxxxx",
"unit_amount": {
"currency_code": "EUR",
"value": "72.56"
}
},
{
"category": "PHYSICAL_GOODS",
"name": "230125_sbp_Modulklemmen_2.STEP",
"quantity": 4,
"sku": "RockIT_63e3771336f76",
"tax": {
"currency_code": "EUR",
"value": "3.51"
},
"tax_rate": "xxxxxx",
"unit_amount": {
"currency_code": "EUR",
"value": "18.47"
}
},
{
"category": "PHYSICAL_GOODS",
"name": "Aufschlag für ausgewählte Schnell-Option",
"quantity": 1,
"sku": "VA-ACC",
"tax": {
"currency_code": "EUR",
"value": "7.32"
},
"tax_rate": "xxxxxx",
"unit_amount": {
"currency_code": "EUR",
"value": "38.51"
}
}
],
Es ergeben sich aktuell zwei verschiedenen Fehler:
Steuerberechnung/-rundung
Oben angegeben sind 35,14 € als Gesamtsteuer, berechnet wird die Tax von PayPal aber zusätzlich anhand des Stückpreises (item.tax.value) multipliziert mit der Anzahl (item.quatity). Hierbei ergeben sich unterschiedliche Werte:
Breakdown (tax_total.value) → 35,14 €
Berechnet durch items → 35,15 €
Diese Differenz führt dazu das PayPal die Transaction nicht Completed.
Mengenübertrag der items falsch
Im oben genannten Beispiel war auch die quantity an den einzelnen items nicht korrekt. Das erste item im array wurde vier mal, statt wie angegeben ein mal, bestellt.
Jetzt meine Frage, vor allem an Shopware: Ist dieser Fehler bekannt bzw. könnt ihr diesen verifizieren?
Der Fehler stellt wirklich ein erhebliches Problem für uns dar, da aktuell wie o.g. fast keine Zahlung mit PayPal mehr durch geht.