PayPal einrichten
Richten Sie PayPal als Zahlungsanbieter ein, wenn der Checkout PayPal-Zahlungen anbieten soll. Legen Sie dabei immer fest, ob die Konfiguration für echten Checkout oder für Demo- und Testabläufe gedacht ist.
Voraussetzungen
- Sie haben Zugriff auf den Workspace-Adminbereich.
- Ihre Rolle darf Zahlungsanbieter lesen und ändern.
- Sie haben ein PayPal-Developer-Konto mit einer Sandbox-App.
- Sie haben
Client-ID,Client SecretundWebhook-IDder Sandbox-App.
Integrationsart wählen
Wählen Sie in PayPal die Standard-Integration. Workspace nutzt PayPal als Wallet-Zahlart im Checkout und führt Erstellung, Capture und Webhook-Verarbeitung serverseitig aus.
Nutzen Sie die erweiterte PayPal-Integration nur, wenn Sie eigene Kreditkartenfelder direkt im Checkout einbetten wollen. Diese Variante braucht zusätzliche Prüfung, Oberfläche und Sicherheitsfreigaben und gehört nicht zur Standard-Konfiguration.
Modus und Nutzung festlegen
Workspace prüft PayPal-Konfigurationen gegen die Runtime-Stage der Installation. Wenn keine Runtime-Stage konfiguriert ist, behandelt Workspace die Installation konservativ als production.
Wählen Sie in der Admin-Oberfläche zwei Werte:
Modus: PayPal-Umgebung, alsoSandboxoderLive.Nutzung: Zweck der Konfiguration, alsoLive checkoutoderDemo/test.
Diese Kombinationen sind erlaubt:
| Runtime-Stage | Nutzung | PayPal-Modus | Ergebnis |
|---|---|---|---|
production | Live checkout | Live | PayPal ist für echten Checkout erlaubt. |
production | Live checkout | Sandbox | Workspace blockiert PayPal im Checkout. |
production | Demo/test | Sandbox | PayPal ist als Testmodus erlaubt, zum Beispiel für einen Demoshop. |
development oder staging | Demo/test | Sandbox | PayPal ist als Testmodus erlaubt. |
development oder staging | Live checkout | Live | Workspace blockiert PayPal, damit Entwicklungssysteme keine Live-Zahlungen auslösen. |
Verwenden Sie Live checkout nur, wenn Kunden echte Zahlungen auslösen sollen. Verwenden Sie Demo/test für Sandbox-Zahlungen, Demoshops, Abnahmetests und Schulungen.
Sandbox in der Admin-Oberfläche eintragen
- Öffnen Sie
Handel>Stammdaten>Zahlung>Zahlungsanbieter. - Aktivieren Sie PayPal.
- Wählen Sie
Sandboxals Modus. - Wählen Sie
Demo/testals Nutzung. - Tragen Sie die
Client-IDaus Ihrer PayPal-Sandbox-App ein. - Tragen Sie das
Client Secretaus Ihrer PayPal-Sandbox-App ein. - Tragen Sie die
Webhook-IDdes PayPal-Webhooks ein. - Speichern Sie die Konfiguration.
- Prüfen Sie den Umgebungsstatus. Er muss erlaubt sein; bei Sandbox zeigt Workspace den Testmodus an.
- Prüfen Sie im Checkout, ob PayPal als Zahlart erscheint.
Workspace speichert PayPal-Zugangsdaten verschlüsselt. Nach dem Speichern zeigt die Oberfläche gespeicherte Secret-Werte nur maskiert an. Lassen Sie Secret-Felder bei späteren Änderungen leer, wenn Workspace den gespeicherten Wert behalten soll.
Per nucli setzen
Workspace stellt derzeit keinen eigenen Komfortbefehl wie nucli payments paypal configure bereit. Nutzen Sie nucli api, wenn Sie die PayPal-Konfiguration reproduzierbar setzen wollen.
Erstellen Sie die Eingabedatei lokal:
cat > paypal-sandbox.json <<'JSON'
{
"mode": "sandbox",
"usagePurpose": "demo_test",
"clientId": "<paypal-sandbox-client-id>",
"clientSecret": "<paypal-sandbox-client-secret>",
"webhookId": "<paypal-sandbox-webhook-id>",
"isActive": true
}
JSONSenden Sie die Konfiguration an den aktiven Mandanten:
nucli --tenant <tenant> api PUT /api/v1/commerce/config/payment-providers/paypal --input paypal-sandbox.json --summaryPrüfen Sie die gespeicherte Konfiguration mit redigierter Ausgabe:
nucli --tenant <tenant> api GET /api/v1/commerce/config/payment-providers/paypal --redactLöschen Sie die lokale Eingabedatei oder legen Sie sie in einem geschützten Secret-Store ab. Geben Sie PayPal-Zugangsdaten nicht in Tickets, Chatverläufen oder öffentlichen Dokumenten weiter.
Webhook prüfen
Hinterlegen Sie in PayPal die Webhook-URL Ihrer Workspace-Instanz:
https://<workspace-domain>/api/v1/webhooks/payment/paypalWählen Sie nicht All Events. Aktivieren Sie für den Standard-Checkout gezielt:
CHECKOUT.ORDER.APPROVEDCHECKOUT.ORDER.COMPLETEDPAYMENT.CAPTURE.COMPLETEDPAYMENT.CAPTURE.DENIEDPAYMENT.CAPTURE.PENDINGPAYMENT.CAPTURE.REFUNDEDPAYMENT.CAPTURE.REVERSED
Aktivieren Sie Refund-Events nur, wenn Sie Refunds über PayPal auswerten:
PAYMENT.REFUND.COMPLETEDPAYMENT.REFUND.DENIEDPAYMENT.REFUND.PENDINGPAYMENT.REFUND.FAILED
Aktivieren Sie Dispute-Events nur, wenn Sie Disputes im Commerce-Prozess nachverfolgen:
CUSTOMER.DISPUTE.CREATEDCUSTOMER.DISPUTE.UPDATEDCUSTOMER.DISPUTE.RESOLVED
Wenn PayPal statt einzelner Events nur Kategorien zeigt, wählen Sie Checkout, Payments & Payouts und bei Bedarf Customer dispute. Wählen Sie auch dann nicht All Events.
Nutzen Sie für Sandbox und Live jeweils die passende PayPal-App und Webhook-ID. Vermischen Sie Sandbox- und Live-Zugangsdaten nicht.
Auf Live wechseln
- Erstellen oder öffnen Sie die Live-App im PayPal-Developer-Konto.
- Tragen Sie die Live-
Client-ID, das Live-Client Secretund die Live-Webhook-IDein. - Wechseln Sie den Modus auf
Live. - Wechseln Sie die Nutzung auf
Live checkout. - Speichern Sie die Konfiguration.
- Prüfen Sie den Umgebungsstatus. In Produktion muss er erlaubt sein.
- Führen Sie eine kontrollierte Testbestellung mit kleinem Betrag durch.
Für reproduzierbare Live-Konfigurationen können Sie eine eigene Eingabedatei verwenden:
{
"mode": "live",
"usagePurpose": "live_checkout",
"clientId": "<paypal-live-client-id>",
"clientSecret": "<paypal-live-client-secret>",
"webhookId": "<paypal-live-webhook-id>",
"isActive": true
}Fehler eingrenzen
Wenn PayPal im Checkout nicht erscheint, prüfen Sie zuerst:
- Ist PayPal aktiv?
- Steht die Nutzung auf
Live checkoutfür echte Zahlungen oder aufDemo/testfür Sandbox-Tests? - Steht der Modus auf
SandboxoderLivepassend zu den verwendeten Zugangsdaten? - Sind
Client-ID,Client SecretundWebhook-IDgesetzt? - Zeigt der Umgebungsstatus eine Blockade?
- Erlaubt der aktuelle Checkout-Kontext PayPal als Zahlart?
- Zeigt
nucli --tenant <tenant> api GET /api/v1/commerce/config/payment-providers/paypal --redactden Statusactive?
Typische Blockaden:
provider_environment_live_checkout_requires_live: Sie habenLive checkoutgewählt, PayPal steht aber aufSandbox. Wechseln Sie für echte Zahlungen aufLiveoder stellen Sie die Nutzung aufDemo/test.provider_environment_live_provider_blocked_on_nonproduction: Eine Entwicklungs- oder Staging-Installation soll Live-PayPal nutzen. Verwenden Sie dortSandboxmitDemo/test.provider_environment_demo_test_requires_sandbox: Sie habenDemo/testgewählt, PayPal steht aber aufLive. Wechseln Sie für Demo- und Testabläufe aufSandbox.