CE 6.4 & PayPal Checkout 2.1 - Troubleshooting

Ich habe das Modul nun endlich lokal mit ngrok zum laufen bekommen. Ich musste die “cacert.pem” installieren damit die Verbindung durchgeht.

Die meisten Zahlungsarten scheinen nun zu funktionieren. Bis auf Rechnung. Ich lande nach dem Abschluss wieder bei Versand & Zahlungsart mit der Meldung:

“Die von Ihnen gewählte Versandart ist nicht mehr verfügbar. Bitte wählen Sie eine andere Versandart aus!”

Im Log und bei den PayPal API calls steht die Meldung:

"description": "The amount specified is less than the minimum amount that can be processed by the payment_source specified.",
"issue": "AMOUNT_LESS_THAN_MIN_VALUE"

Die Anfrage sieht so aus:

		"purchase_units": [
			{
				"amount": {
					"breakdown": {
						"item_total": {
							"currency_code": "EUR",
							"value": "1.59"
						},
						"tax_total": {
							"currency_code": "EUR",
							"value": "0.00"
						}
					},
					"currency_code": "EUR",
					"value": "1.59"
				},
				"description": "Zahlung bei xxShopxx",
				"items": [
					{
						"category": "PHYSICAL_GOODS",
						"name": "xxArtikelnamexx",
						"quantity": "1",
						"tax": {
							"currency_code": "EUR",
							"value": "0.00"
						},
						"tax_rate": "xxxxxx",
						"unit_amount": {
							"currency_code": "EUR",
							"value": "1.59"
						}
					}
				],
				"reference_id": "OXID_REFERENCE",
				"shipping": {
					"address": {
						"address_line_1": "*****",
						"admin_area_2": "Testdorf",
						"country_code": "DE",
						"postal_code": "12345"
					},


Gibt es Beschränkungen ab welchem wert die Rechnung geht? Ich habe im Shop keine Mindestwerte angelegt.

Warum Steht in der Anfrage tax=0?
Die Bestellung ist aus Deutschland und im Shop wird korrekt 19% berechnet.

Betrifft es bei dem Kunden auch Paypal Checkout oder “altes” Paypal? Bisher hat es mit Paypal einfwandfrei funktioniert. Paypal Express geht dagegen durch, kam gerade eine Bestellung rein. GiroPay und Sofortüberweisung läuft nicht ein…

Leider nein, in Sendcloud laufen alle Bestellungen ein unabhängig von der Zahlungsart bzw. ob schon als bezahlt markiert - z.B. auch Vorauskasse.

Es betrifft Zahlungen mit Paypal Checkout.

Ist es so gewollt das nicht erfolgreich abgeschlossende Bestellungen Status “Not finished” ohne Bestellnummer erscheinen? Wäre super falls man man einstellen könnte das nur erfolgreiche Bestellungen erscheinen?

Hallo, laut paypal-module/CHANGELOG.md at b-6.1.x · OXID-eSales/paypal-module · GitHub sollte 1.1.5 eigentlich schon am 14.7. released werden, es ist aber noch nicht verfügbar. Gibt es dafür einen voraussichtlichen Release-Termin? Danke!

@kubber: Wir integrieren gerade eine Aufräumfunktion, die sich um die “NOT_FINISHED”-Orders kümmert. @K_Jung : Das ist der Grund, warum sich der Release der v1.1.5 noch etwas verzögert …

Super, eine Frage noch. Siehst Du bei den Bestellungen via Paypal und Kreditkarte einen Unterschied zu den Ratepay Bestellungen? Hintergrund ist: Das Ratepay Bestellungen in Sendcloud einlaufen aber nicht die Bestellungen über Paypal und Kreditkarte - vielleicht kann ich da den Entwicklern bei Sendcloud helfen das Problem zu finden. Beim bisherigen Paypal Plus Modul hatten wir dieses Problem nicht.

@Mario_Lorenz

Hallo Mario,
mir ist gerade noch etwas aufgefallen in Bezug auf nicht abgeschlossene Bestellungen mit
dem Status “not finished”:

Obwohl die Bestellung ja nicht erfolgreich abgeschlossen ist und auch keine Bestellnummer vergeben wurde, werden die Benutzergruppen des Kunden geändert.
Ein Kunde, der noch keine Bestellung abgeschlossen hat, ist ja nach der Registrierung erst einmal nur
z.B. in den Benutzergruppen “Inlandskunde” und “Noch nicht gekauft”.
Diesen Umstand nutzen wir dafür um z.B. die Zahlungsarten Rechnung und Lastschrift nicht für Neukunden anzubieten.
Erst bei nach der 1. erfolgreichen Bestellung werden Kunden durch die Benutzergruppensteuerung dafür freigeschaltet.

Bei den nicht erfolgreich abgeschlossenen Paypal Bestellungen (ob das z.B. durch einen Timeout oder einen gewollten Benutzerabbruch zustande kommt, weiß ich nicht) ist es dann aber so, das trotz nicht
abgeschlossener Paypal Bestellung die Benutzergruppen geändert werden.
Bedeutet also, Kunde wählt Paypal aus, Abruch wegen Timeout oder gewollt, Kunde geht erneut in den Checkout und hat dann plötzlich Rechnung und Bankeinzug freigeschaltet.
Ist also auch noch etwas suboptimal.

Wie kommen diese Abbrüche Zustande? Können wir da Serverseitig etwas machen oder haben wir da keinen Einfluß drauf? Ist es möglich nach einem Abbruch die Benutzergruppen wieder in Ausgangssituation zu bringen?

Viele Grüße,
Michael

Ergänzung: Folgende Fehlermeldung gibt die Sendcloud-Log Datei. Ob es jetzt am Paypal Modul liegt oder Sendcloud ist die Frage:

[error][1658398669076][Core] Fail to start task execution.
Context[TaskId]: 70187
Context[ExceptionMessage]: Duplicate entry ‘0’ for key ‘PRIMARY’

Hallo in die Runde,

OXID PE 6.4.1, PHP 8.0, PPC 2.1.4

Wir haben endlich es geschafft per KRE eine Bestellung auszuführen.

Aber folgende 2 Punkte / Fehler sind aufgefallen:

Wenn man eine falsche CVV eingibt läuft der Bestellvorgang dennoch durch!
Im Shop Frontend wird die Thankyou geladen.

Bei PP wird die Bestellung nicht angenommen was korrekt ist.

Im Backend wird die Bestellung alles Bezahlt und OK angezelgt.
Nur im Tabreiter PayPal Checkout > Status , steht abgelehnt.

Bei AMEX Karte läuft die Bestellung nicht durch, es erscheint immer der Hinweis das man die AGB bestätigen soll. Was man natürlich gemacht hat.

Gibt es eine Lösung?

Grüße Brian

Hi und hier ein Fehler im Backend unter Bestellungen:

klick auf eine Bestellung die älter ist (wo noch nicht das Modul installiert war) und nicht Kreditkarte war.

Fehler:

An exception occurred while executing 'SELECT oxuser.oxid FROM oxuser WHERE ((oxshopid = ?)) AND ((oxuser.OEPAYPAL_ANON_USERID = ?))' with params [1, "0b79ab4809bec1a4c83d414322e73b70"]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'oxuser.OEPAYPAL_ANON_USERID' in 'where clause'
Doctrine\DBAL\Exception\InvalidFieldNameException Object
(
    [driverException:Doctrine\DBAL\Exception\DriverException:private] => Doctrine\DBAL\Driver\PDO\Exception Object
        (
            [errorCode:Doctrine\DBAL\Driver\PDOException:private] => 1054
            [sqlState:Doctrine\DBAL\Driver\PDOException:private] => 42S22
            [message:protected] => SQLSTATE[42S22]: Column not found: 1054 Unknown column 'oxuser.OEPAYPAL_ANON_USERID' in 'where clause'
            [string:Exception:private] => 
            [code:protected] => 42S22
            [file:protected] => /var/www/html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php
            [line:protected] => 18
            [trace:Exception:private] => Array

Bei mir funkktioniert das auch nicht CE6.3.2 mit dem neuem Modul.

Hab dann aus lauter Frust OXID-solution-catalysts/paypal-module ^1.0.0 installiert.
OnBoard Registrierung funktioniert. Modul grün. Im Testshop kann ich mit PayPal Checkout bezahlen
Aber wenn ich im Admin (Paypal/Konfiguration) die Konfiguration speicher ist der Shop offline

Kunde macht mich gerade aufmerksam das der Paypal Express Button nicht (mehr) funktioniert was tatsächlich stimmt. In verschiedenen Browsern getestet.

Verwende 1.1.4

Ich hatte bisher das Häckchen bei “Login mit Paypal” nicht gesetzt und Paypal Express Zahlungen erhalten - jetzt einmal das Häckchen gesetzt und es funktioniert wieder…

Dafür funktioniert jetzt Kreditkarte und Rechnungskauf nicht mehr - Fenster öffnet sich nicht wo die Daten eingegeben werden können (siehe weiter oben)

Ich dreh gleich durch…wann kommt 1.1.5 oder ich muss schnellstens zurück zu Paypal Plus. Hatte das ja Wochenlang auf dem Testumgebung laufen.

Update: Nach Downgrade und anschließendem Upgrade funktioniert Rechnungs- und Kreditkartenkauf wieder, bzw. das Feld mit der Eingabemaske erscheint. Dachte dieser Bug wurde bereits in 1.1.4 behoben?

Also stabil läuft das Modul nicht, wir sind jetzt unsicher ob wir nicht zu Paypal Plus zurück sollten

Die PayPal API Version 1.0 welche das PayPal Plus Modul benutzt ist veraltet:

Deprecation notice: The /v1/payments endpoint is deprecated. Use the /v2/payments endpoint instead.

Quelle: https://developer.paypal.com/docs/api/payments/v1/

Dies heißt irgendwann wird das PayPal Plus Modul nicht mehr funktionieren. Daher macht das Nutzen vom neuem PayPal Modul mit API Version 2.0 Sinn auf lange Sicht.

Zusätzlich unterstützt das neue PayPal Modul von OXID eSales die neue Headless Architektur von OXID eShop - auch unter den GraphQL Modulen bekannt.

Ich bleibe auch bei Paypal Checkout, aber verstehe nicht warum bestimmte Zahlungsarten aufeinmal nicht mehr funktionieren (Paypal Express) bzw. die Eingabemaske (Rechung und Krediktkart) verschwinden. Am System wurde nichts verändert. Hatte da einige Kunden heute am Telefon…

Vielleicht Nachmeldungen nach dem Wochenende… Das Deine Kunden sich am Montag, wenn die Arbeitswoche startet bei Dir melden. Interessant wäre ob die Fehlerfälle Deiner Kunden bereits auf Freitag, den 22. Juli 2022 beruhen.

Ggfs. war dies Panik Tag weil alle gleichzeitig um den Einjahres-Rabatt der günstigen Konditionen zu nutzen noch versucht haben über Ads Verbraucher zum Kaufen zu bringen und dies hat PayPal in die Knie gezwungen…

Am Freitag und Samstag gab es anscheinend seitens PayPal Probleme PayPal Status Page

Die PayPal API Version 2.0 mit der JavaScript Integration dort nicht so fehlertolerant, wenn ein JavaScript Fehler auftritt bzw. die Verbindung nicht antwortet, dann jeder erdenkliche Grund möglich als Fehler…

Habe hier ein seltsames Problem mit “PayPal Express” des PayPal Checkout Moduls (v2.1.4): Plangemäß sollte bei einem nicht angemeldeten Benutzer und der Verwendung von PayPal Express innerhalb OXID ein Benutzerkonto mit den Adressdaten aus dem PayPal Konto angelegt werden. Das hat in der Sandbox auch problemlos funktioniert. Im Live-Betrieb habe ich das mit meinem privaten PayPal Konto (noch kein Benutzer mit hinterlegter Mailadresse in OXID vorhanden) getestet und wurde nach der Anmeldung bei PayPal auf den geleerten Warenkorb zurückgeleitet, mit der Fehlermeldung “Leider liefern wir nicht in Ihr gewünschtes Lieferland. Bitte wählen Sie eine andere Lieferadresse aus.”.

Nach mehreren Tests habe ich herausgefunden, dass anscheinend die Hausnummer aus dem PayPal Konto nicht mit übertragen wurde. Erst nachdem ich die Hausnummer als “Muss”-Feld für die Registrierung in den OXID Einstellungen entfernt habe, hat das automatische Anlegen des Kontos funktioniert (aber eben ohne Hausnummer).

Dieses Phänomen mit der fehlenden Hausnummer hatte ich bisher nur mit meinem PayPal Konto, obwohl die Postadresse hier korrekt hinterlegt ist (inkl. Hausnummer. Schema: Muster Str. 123). Mit einem anderen privaten PayPal Konto konnte ich das Problem bisher nicht rekonstruieren (Hausnr. wurde korrekt übertragen. Gleiches Schema.). Ein Anruf bei PayPal hat nicht geholfen. Hat hier vielleicht Jemand eine Idee woran das liegen könnte?

Ja, dies ist die Lösung. Hausnummer darf kein Pflichtfeld sein. Damit kann der Gast-Besteller über PayPal auch erfolgreich angelegt werden.

Wie bereits später anmerkst, sollte beim Anlegen des Gast-Besteller die Adresse vollständig hinterlegt sein. Was prüfen könntest wo genau die Hausnummer gespeichert wird ob in oxstreet oder oxstreetnr.

Ansonsten kannst den Wunsch über Main - OXID eShop bugtrack äußern, dass möchtest das Modul auch noch funktioniert wenn Hausnummer als Pflichtfeld definiert im Admin.

Wenn man dort voten könnte ob man dieses Feature auch möchte, hättest von mir ein Plus 1. Selber habe ich es gelöst, indem Hausnummer kein Pflichtfeld mehr ist.