Unsere kostenlose Erweiterung für Magento 2 ermöglicht Ihne die Nutzung unseres OCI- oder cXML-Gateway-PunchOuts in Verbindung mit Ihrem Magento-Onlineshop. In diesem Szenario übernehmen wir die Kommunikation mit Ihren Kunden bzw. dessen System (Ariba, Oracle oder SAP) und leiten den Kunden nach erfolgreicher Authentifizierung in Ihren Onlineshop weiter.
Einrichtung des Gateway-PunchOuts
Laden Sie die aktuelle Version der Erweiterung herunter und installieren Sie sie in Ihrem Magento 2 Onlineshop. Die aktuelle Version unseres Moduls finden Sie hier
Einrichtung in PunchCommerce
- Legen Sie einen neuen Kunden an und wählen Sie als Modus OCI- oder cXML-Gateway aus
- Schließen Sie in PunchCommerce die Konfiguration des Kunden ab, in dem Sie die Einsprungadresse (in Ihren Onlineshop) inkl. der Platzhalter {{uID}} und {{sID}} und die Kundenkennung konfigurieren
Hinweis Als Einsprungadresse konfigurieren Sie die URL Ihres Onlineshops nach dem folgenden Schema:
https://<host>.<domain>.<tld>/punchcommerce/authenticate/index/?sId={{sID}}&uId={{uID}}
Installation in Magento 2
Das Modul kann auf zwei unterschiedliche Arten installiert werden:
- Variante 1: Platzieren Sie das Modul in einem Path-Repository für composer und führen Sie den nachfolgenden Befehl aus:
composer require ecentral/module-punchcommerce
- Variante 2: Kopieren Sie die Modul-Dateien in das Verzeicnis
./app/code/Ecentral/PunchCommerce
Im nächsten Schritt müssen Sie, unabhängig davon welche der beiden Varianten Sie gewählt haben, die nachfolgenden Befehle ausführen:
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
Konfiguration in Magento 2
- Erstellen Sie einen Magento-Kunden und legen Sie im Attribut „PunchCommerce-Kunden-ID“ eine PunchCommerce-Kennung fest.
- Aktivieren Sie das Modul unter "Stores > Konfiguration > PunchCommerce > PunchCommerce-Einstellungen"
- Legen Sie fest, ob der Benutzer vor dem Aktualisieren der Sitzung gefragt werden soll, ob der Warenkorb zwangsweise geleert werden soll.
- Um den Punchout in einem iFrame mit auszuführen, müssen Sie das Konfigurationsfeld „Frame Ancestor“ auf die Domäne setzen, die den iFrame bereitstellt. Sie können mehrere durch Leerzeichen getrennte Domänen festlegen.
5.Passen Sie die Produktzuordnung an. Die zugehörige Dokumentation finden Sie auch unterhalb des Konfigurationsfelds im Magento-Backend.
- Optional Legen Sie die Hook-URL so fest, dass sie auf Ihre PunchCommerce Server-Instanz verweist. Sie müssen diesen Wert nur anpassen, wenn Sie PunchCommerce-Enterprise-Nutzer sind.
Beispiel-Konfiguration Feldzuordnung in Magento
{
"field1": {
"type": <"map"(default. may be omitted) or "static">
"target": <"product" or "item". Only used for type map. Sets product or quote item as mapping target>
"value": <Literal value for type static or attribute code to be mapped from target>
},
"field2": {
...
},
...
}
// Must contain definitions for fields: brand, price, tax_rate, purchase_unit, packaging_unit, shipping_time
Anpassungen an Ihrem Webserver
Da bei einem PunchOut Ihr Onlineshop i.d.R. als iFrame innerhalb der E-Procurement-Anwendung Ihres Kunden dargestellt wird, ist eine Anpassung der Webserver-Konfiguration erforderlich.
Apache
Es ist notwendig, die Zeile 289 in der Datei pub/.htaccess zu entfernen oder zu kommentieren:
Header set X-Frame-Options SAMEORIGIN
Diese Zeile verhindert, dass die Website in iFrames geladen wird.
Hinweis: Stellen Sie sicher, dass durch diese Änderung keine Sicherheitsrisiken entstehen. Es könnte nötig sein, andere Sicherheitsmaßnahmen zu verstärken, um den Schutz vor Clickjacking-Angriffen beizubehalten.
Nginx
Die folgende Zeile könnte ebenfalls verhindern, dass die Website in iFrames geladen wird:
add_header X-Frame-Options "SAMEORIGIN";
Hinweis: Da diese Konfiguration noch nicht getestet wurde, ist es empfehlenswert, Tests durchzuführen, um sicherzustellen, dass keine Funktionalität der Website beeinträchtigt wird. Es kann nötig sein, die Konfiguration anzupassen oder alternative Sicherheitsmaßnahmen zu ergreifen.