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¶
secpaid-woocommerce-3.0.0.zipvon GitHub Releases herunterladen.- Im WordPress-Admin: Plugins → Installieren → Plugin hochladen.
- ZIP auswählen, Jetzt installieren, dann Aktivieren.
Schritt 2 — WooCommerce konfigurieren¶
- WooCommerce → Einstellungen → Zahlungen öffnen.
- SecPaid öffnen und aktivieren.
- Konfigurieren:
| Einstellung | Beschreibung |
|---|---|
| Titel | Im Checkout angezeigter Name |
| Beschreibung | Text unter dem Titel |
| API Key | Ihr SecPaid API-Token (Authentifizierung) |
| Umgebung | Sandbox → app.dev.secpaid.com · Produktion → app.secpaid.com |
| Debug-Log | Optionales Logging unter WooCommerce → Status → Logs (Quelle: secpaid) |
- Ä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:
- Sandbox: app.dev.secpaid.com
- Produktion: app.secpaid.com
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¶
- WooCommerce-Umgebung auf Sandbox stellen.
- Testbestellung aufgeben und im Checkout SecPaid wählen.
- Zahlung auf
app.dev.secpaid.comabschließen. - 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¶
- support@secpaid.com
- Plugin-Probleme: GitHub Issues