Mini-Shop - PaypalCheckout
Veröffentlichungsdatum: 05. März 2026
Änderungsdatum: 23. März 2026
Mini-Shop Shop Paypal PaypalCheckout
Im Mini-Shop wird standardmäßig die Bezahlfunktion PayPalCheckout ausgeliefert.
Schritt1 - Konfiguration
Um die Bezahlart „PayPalCheckout“ zu aktivieren, öffnen Sie die Konfiguration Ihrer Shop-Installation und setzen die Einstellung „PayPalCheckout anbieten“ auf „Ja“.
Tragen Sie anschließend die Zugangsdaten aus Ihrem Händler-Account ein.
Sollte die Einstellung nicht vorhanden sein, wechseln Sie in den Quelltext und ergänzen Sie innerhalb des wConf -Elements den entsprechenden Konfigurationsabschnitt.
Quelltext Paypal-Checkout
Ergänzen Sie die Mail-Strings für:
Auszug Bestellbetätigung
... Angaben zur Bezahlung ===================== [!--extIfPayment_paypalCheckout--]Sie haben die Zahlung über PapalCheckout angewiesen.[!--extIfPayment_paypalCheckout--] ....
Auszug Bestellbetätigung
... Angaben zur Bezahlung ===================== [!--extIfPayment_paypalCheckout--] Der Kunde hat die Bezahlung per PaypalCheckout gewählt. Folgende Meldung gibt Paypal über den Stand der Zahlung zurück: [!--payment_paypalCheckout_result--] PaypalCheckout Bestell-Id: [!--payment_paypalCheckout_orderID--] [!--extIfPayment_paypalCheckout--] ....
Schritt 2 - Erstellen eines Test-Accounts
Um die Schnittstelle zu testen, setzen Sie die Einstellung „Testmodus über Sandbox“ auf „Ja“.
-
Erstellen Sie einen Test-Account in der PayPal-Entwicklerumgebung.
-
Wechseln Sie nach dem Login in das Dashboard.
-
Lassen Sie sich unter „Testing Tools“ die Sandbox-Accounts anzeigen.
Dabei werden automatisch erstellt:
-
ein Test-Händler-Account → diese Zugangsdaten tragen Sie in der Shop-Konfiguration ein
-
ein Test-Kunden-Account → diese Daten verwenden Sie beim Testkauf
Schritt 3 - Bestellung anpassen
Der PayPal-Code kann über einen bedingten Container komfortabel in die Bestellseite ( bestellung.php ) eingebunden werden.
PayPal erstellt die Session in einem Popup-Fenster.
Nach erfolgreich veranlasster Bezahlung (onApprove):
-
wird das Formular automatisch abgesendet
-
erfolgt serverseitig die Prüfung des Bezahlstatus
Der ermittelte Bezahlstatus wird anschließend in der E-Mail an den Händler ausgegeben.
Einbinden des PaypalCheckout - Buttons
Fügen Sie – sofern noch nicht vorhanden – unterhalb des Bestellformulars einen bedingten Container für Objektdaten ein.
Der Container wird nur bei Auswahl der Bezahlart paypalCheckout angezeigt.
Innerhalb dieses Containers fügen Sie ein PHP-Quelltextelement ein und schließen dieses vom Seitencache aus.
Aufruf des Buttons für paypalCheckout
print wMyShop::getPaymentClientString('paypalCheckout');Serverseitige Prüfung des Bezahlstatus
Die serverseitige Prüfung erfolgt nach der Validierung der Bestelldaten und vor dem Versand der Bestell-E-Mails.
Auszug aus dem "Skript nach dem Absenden des Formulares"
include_once($_SERVER['DOCUMENT_ROOT'].$this->getVar('wGlobalProjectPath').'/wGlobal/scripts/php/wMyShop.php');
...
$shopConfData = wMyShop::prepareShopData($shopConfPath);
$customerData = wMyShop::prepareCustomerData();
...
if($this->validate()){
.....
/*
HINWEIS
Im aktuellen Standard führen wir die unten genannte genannte Syntax
in der Funktion wMyShop::prepareOrderMailData aus.
Sollte Ihre Syntax bereits diese Funktion aufrufen
können Sie auf u.g. Syntax verzichten
*/
/* Bezahlart paypalCheckout - prüfung Eingang der Bezahlung */
if($payment == 'paypalCheckout'){
$shopOrderId = $customerData['orderID'];
$paymentData = $customerData[$shopOrderId.'_'.$payment.'_paymentData'] ?? array();
$mailData['payment_paypalCheckout_orderID'] = $paymentData['orderID'];
$result = wMyShop::getPaymentStatus($payment, $shopOrderId, $paymentData, $paymentData['strict'] ?? false);
if(!$result) $resultText = 'shop_payment_'.$payment.'_result_failed_errorText';
else $resultText = 'shop_payment_'.$payment.'_result_succeeded';
$mailData['payment_paypalCheckout_result'] = wMyShop::getTexts($resultText);
unset($mailData[$shopOrderId.'_'.$payment.'_paymentData']);
}
/* Vorbereiten des Mail-Strings für die Bestellung */
..... Schritt 4 - Shop-Texte
Öffnen Sie die Datei shop.wTexts.php und ergänzen Sie – sofern noch nicht vorhanden – folgende Texte:
Auszug shop.wTexts.php
<wTexts> .... <text key="shop_payment_paypalCheckout_title">Sie werden direkt an Ihr PayPal-Konto weitergeleitet.</text> <text key="shop_payment_paypalCheckout_error_noOrderdata">Es konnten keine Bezahldaten zu der Bestellung gefunden werden. Bitte prüfen Sie Ihre Paypal-Zugangdaten.</text> <text key="shop_payment_paypalCheckout_error_ordernotcompleted">Die Bestellung wurde nicht beendet. </text> <text key="shop_payment_paypalCheckout_error_paymentdoesnotmatch">Die Bestellung wurde nicht vollständig oder mi einer anderen Wähung bezahlt.</text> <text key="shop_payment_paypalCheckout_error_paymentnotconfirmed">Der Eingang der Bezahlung wurde noch nicht bestätigt. </text> <text key="shop_payment_paypalCheckout_error_unexpected">Es ist ein unerwarterer Fehler aufgetreten. Bitte prüfen Sie den Zahlungseingang. </text> <text key="shop_payment_paypalCheckout_error_accesstoken_unvalid">Fehler bei der Verbindung mit Paypal (no valid accesstoken). Bitte prüfen Sie Ihre Zugangsdaten in der Shop-Konfiguration.</text> <text key="shop_payment_paypalCheckout_error_no_OrderID">Die von Paypal generierte Bestell-Id (orderId) wurde nicht gefunden. </text> <text key="shop_payment_paypalCheckout_result_succeeded">Die Bezahlung wurde über Paypal vorgenommen.</text> ... </wTexts>
Schritt 5 - Testen
Nach erfolgreichem Test des Bestellprozesses mit dem Test-Account:
-
Deaktivieren Sie den Testmodus in der Konfiguration.
-
Prüfen Sie den vollständigen Bestellablauf zusätzlich im Live-Modus.
Für die Installation der Schnittstelle müssen folgende Dateien auf dem aktuellsten Stand sein:
/[IHR-INHALTS-PROJEKT] /shop/scripts/cart.php
/[IHR-LAYOUT-PROJEKT] /wGlobal/scripts/php/wMyShop.php
/[IHR-LAYOUT-PROJEKT] /wGlobal/scripts/php/wShop.php
Sollten Sie keine individuellen Anpassungen vorgenommen haben, empfehlen wir außerdem das Update der Bestelldatei.
/[IHR-INHALTS-PROJEKT] /shop/bestellung.php