PayPal Checkout in der PayPal-Sandbox testen
Um PayPal Checkout in der PayPal-Sandbox zu testen, legen Sie Sandbox-Konten an.
Wenn Sie PayPal Checkout in einem lokalen System ohne SSL testen, richten Sie dafür temporär SSL ein.
PayPal-Sandbox-Accounts generieren
Um die Sandbox zu nutzen, tun Sie Folgendes:
Zeigen Sie im PayPal-Entwickler-Portal die automatisch generierten Zugangsdaten für Ihre Personal- und Business-Sandbox-Konten an.
Mit dem Business-Konto (Sandbox-Händlerkonto) erzeugen Sie den Webhook und testen Sie Zahlungseingänge.
Mit dem Personal-Konto (Sandbox-Kundenkonto) führen Sie Testzahlungen aus.Optional: Testen Sie die PayPal-Sandbox-Accounts.
Zugangsdaten für Sandbox-Kunden- und Händler-Konto anzeigen
Zeigen Sie die Zugangsdaten für Ihre Sandbox-Test-Konten im PayPal-Entwickler-Portal an.
Vorgehen
Rufen Sie das PayPal-Entwickler-Portal unter developer.paypal.com auf.
Melden Sie sich mit den Zugangsdaten Ihres echten PayPal-Kontos an
Ihr PayPal-Konto kann ein Händler- oder Kunden-Konto sein. Nur für das Freischalten des Live-Betriebs werden Sie ein Händlerkonto brauchen.Wählen Sie
.Wählen Sie Sandbox accounts.
Resultat
Zwei Sandbox-Test-Konten werden angezeigt, ein Business-Sandbox-Konto (Händler-Konto) und ein Personal-Sandbox-Konto (Kunden-Konto) (Abb.: Business- und Personal-Sandbox-Konto anzeigen).
Legen Sie bei Bedarf weitere Sandbox-Konten zum Testen an.
Ändern Sie bei Bedarf unter View/edit account die Passwörter.
Optional: PayPal-Sandbox-Accounts testen
Melden Sie sich mit den beiden Accounts auf dem PayPal-“Spiegel”-System, der Sandbox-Plattform, an.
Vorgehen
Wählen Sie sandbox.paypal.com. und melden Sie sich an.
Resultat
Die Sandbox-Plattform sandbox.paypal.com
wird angezeigt (in unserem Beispiel Abb.: Business-Sandbox-Konto anzeigen ein Sandbox-Händler-Konto).
Die Sandbox-Plattform ist technisch identisch mit dem Live-PayPal-System https://www.paypal.com
.
Beide Konten sind mit Sandbox-Geld-Guthaben, Sandbox-Kreditkarten und so weiter ausgestattet.
Wenn Sie im Modul den Sandbox-Onboarding-Prozess mit dem Sandbox-Händler-Konto (beispielsweise sb-abcde12345678@business.example.com
) starten, dann verbinden Sie Ihren Test-Shop mit diesem Business-Account.
Das heißt, Sie finden beispielsweise den angelegten Webhook des Moduls in diesem Sandbox-Händler-Konto auf sandbox.paypal.com
.
Wenn Sie im Frontend Zahlungen ausführen, nehmen Sie zum Bezahlen das Sandbox-Kunden-Konto (beispielsweise sb-fghijklm876544@personal.example.com
).
Nach dem Bezahlen sehen Sie in Ihrem Sandbox-Kunden-Konto (auf sandbox.paypal.com
) die Zahlungsabgänge und im Sandbox-Händler-Konto (auf sandbox.paypal.com
) die Zahlungszuflüsse.
Da sandbox.paypal.com
ein Spiegelsystem ist, sind alle Funktionen und die API identisch.
D.h., jeden Fehler, den Sie hier erzeugen können, wird es im Live-System auch geben.
Umgekehrt: Jeder nicht erzeugte Fehler tritt auch im Live-System nicht auf.
Deshalb empfehlen wir dringend, die Integration zuerst mit einem Sandbox-System zu testen (siehe PayPal Checkout testen).
Erst wenn alles klappt, wiederholen Sie den Onboarding-Prozess im Live-System mit Ihrem PayPal-Händlerkonto (siehe PayPal Checkout freischalten).
Temporäres SSL einrichten
Ihr Test-System hat kein SSL?
Benutzen Sie beispielsweise NGROK, um für das Testen in der PayPal-Sandbox eine lokale OXID eShop-URL mit SSL und Webzugriff auszustatten.
Wie Sie die temporäre URL generieren, hängt von Ihrem System ab. Wir beschreiben folgende Beispiele mit NGROK:
Sie haben ein Alias unterhalb von
localhost
.
Beispiel:http://localhost/meinprojekt/
Sie haben einen virtuellen Host.
Beispiel:http://meinprojekt.local
Vorgehen
Legen Sie unter ngrok.com ein Konto an.
Folgen Sie den Anweisungen für das Installieren und Einrichten von NGROK.
Starten Sie NGROK.
Geben Sie einen der folgenden Befehle ein:
Wenn Sie einen Alias haben, geben Sie ngrok http 80 ein.
Die temporäre URL wird angezeigt, beispielsweisehttps://6f62-2003-c7-cf2e-9900-d19c-904a-e54c-64fe.eu.ngrok.io
.
Ihren Shop werden Sie damit über eine URL nach folgendem Schema erreichen:
https://6f62-2003-c7-cf2e-9900-d19c-904a-e54c-64fe.eu.ngrok.io/meinprojekt/
Wenn Sie einen virtuellen Host haben, geben Sie einen Befehl nach folgendem Schema ein: ngrok http --host-header=meinprojekt.local 80 .
Beispiel: ngrok http --host-header=localhost.local 80 (Abb.: URL mit NGROK generieren)Die temporäre URL wird unter Forwarding`angezeigt, in unserem Beispiel ``https://60a6-2001-9e8-4739-1e00-1d18-1876-eae4-2f5d.eu.ngrok.io` (Abb.: Temporäre URL anzeigen).
Stellen Sie sicher, dass Ihr Test-Shop läuft.
Geben Sie die temporäre URL in Ihren Browser ein.
Sie gelangen auf eine Weiterleitungsseite (Abb.: NGROK-Weiterleitungsseite).Wählen Sie Visit Site.
Ihr Shop wird nur mit den Elementen angezeigt, die ohne SSL erreichbar sind (Abb.: OXID eShop ohne SSL).Öffnen Sie im Verzeichnis
<Rootverzeichnis des eShops>/source
die Dateiconfig.inc.php
.Ändern Sie Ihr für die Dauer Ihrer Sitzung den Wert des Parameters $this->sShopURL von Ihrem Standard auf die temporäre NGROK-URL (Abb.: config.inc.php anpassen).
Laden Sie die temporäre URL Ihres Shops erneut.
Resultat
Sie können den Webhook für das Testen von PayPal Checkout in der PayPal-Sandbox generieren (siehe API-Anmeldeinformationen: Onboarding).
Sobald Sie das NGROK-Fenster schließen, ist der temporäre Kanal beendet, und Sie müssen eine neue temporäre URL generieren.
Note
Webhook in der Sandbox generieren
Wenn Sie mit der temporären URL den Webhook für das Testen von PayPal Checkout in der PayPal-Sandbox (wie unter API-Anmeldeinformationen: Onboarding beschrieben) generieren, dann sind Sie mit dem Prozess vertraut.
Denn der Onboarding-Prozess funktioniert in der Live-Umgebung mit dem Live-Account genau wie in der Testumgebung mit der temporären URL.
Beispiel: Sie sind OXID-Partner und wollen Ihrem Kunden beim Wechsel zu PayPal Checkout unterstützen.
Bitten Sie Ihren Kunden, eine Screen-Sharing-Session zu starten, bei der Sie ihm über die Schulter schauen.
Die Passwörter bleiben verborgen, aber Sie können unterstützen, wenn Ihr Kunde beim Erzeugen und Eingeben seiner PayPal-Anmeldedaten auf Fragen stößt.