1. Home
  2. Dokumente
  3. wpShopGermany4
  4. Tutorials
  5. Tutorial URL Benachrichtigung

Tutorial URL Benachrichtigung

Über die Funktion der URL Benachrichtigung lassen sich mit dem wpShopGermany zahlreiche Problemstellungen lösen. Über die URL Benachrichtigung kann der Shop externe Scripte bei bestimmten Aktionen aufrufen.

Dabei werden Parameter an das Script per POST Variablen übergeben. Der Shop kann dabei bei folgenden Aktionen externe Scripte aufrufen:

  • Kauf eines Produktes
  • Zahlung eines Produktes
  • Erstellung einer Rechnung zu einer Bestellung

Die URL muss in der Produktverwaltung hinterlegt werden und der Haken bei „beim Verkauf“ muss gesetzt sein. Sie muss vollständig auf ein Script zeigen. Die Daten werden dann per POST an dieses Script gesendet.

Beim Kauf eines Produktes steht $_POST[‚typ‘] auf „buy“.

Die Daten des gekauften Produktes befinden sich dann wie folgt in dem $_POST Array:

$_POST['product_id'] – Zeigt auf die Produkt ID
$_POST['product_name'] – Zeigt auf den Produkt Namen

 

Allgemein können die Felder aus der Produkttabelle wie folgt genutzt werden: $_POST[‚product_{%Name der Spalte in wp_wpsg_products%}‘]

Array
(
    [typ] => buy
    [produkt_key] => 1
    [product_id] => 1
    [product_cdate] => 2012-07-29 12:49:02
    [product_name] => Tesprodukt 
    [product_detailname] => test
    [product_anr] => 1
    [product_typ] => 
    [product_preis] => 107.00
    [product_preis_netto] => 100.00
    [product_mwst] => 1
    [product_beschreibung] => 
    [product_pgruppe] => 0
    [product_ptemplate_file] => standard.phtml
    [product_deleted] => 0
    [product_lang_parent] => 0
    [product_lang_locale] => 
    [product_rabatt] => 0___0.00
    [product_posturl] =>

http://wpshopgermany.maennchen1.de/posttest.php

    [product_posturl_verkauf] => 1
    [product_posturl_bezahlung] => 1
    [product_produktvars] => 1
    [product_mod_basketteaser_from] => 0000-00-00
    [product_mod_basketteaser_to] => 0000-00-00
    [product_weight] => 0.00
    [product_wpsg_mod_ordercondition] => 1
    [product_mod_varianten] => a:0:{}
    [product_partikel] => 0
    [product_wpsg_mod_voucherproduct_gs] => 0
    [product_wpsg_mod_voucherproduct_gsvalue] => 0.00
    [product_wpsg_mod_voucherproduct_gstyp] => 
    [product_wpsg_mod_voucherproduct_gslaenge] => 10
    [product_wpsg_mod_voucherproduct_available] => 0
    [product_wpsg_mod_scaleprice_activ] => 1
    [product_wpsg_mod_scaleprice_typ] => 0
    [menge] => 1
    [order_id] => 89
    [order_onr] => 89
    [order_cdate] => 2013-05-03 17:22:52
    [order_k_id] => 10
    [order_ip] => 217.92.137.74
    [order_useragent] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0
    [order_comment] => 
    [order_price_gesamt] => 107.0000
    [order_price_shipping] => 0.0000
    [order_price_payment] => 0.0000
    [order_price_rabatt] => 0.0000
    [order_price_gs] => 0.0000
    [order_mwst_payment] => 0.0000
    [order_mwst_shipping] => 0.0000
    [order_type_shipping] => 6_1
    [order_type_payment] => 1
    [order_shipping_vname] => Daniel
    [order_shipping_name] => Schmitzer
    [order_shipping_strasse] => Straße 123
    [order_shipping_hausnr] => 
    [order_shipping_plz] => 12345
    [order_shipping_ort] => afsdfs
    [order_shipping_land] => 1
    [order_shipping_firma] => 
    [order_bname] => 
    [order_bblz] => 
    [order_binhaber] => 
    [order_payed_date] => 0000-00-00 00:00:00
    [order_bnr] => 
    [order_bvars] => a:1:{i:1;s:0:"";}
    [order_pvars] => 
    [order_status] => 0
    [order_transaction] => 
    [order_cab_externalid] => 
    [order_cab_requestTrackingID] => 
    [order_cab_transactionID] => 
    [order_cab_transactionStatus] => 
    [order_cab_started] => 0000-00-00 00:00:00
    [order_cab_lastupdate] => 0000-00-00 00:00:00
    [order_cab_paylink] => 
    [order_cab_repayed] => 0.00
    [order_dp_cron_planed] => 0000-00-00 00:00:00
    [order_dp_cron_done] => 0000-00-00 00:00:00
    [order_gs_id] => 0
    [order_kleinunternehmer] => 0
    [order_custom_data] => a:5:{s:6:"basket";a:8:{s:4:"land";a:5:{s:2:"id";s:1:"1";s:4:"name";s:11:"Deutschland";s:7:"kuerzel";s:2:"DE";s:2:"vz";s:1:"3";s:4:"mwst";s:1:"2";}s:6:"noMwSt";b:0;s:8:"produkte";a:1:{i:0;a:12:{s:3:"anr";s:1:"1";s:12:"preis_brutto";s:6:"107.00";s:11:"preis_netto";d:100;s:4:"name";s:11:"Tesprodukt ";s:10:"detailname";s:4:"test";s:4:"mwst";s:1:"1";s:10:"mwst_value";s:4:"7.00";s:5:"menge";s:1:"1";s:2:"id";s:1:"1";s:7:"referer";s:1:"/";s:6:"weight";d:0;s:5:"preis";s:6:"107.00";}}s:4:"mwst";a:1:{i:1;a:4:{s:5:"value";s:4:"7.00";s:4:"name";s:17:"Ermäßigter Satz";s:3:"sum";d:7;s:10:"base_value";d:107;}}s:3:"sum";a:14:{s:4:"mwst";d:7;s:11:"preis_netto";d:100;s:12:"preis_brutto";d:107;s:19:"preis_gesamt_brutto";d:107;s:18:"preis_gesamt_netto";d:100;s:5:"preis";d:107;s:12:"preis_gesamt";d:107;s:6:"weight";d:0;s:20:"preis_shipping_netto";d:0;s:21:"preis_shipping_brutto";s:0:"";s:19:"preis_payment_netto";d:0;s:20:"preis_payment_brutto";s:4:"0.00";s:14:"preis_shipping";s:0:"";s:13:"preis_payment";s:4:"0.00";}s:5:"menge";i:1;s:8:"checkout";a:20:{s:2:"id";s:2:"10";s:5:"firma";s:0:"";s:5:"title";s:4:"Herr";s:5:"vname";s:6:"Daniel";s:4:"name";s:9:"Schmitzer";s:5:"email";s:20:"
";s:6:"email2";s:20:"
";s:3:"geb";s:0:"";s:3:"fax";s:0:"";s:3:"tel";s:0:"";s:7:"strasse";s:11:"Straße 123";s:3:"plz";s:5:"12345";s:3:"ort";s:6:"afsdfs";s:4:"land";s:1:"1";s:7:"ustidnr";s:0:"";s:7:"comment";s:0:"";s:8:"shipping";s:3:"6_1";s:7:"payment";s:1:"1";s:4:"k_id";s:2:"10";s:3:"knr";s:2:"10";}s:7:"payment";a:1:{s:4:"mwst";s:4:"7.00";}}s:13:"preis_backend";s:1:"0";s:14:"preis_frontend";s:1:"0";s:21:"wpsg_kleinunternehmer";s:0:"";s:26:"wpsg_kleinunternehmer_text";b:0;}
    [order_admincomment] => 
    [order_weight] => 0.00
    [order_language] => 
    [order_mod_billsafe_token] => 
    [order_mod_billsafe_transaction_id] => 
    [order_shipping_title] => Herr
    [order_mod_autodebit_name] => 
    [order_mod_autodebit_blz] => 
    [order_mod_autodebit_inhaber] => 
    [order_mod_autodebit_knr] => 
    [customer_id] => 10
    [customer_knr] => 10
    [customer_paypal_payer_id] => 
    [customer_title] => Herr
    [customer_name] => Schmitzer
    [customer_vname] => Daniel
    [customer_email] =>
    [customer_firma] => 
    [customer_fax] => 
    [customer_strasse] => Straße 123
    [customer_plz] => 12345
    [customer_ort] => afsdfs
    [customer_land] => 1
    [customer_tel] => 
    [customer_geb] => 0000-00-00
    [customer_ustidnr] => 
    [customer_custom] => a:0:{}
    [customer_budget] => 0.00
    [customer_passwort_saltmd5] => 
    [customer_comment] => 
    [customer_wp_user_id] => 0
    [customer_status] => 
    [at_1] => 
    [ov_1] => Keine Auswahl
    [order] => Array
        (
            [id] => 89
            [onr] => 89
            [cdate] => 2013-05-03 17:22:52
            [k_id] => 10
            [ip] => 217.92.137.74
            [useragent] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0
            [comment] => 
            [price_gesamt] => 107.0000
            [price_shipping] => 0.0000
            [price_payment] => 0.0000
            [price_rabatt] => 0.0000
            [price_gs] => 0.0000
            [mwst_payment] => 0.0000
            [mwst_shipping] => 0.0000
            [type_shipping] => 6_1
            [type_payment] => 1
            [shipping_vname] => Daniel
            [shipping_name] => Schmitzer
            [shipping_strasse] => Straße 123
            [shipping_hausnr] => 
            [shipping_plz] => 12345
            [shipping_ort] => afsdfs
            [shipping_land] => 1
            [shipping_firma] => 
            [bname] => 
            [bblz] => 
            [binhaber] => 
            [payed_date] => 0000-00-00 00:00:00
            [bnr] => 
            [bvars] => a:1:{i:1;s:0:"";}
            [pvars] => 
            [status] => 0
            [transaction] => 
            [cab_externalid] => 
            [cab_requestTrackingID] => 
            [cab_transactionID] => 
            [cab_transactionStatus] => 
            [cab_started] => 0000-00-00 00:00:00
            [cab_lastupdate] => 0000-00-00 00:00:00
            [cab_paylink] => 
            [cab_repayed] => 0.00
            [dp_cron_planed] => 0000-00-00 00:00:00
            [dp_cron_done] => 0000-00-00 00:00:00
            [gs_id] => 0
            [kleinunternehmer] => 0
            [custom_data] => a:5:{s:6:"basket";a:8:{s:4:"land";a:5:{s:2:"id";s:1:"1";s:4:"name";s:11:"Deutschland";s:7:"kuerzel";s:2:"DE";s:2:"vz";s:1:"3";s:4:"mwst";s:1:"2";}s:6:"noMwSt";b:0;s:8:"produkte";a:1:{i:0;a:12:{s:3:"anr";s:1:"1";s:12:"preis_brutto";s:6:"107.00";s:11:"preis_netto";d:100;s:4:"name";s:11:"Tesprodukt ";s:10:"detailname";s:4:"test";s:4:"mwst";s:1:"1";s:10:"mwst_value";s:4:"7.00";s:5:"menge";s:1:"1";s:2:"id";s:1:"1";s:7:"referer";s:1:"/";s:6:"weight";d:0;s:5:"preis";s:6:"107.00";}}s:4:"mwst";a:1:{i:1;a:4:{s:5:"value";s:4:"7.00";s:4:"name";s:17:"Ermäßigter Satz";s:3:"sum";d:7;s:10:"base_value";d:107;}}s:3:"sum";a:14:{s:4:"mwst";d:7;s:11:"preis_netto";d:100;s:12:"preis_brutto";d:107;s:19:"preis_gesamt_brutto";d:107;s:18:"preis_gesamt_netto";d:100;s:5:"preis";d:107;s:12:"preis_gesamt";d:107;s:6:"weight";d:0;s:20:"preis_shipping_netto";d:0;s:21:"preis_shipping_brutto";s:0:"";s:19:"preis_payment_netto";d:0;s:20:"preis_payment_brutto";s:4:"0.00";s:14:"preis_shipping";s:0:"";s:13:"preis_payment";s:4:"0.00";}s:5:"menge";i:1;s:8:"checkout";a:20:{s:2:"id";s:2:"10";s:5:"firma";s:0:"";s:5:"title";s:4:"Herr";s:5:"vname";s:6:"Daniel";s:4:"name";s:9:"Schmitzer";s:5:"email";s:20:"
";s:6:"email2";s:20:"
";s:3:"geb";s:0:"";s:3:"fax";s:0:"";s:3:"tel";s:0:"";s:7:"strasse";s:11:"Straße 123";s:3:"plz";s:5:"12345";s:3:"ort";s:6:"afsdfs";s:4:"land";s:1:"1";s:7:"ustidnr";s:0:"";s:7:"comment";s:0:"";s:8:"shipping";s:3:"6_1";s:7:"payment";s:1:"1";s:4:"k_id";s:2:"10";s:3:"knr";s:2:"10";}s:7:"payment";a:1:{s:4:"mwst";s:4:"7.00";}}s:13:"preis_backend";s:1:"0";s:14:"preis_frontend";s:1:"0";s:21:"wpsg_kleinunternehmer";s:0:"";s:26:"wpsg_kleinunternehmer_text";b:0;}
            [admincomment] => 
            [weight] => 0.00
            [language] => 
            [mod_billsafe_token] => 
            [mod_billsafe_transaction_id] => 
            [shipping_title] => Herr
            [mod_autodebit_name] => 
            [mod_autodebit_blz] => 
            [mod_autodebit_inhaber] => 
            [mod_autodebit_knr] => 
        )

    [kunde] => Array
        (
            [id] => 10
            [knr] => 10
            [paypal_payer_id] => 
            [title] => Herr
            [name] => Schmitzer
            [vname] => Daniel
            [email] =>
            [firma] => 
            [fax] => 
            [strasse] => Straße 123
            [plz] => 12345
            [ort] => afsdfs
            [land] => 1
            [tel] => 
            [geb] => 0000-00-00
            [ustidnr] => 
            [custom] => a:0:{}
            [budget] => 0.00
            [passwort_saltmd5] => 
            [comment] => 
            [wp_user_id] => 0
            [status] => 
        )

)
  1. Anlegen eines Testscripts

Speichern Sie folgendes Script auf einem durch den Shop erreichbaren Webservers ab.

<?php

    /**
     * Damit die Anfragen nicht verfälscht oder simuliert werden können
     * Sollte hier der Key eingetragen werden, den man im Shop unter
     * Shop -> Konfiguration -> Einstellungen -> Erweitert -> "SALT Schlüssel"
     * findet
     */
    $salt_key = "{Hier Ihren SALT Key eintragen}";

    // Hash Test
    $hash = md5($salt_key.$_POST['time']);

    if ($hash != $_POST['hash']) die("Fehler bei der Anfrage!");

    /**
     * Damit man die Funktion der URL Benachrichtigung testen kann, 
     * kann man sich die Parameter per Mail senden lassen
     * Ist das Script fertig und getestet, so kann man diese Zeile auskommentieren.
     */
    mail("{Hier Ihre E-Mail eintragen}", "wpShopGermany URL Benachrichtigungstest", print_r($_POST, 1));

    if ($_REQUEST['typ'] == 'buy')
    {

        /**
         * Ein Produkt wurde gekauft
         */         

        $product_id = $_REQUEST['product_id'];
        $order_id = $_REQUEST['order_id'];
        $customer_id = $_REQUEST['customer_id'];
        $menge = $_REQUEST['menge'];

        // TODO: Aktion bei kauf eines Produktes

    }
    else if ($_REQUEST['typ'] == 'pay')
    {

        /**
         * Ein Produkt wurde bezahlt
         */

        $product_id = $_REQUEST['product_id'];
        $order_id = $_REQUEST['order_id'];
        $customer_id = $_REQUEST['customer_id'];
        $menge = $_REQUEST['menge'];

        // TODO: Aktion bei Bezahlung eines Produktes

    }
    else if ($_REQUEST['typ'] == 'rechnung')
    {

        /**
         * Eine Rechnung für eine Bestellung wurde erstellt
         */

        $order_id = $_REQUEST['order_id'];
        $customer_id = $_REQUEST['customer_id'];

        // TODO: Aktion bei Erstellung einer Rechnung

    }

?>

2. Konfiguration für Kauf/Zahlung

Damit die URL auch angesprochen wird, muss in der Produktverwaltung die URL Benachrichtigung für die gewünschten Produkte aktiviert werden.

Sie müssen die URL ihres Scriptes eintragen und die Benachrichtigung für Kauf („beim Verkauf“) bzw. Zahlung („bei Bezahlung“) aktivieren.

Die URL muss in der Produktverwaltung hinterlegt werden und der Haken bei „bei Bezahlung“ muss gesetzt sein. Sie muss vollständig auf ein Script zeigen. Die Daten werden dann per POST an dieses Script gesendet.

Bei Bezahlung eines Produktes steht $_POST[‚typ‘] auf „pay“.

Die Produktdaten sind in dem $_POST Array wie bei der Benachrichtigung (1) enthalten.

Der Übermittelte Array sieht wie bei (1) aus, nur in [‚typ‘] steht „pay“.

2. Konfiguration für Rechnung

Damit das Script beim schreiben einer Rechnung aufgerufen wird, muss die URL im Rechnungsmodul hinterlegt werden.

Weiterhin muss der Haken bei „URL Benachrichtigung“ in der Bestellansicht gesetzt sein wenn die Rechnung geschrieben wird.

Die URL für die Benachrichtigung beim schreiben einer Rechnung wird in den Einstellungen des Rechnungsmoduls definiert. Sie gilt dann Systemweit

Bei der Benachrichtigung steht dann $_POST[‚typ‘] auf „rechnung“.

Im Gegensatz zu der Benachrichtigung (1) und (2) sind hier keine Daten der Produkte enthalten, da sich diese Benachrichtigung auf die Bestellung bezieht. Die Daten des Kunden und der Bestellung sind wie folgt enthalten:

$_POST[‚order_{%Name der Spalte in wp_wpsg_order%}‘] enthält die Daten aus der Bestelltabelle$_POST[‚customer_{%Name der Spalte in wp_wpsg_kunden%}‘], enthält die Daten aus der Kundentabelle

Hinweis: Die URL Benachrichtigung wird nur beim manuellen schreiben der Rechnung aufgerufen und muss extra angehakt werden. Beim schreiben von mehreren Rechnungen aus der Übersicht wird keine URL benachrichtigt.

Fandest du diesen Artikel hilfreich? Nein Ja

Wie können wir helfen?