Zum Inhalt

URL-Benachrichtigungen

Bei bestimmten Aktionen ruft wpShopGermany eine von Ihnen hinterlegte Adresse (URL) auf und übergibt dabei Daten zu Produkt, Bestellung und Kunde per POST. Damit kann ein eigenes Skript auf einem Server z. B. Zugänge freischalten, eine Warenwirtschaft informieren oder Daten weiterverarbeiten.

Diese Seite beschreibt, wann der Shop benachrichtigt und welche Daten er sendet. Ein Beispielskript und die Einrichtung Schritt für Schritt finden Sie im Tutorial URL-Benachrichtigung.

Übersicht der Benachrichtigungen

Auslöser Wert von typ Einstellung
Kauf eines Produkts buy je Produkt: URL Benachrichtigung mit Haken Beim Verkauf
Bezahlung eines Produkts pay je Produkt: URL Benachrichtigung mit Haken Bei Bezahlung
Schreiben einer Rechnung rechnung zentral im Modul Rechnungen, beim Schreiben anhaken
Aboprodukte (Kauf, Verlängerung, Ablauf, Start/Stopp) abo_firstbuy, abo_rebuy, abo_expiration, abo_status_started, abo_status_stopp Modul Aboprodukte

Auch das Modul Lieferschein hat eine eigene Einstellung für eine URL-Benachrichtigung beim Erstellen eines Lieferscheins.

Die URL muss vollständig sein und direkt auf das Skript zeigen, z. B. https://shop.test/benachrichtigung.php. Ungültige Adressen ruft der Shop nicht auf.

Benachrichtigung beim Kauf eines Produkts

Hinterlegen Sie die URL beim Produkt im Reiter Allgemein im Kasten URL Benachrichtigung und setzen Sie den Haken Beim Verkauf. Der Shop ruft die URL auf, sobald eine Bestellung mit diesem Produkt abgeschlossen wird – einmal je Produkt der Bestellung.

$_POST['typ'] hat dabei den Wert buy.

Benachrichtigung bei Bezahlung eines Produkts

Hinterlegen Sie die URL wie oben und setzen Sie den Haken Bei Bezahlung. Der Shop ruft die URL auf, wenn die Bestellung in den Status „Zahlung akzeptiert“ wechselt – z. B. durch die Rückmeldung des Zahlungsanbieters oder wenn Sie den Status in der Bestellverwaltung setzen.

$_POST['typ'] hat dabei den Wert pay. Die übrigen Daten entsprechen der Benachrichtigung beim Kauf.

Benachrichtigung beim Schreiben einer Rechnung

Die URL hinterlegen Sie zentral unter wpShopGermany → Konfiguration → Module → Rechnungen, Reiter Sonstiges, Feld URL Benachrichtigung. Sie gilt für alle Bestellungen.

Benachrichtigt wird nur, wenn beim Schreiben der Haken URL Benachrichtigung gesetzt ist:

  • beim Schreiben einer einzelnen Rechnung in der Bestellansicht (Reiter Rechnung erstellen),
  • beim Schreiben einer Sammelrechnung aus der Bestellübersicht (einmal je enthaltener Bestellung).

Rechnungen, die über die Sammelaktion Rechnung schreiben in der Bestellübersicht oder automatisch erstellt werden, lösen keine Benachrichtigung aus.

$_POST['typ'] hat dabei den Wert rechnung. Da sich diese Benachrichtigung auf die Bestellung bezieht, enthält sie keine Produktdaten, nur Bestell- und Kundendaten.

Übertragene Daten

Parameter Inhalt
typ Art der Benachrichtigung (siehe oben)
time Zeitstempel der Anfrage (Unix-Zeit)
hash Prüfsumme: md5(SALT-Schlüssel + time), siehe Absicherung
product_index Position des Produkts in der Bestellung (nur Kauf/Bezahlung)
product_{Spalte} alle Felder des Produkts aus der Tabelle wp_wpsg_products, z. B. product_id, product_name, product_anr, product_preis (nur mit Produktbezug)
produkt_key Produktschlüssel (bei Varianten inklusive Variante)
menge bestellte Menge des Produkts
order_{Spalte} alle Felder der Bestellung aus der Tabelle wp_wpsg_order, z. B. order_id, order_onr, order_price_gesamt_brutto, order_status
customer_{Spalte} Kundendaten aus wp_wpsg_kunden und die Rechnungsadresse des Kunden, z. B. customer_knr, customer_email, customer_vname, customer_name, customer_strasse, customer_plz, customer_ort
ov_{ID} Werte der Bestellvariablen (wenn das Modul aktiv ist)
pv_{ID} Werte der Produktvariablen (wenn das Modul aktiv ist, nur mit Produktbezug)
at_{ID} Werte der Produktattribute (wenn das Modul aktiv ist, nur mit Produktbezug)
order, kunde Bestell- und Kundendaten noch einmal als verschachtelte Arrays (veraltet, nur für ältere Skripte)

Beim Präfix {Spalte} steht der Name der Datenbankspalte. Welche Spalten es gibt, hängt von Version und aktiven Modulen ab. Lassen Sie sich die Daten beim Testen einmal vollständig ausgeben (siehe Tutorial).

Beispiel

Gekürztes Beispiel einer Benachrichtigung beim Kauf (Beispieldaten):

Array
(
    [typ] => buy
    [time] => 1758787200
    [product_index] => 0
    [product_id] => 12
    [product_cdate] => 2025-03-01 10:15:00
    [product_name] => Beispielprodukt
    [product_detailname] =>
    [product_anr] => A-1001
    [product_preis] => 19.99
    [product_ptemplate_file] => standard.phtml
    [product_posturl] => https://shop.test/benachrichtigung.php
    [product_posturl_verkauf] => 1
    [product_posturl_bezahlung] => 1
    …
    [produkt_key] => 12
    [menge] => 1
    [order_id] => 89
    [order_onr] => 2025-0089
    [order_cdate] => 2025-09-25 09:30:12
    [order_k_id] => 10
    [order_ip] => 192.0.2.10
    [order_price_gesamt_brutto] => 24.94
    [order_type_shipping] => 1
    [order_type_payment] => 1
    [order_status] => 0
    …
    [customer_id] => 10
    [customer_knr] => 10
    [customer_email] => kunde@beispiel.test
    [customer_title] => 0
    [customer_vname] => Max
    [customer_name] => Mustermann
    [customer_strasse] => Musterstraße
    [customer_nr] => 1
    [customer_plz] => 12345
    [customer_ort] => Musterstadt
    [customer_land] => 1
    …
    [ov_1] => Keine Auswahl
    [order] => Array ( … )
    [kunde] => Array ( … )
    [hash] => 5d41402abc4b2a76b9719d911017c592
)

Bei typ = rechnung fehlen die Felder product_…, produkt_key, menge, pv_… und at_….

Absicherung

Damit niemand Benachrichtigungen fälschen kann, sendet der Shop in hash eine Prüfsumme aus dem SALT Schlüssel und dem Zeitstempel time. Den Schlüssel finden Sie unter wpShopGermany → Konfiguration → Einstellungen → Erweitert → SALT Schlüssel (siehe Erweitert). Ihr Skript berechnet md5(SALT Schlüssel . $_POST['time']) und verarbeitet die Anfrage nur, wenn das Ergebnis mit $_POST['hash'] übereinstimmt.

Hinweis

Die Benachrichtigung überträgt personenbezogene Daten (Name, Adresse, E-Mail, IP-Adresse). Verwenden Sie für die URL HTTPS und berücksichtigen Sie die Übermittlung in Ihrer Datenschutzerklärung.