Hallo zusammen,
vorab ein Paar kleine Fehler die ich noch gefunden habe (bezieht sich auf: PayPal PLUS fuer Shopversion 1.06 rev 4642).
in der "callback/paypal/paypalplus.php"
sollten die Optionen showLoadingIndicator und showPuiOnSandbox als boolsche Werte gesetzt werden (also nicht in Hochkommata)
Zeile 64/65:
"showLoadingIndicator": true,
"showPuiOnSandbox": true';
Weiterhin werden ggf. ungültige locale codes bei "language" (Zeile 59) übergeben.
Beispiel: Land der Standardadresse des Kunden ist Frankreich, Sprache im Shop ist deutsch - ergibt
de_FRDas heißt der Kunde würde hier die Texte der Paypalzahlungsoptionen in Englisch statt deutsch angezeigt bekommen.
In der Datei "includes/external/paypal/classes/PayPalCommon.php" hat sich nach einem Update auch ein Fehler eingeschlichen. Wird die Funktion encode_utf8 mit einem Array aufgerufen, gibt sie nichts zurück.
Hier sollte nach Zeile 44 noch
return $string;
eingefügt werden.
ABER, irgendwo muss noch ein Käfer drin sitzen.
Der Kunde löst einen Rabattcouponcode ein (z.B. 10% auf Warenwert), wählt die Zahlung Lastschrift/Kreditkarte/Rechnung und wird zu PayPal geleitet. Betrag und Rabattwert wird korrekt angezeigt.
Jetzt bricht er die Zahlung ab und kehrt zurück zum Shop.
Wählt der Kunde nun erneut eine der 3 genannten Zahlarten aus, so werden falsche Beträge an die PayPal Rest API übergeben. Vom rabattierten Wert wird nochmals der Rabatt abgezogen.
Beispiel:
erster Aufruf Betrag: 10,00 EUR / Rabatt: 1,00 EUR
danach (auch bei weiterem Abbruch) Betrag: 9,00 / Rabatt: 0,90 EUR
Im Shop wird der Betrag korrekt angezeigt.
Weiterhin werden nach Abbruch und erneutem Aufruf keine Kundendaten (Name/Rechnungsadresse) mehr übermittelt. Die Log-Files zeigen keinen Fehler, bis auf die falschen/fehlenden Daten
Ist dieses Problem bekannt?