Skip to content

Zahlungsanbieter

Der Native Shop bringt zwei Zahlungsanbieter von Haus aus mit: PayPal und Stripe (Kreditkarte). Jeder hat seinen eigenen Screen unter VOD / Shop und speichert seine Zugangsdaten in einer eigenen Tabelle.

Fuer echte Zahlungen brauchst du mindestens einen konfigurierten Anbieter. Beide unterstuetzen Sandbox- und Live-Modus fuer gefahrloses Testen.

PayPal

Klicke VOD / Shop → PayPal API in der Sidebar.

PayPal-API-Einstellungen mit Client ID, Secret und Status-Umschalter
PayPal braucht Client ID, Secret und einen Status-Umschalter (Sandbox/Live).
FeldZweck
Client IDPayPal-REST-Client-ID aus dem PayPal-Developer-Dashboard.
SecretPayPal-REST-Secret, passend zur Client ID.
StatusSandbox nutzt die PayPal-Testumgebung; Live die echte.

Client ID und Secret besorgen

  1. PayPal-Developer-Dashboard oeffnen.
  2. My Apps & Credentials → REST API Apps → Create App.
  3. Client ID und Secret kopieren.
  4. Sandbox-Credentials zum Testen, Live-Credentials fuer Produktion.

Ein PayPal-Konto pro Sprache

PayPal-Zugangsdaten sind pro Sprache gespeichert. Wenn dein Shop in mehreren Sprachen laeuft und du je Markt ein anderes PayPal-Konto nutzt, hinterlege die Zugangsdaten einmal pro Sprach-Tab.

Stripe

Klicke VOD / Shop → Kreditkarte (Stripe API) in der Sidebar.

Stripe-API-Einstellungen mit Public Key, Secret, Webhook Secret
Stripe braucht drei Werte: Public Key, Secret und Webhook Secret.
FeldZweck
Public KeyStripe Publishable Key (pk_live_... oder pk_test_...). Wird im Frontend verwendet.
SecretStripe Secret Key (sk_live_... oder sk_test_...). Fuer serverseitige Charges.
Webhook SecretStripe Webhook Signing Secret (whsec_...). Signiert Gateway-Callbacks.

Stripe-Webhook registrieren

Stripe bestaetigt Zahlungen per Webhook zurueck an den Shop. Die URL muss in Stripe hinterlegt sein, damit Stripe weiss, wohin gepostet werden soll:

  1. Im Stripe-Dashboard: Developers → Webhooks → Add endpoint.
  2. Die URL setzen:
    https://deine-domain.de/_public/extensions/core/backend/shop/widgets/checkout/script/payment/libs/stripe/webhook.php
  3. Mindestens diese Events abonnieren: payment_intent.succeeded, payment_intent.payment_failed, charge.refunded, invoice.payment_succeeded, customer.subscription.updated, customer.subscription.deleted.
  4. Das Signing secret (whsec_...) des neuen Endpoints kopieren.
  5. In der CMS-Stripe-Maske in Webhook Secret einfuegen und Speichern.

Erst im Stripe-Test-Modus pruefen

Stripe hat einen vollstaendigen Test-Modus mit Testkarten (4242 4242 4242 4242). Zuerst Test-Keys hinterlegen, einen Checkout End-to-End durchlaufen, Bestellung auf Bezahlt pruefen, dann auf Live-Keys wechseln.

Sandbox ↔ Live wechseln

AnbieterSo wechseln
PayPalStatus von Sandbox auf Live stellen und Client ID + Secret durch die Live-Werte ersetzen.
StripePublic Key, Secret und Webhook Secret durch die Live-Pendants ersetzen (sk_live_…, pk_live_…, whsec_… vom Live-Webhook-Endpoint).

Haeufige Fehler

Live-Zahlungen mit Test-Credentials

Wer das Umstellen von Sandbox auf Live vergisst, laesst echte Kunden eine Fehlermeldung bei PayPal sehen oder Stripe verweigert die Karte. Nach dem Umstellen immer mindestens einen End-to-End-Test laufen lassen.

Webhook-Secret passt nicht

Stimmt das Stripe-Webhook-Secret in der CMS nicht mit dem Webhook-Signing-Secret im Stripe-Dashboard ueberein, schlagen Callbacks stumm fehl. Bestellungen bleiben nach erfolgreicher Zahlung auf Ausstehend.

PayPal leitet auf alte URL

PayPal cached die Return-URL aus dem ersten Konfigurations-Call. Wenn du die Domain wechselst, besser eine neue PayPal-REST-App anlegen, statt die bestehende zu bearbeiten.

Siehe auch