Zum Inhalt

WooCommerce Integration

Nehmen Sie Online-Zahlungen in WooCommerce (WordPress) mit dem offiziellen SecPaid for WooCommerce Plugin entgegen. Diese Anleitung richtet sich an Shop-Betreiber und Integratoren ohne Vorkenntnisse in WooCommerce oder SecPaid.

Übersicht

System Rolle
WooCommerce Ihr Onlineshop — Produkte, Warenkorb, Checkout, Bestellungen
SecPaid Zahlungsanbieter — Kunde zahlt auf der SecPaid-Seite
SecPaid for WooCommerce Plugin Verbindet beide Systeme — Weiterleitung, Webhooks, Bestellstatus

Das Plugin wird von SPACEPITCH gepflegt und unterstützt WooCommerce 6.0+ (Plugin v3.0.0+), inklusive der neuen Cart & Checkout Blocks.

Download

Plugin ab GitHub Releases herunterladen (secpaid-woocommerce-3.0.0.zip).

So funktioniert die Zahlung

sequenceDiagram
    participant Kunde
    participant Woo as WooCommerce
    participant SecPaid

    Kunde->>Woo: Checkout — SecPaid wählen
    Woo->>Woo: Bestellung anlegen (ausstehend)
    Woo->>SecPaid: createLink API
    Woo->>Kunde: Weiterleitung zu SecPaid (pay_link)
    Kunde->>SecPaid: Zahlung abschließen
    SecPaid->>Woo: Webhook POST (?wc-api=secpaid-webhook)
    Woo->>Woo: Bestellung als bezahlt markieren (payment_complete)
    SecPaid->>Kunde: Redirect (?wc-api=secpaid-callback)
    Kunde->>Woo: Bestellbestätigungsseite

Callback vs. Webhook

Entspricht dem Muster in Webhooks & Callbacks:

URL Typ Zweck
https://IHR-SHOP/?wc-api=secpaid-callback Browser-Weiterleitung Kunde zur Bestellbestätigung führen
https://IHR-SHOP/?wc-api=secpaid-webhook Server-POST Maßgebliche Zahlungsbestätigung

Webhook niemals auslassen

Der Callback verbessert nur das Kundenerlebnis. Die Bestellabwicklung basiert auf dem Webhook — das Plugin markiert Bestellungen als bezahlt (über payment_complete()), sobald der Webhook eintrifft, auch wenn der Kunde den Browser schließt.

Voraussetzungen

  • WordPress 6.0+ und WooCommerce 6.0+
  • PHP 7.4+
  • Gültiges HTTPS auf Ihrer Shop-Domain
  • Shop aus dem Internet erreichbar (SecPaid muss Webhooks senden können)
  • SecPaid-Konto (Sandbox und/oder Produktion)

Schritt 1 — Plugin installieren

  1. secpaid-woocommerce-3.0.0.zip von GitHub Releases herunterladen.
  2. Im WordPress-Admin: Plugins → Installieren → Plugin hochladen.
  3. ZIP auswählen, Jetzt installieren, dann Aktivieren.

Schritt 2 — WooCommerce konfigurieren

  1. WooCommerce → Einstellungen → Zahlungen öffnen.
  2. SecPaid öffnen und aktivieren.
  3. Konfigurieren:
Einstellung Beschreibung
Titel Im Checkout angezeigter Name
Beschreibung Text unter dem Titel
API Key Ihr SecPaid API-Token (Authentifizierung)
Umgebung Sandboxapp.dev.secpaid.com · Produktionapp.secpaid.com
Debug-Log Optionales Logging unter WooCommerce → Status → Logs (Quelle: secpaid)
  1. Änderungen speichern.

Integrations-URLs kopieren

Die Einstellungsseite zeigt die beiden URLs, die Ihr SecPaid-Konto benötigt:

Bezeichnung Beispiel
Callback-URL https://shop.example.com/?wc-api=secpaid-callback
Webhook-URL https://shop.example.com/?wc-api=secpaid-webhook

Schritt 3 — SecPaid konfigurieren

Im SecPaid-Dashboard anmelden:

Integrations-URLs

SecPaid-Einstellung Wert
Callback-URL https://IHRE-SHOP-DOMAIN/?wc-api=secpaid-callback
Payment Endpoint (Webhook) https://IHRE-SHOP-DOMAIN/?wc-api=secpaid-webhook

Domain muss übereinstimmen

Die Shop-Domain muss mit der WordPress Website-Adresse (URL) übereinstimmen. Nur HTTPS verwenden.

API-Key

Erstellen oder kopieren Sie ein API-Token in SecPaid und fügen Sie es in WooCommerce Zahlungen → SecPaid → API Key ein. Verwenden Sie ein Sandbox-Token, wenn die Umgebung auf Sandbox steht.

Schritt 4 — In der Sandbox testen

  1. WooCommerce-Umgebung auf Sandbox stellen.
  2. Testbestellung aufgeben und im Checkout SecPaid wählen.
  3. Zahlung auf app.dev.secpaid.com abschließen.
  4. Prüfen:
Prüfung Erwartet
Kunden-Weiterleitung WooCommerce Bestellbestätigung
WooCommerce → Bestellungen Status In Bearbeitung oder Abgeschlossen
SecPaid-Dashboard Zahlung erfolgreich

Schneller Endpoint-Test

curl -X POST "https://IHR-SHOP/?wc-api=secpaid-webhook" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "ResponseCode=1&data[pay_id]=test&data[status]=Success"

Erwartete Antwort: {"received":true} (für die Test-pay_id wird keine Bestellung aktualisiert — das ist normal).

Go-live-Checkliste

  • WooCommerce-Umgebung auf Produktion stellen
  • Produktions-API-Key verwenden
  • Callback- und Webhook-URLs auf die Produktions-Domain aktualisieren
  • Gültiges SSL-Zertifikat bestätigen
  • Eine echte Testbestellung durchführen

Fehlerbehebung

Kunde landet wieder im Warenkorb / Zahlung startet nicht

Ursache Lösung
Ungültiger oder fehlender API-Key Token unter Zahlungen → SecPaid neu eingeben
Falsches Umgebungs-Token Sandbox/Produktions-Key mit der Umgebung abgleichen
Ausgehendes HTTPS blockiert Server-Zugriff auf app.secpaid.com erlauben

Bestellung bleibt nach Zahlung „ausstehend"

Ursache Lösung
Webhook-URL in SecPaid fehlt …/?wc-api=secpaid-webhook setzen
Shop blockiert POST-Anfragen Webhook-URL durch Firewall / CDN / Ingress freigeben
Permalink-Problem Einstellungen → Permalinks neu speichern (Rewrite-Regeln aktualisieren)

Zahlungsart wird im Checkout nicht angezeigt

  • Plugin unter Zahlungen nicht aktiviert
  • API-Key leer
  • Beim Block-Checkout: Plugin muss v3.0.0+ sein (frühere Versionen registrierten die falsche Block-ID)

Technische Referenz

Thema Detail
Plugin-Repository SPACEPITCH/SP-Woocommerce-Plugin
Ausführliche Anleitung Docs im Plugin-Repo
Gateway-ID secpaid_payment
Bestellbestätigung WC_Order::payment_complete() (idempotent)
HPOS / Blocks Kompatibel (deklariert)

Support