Klarna Checkout

Zuletzt bearbeitet am: 05.03.2021

Erste Schritte

Installation

Anforderungen

Die Felder "Adresszusatzzeile 1" und "Adresszusatzzeile 2" dürfen nicht als Pflichtfelder markiert werden, wenn Klarna Checkout aktiv ist.

  • Shopware >= 5.2.17
  • HTTPS (SSL Zertifikat)

Empfehlungen

Um Rundungsfehler zu vermeiden sollte die PHP Extension bcmath auf dem Server installiert und aktiviert werden.

Plugin installieren

Als erstes müssen Sie den Plugin Manager öffnen.

Navigieren Sie, in der linken Spalte, zu Installiert.

Klicken Sie nun auf den Plugin hochladen Button.

Klicken Sie nun auf Auswählen und selektieren Sie das Klarna Checkout ZIP Archiv.

Laden Sie nun das Plugin hoch.

Das Plugin ist nun, deinstalliert, im Plugin Manager zu finden.

Installieren Sie das Plugin indem Sie auf das grüne + Icon klicken.

Plugin konfigurieren

Öffnen Sie die Einstellungen des Plugins indem Sie zu Einstellungen -> Grundeinstellungen -> Weitere Einstellungen -> Klarna Checkout navigieren.

Hier können Sie folgende Einstellen vornehmen:

Name Beschreibung
Test oder Live Modus Im Test-Modus werden nur Test-Bestellungen angelegt, es finden keine Zahlungen statt. Stellen Sie sicher, dass Sie den Live-Modus nutzen und Ihre Live Zugangsdaten verwenden sobald Sie Klarna produktiv in Ihrem Shop nutzen möchten und reale Bestellungen getätigt werden.
Live-Händler ID Der von Klarna bereitgestellte Klarna API Key. Diesen können Sie unter https://eu.portal.klarna.com/ abrufen.
Live-Händler Passwort Der von Klarna bereitgestellte Klarna API Passwort. Diesen können Sie unter https://eu.portal.klarna.com/ abrufen.
Test-Händler ID Der von Klarna bereitgestellte Klarna API Key. Diesen können Sie unter https://playground.eu.portal.klarna.com/developer-sign-up abrufen.
Test-Händler Passwort Der von Klarna bereitgestellte Klarna API Passwort. Diesen können Sie unter https://playground.eu.portal.klarna.com/developer-sign-up abrufen.
Plugin reagiert auf Bestellstatus Sollen die automatischen Klarna Aktionen "Voll erfassen bei (Bestellstatus)" und "Voll erstatten bei (Bestellstatus)" aktiviert werden?
Plugin reagiert auf Pickware Bestellupdates Sollen die automatischen Aktionen bei Pickware Bestellupdates "Teilweise erfassen bei (Status Bestellposition)" und "Teilweise erstatten bei (Status Bestellposition)" aktiviert werden?
Löse Erstattung aus, wenn die versandte Menge in Pickware verringert wurde Wenn aktiviert, wird ein Refund ausgelöst, wenn die versandte Menge in Pickware verringert wurde
Capture on Wählen Sie den Bestellstatus, bei dem der gesamte verbleibende Betrag einer Bestellung bei Klarna erfasst werden soll.
Refund on Wählen Sie den Bestellstatus, bei dem der gesamte bereits erfasste Betrag von Klarna an den Kunden zurückerstattet werden soll. Noch nicht erfasste Beträge der Bestellungen werden freigegeben und können nicht mehr erfasst werden.
Teilweise erfassen bei (Status Bestellposition) Wählen Sie den Status der Bestellposition, bei der Betrag der Position bei Klarna erfasst werden soll.
Teilweise erstatten bei (Status Bestellposition) Wählen Sie den Status der Bestellposition, bei der Betrag der Position von Klarna an den Kunden zurückerstattet werden soll.
Kauf-Button Farbe
Kauf-Button Textfarbe
Checkbox Farbe
Checkbox-Haken Farbe
Link Farbe
Header Farbe
Rahmen-Radius Der Rahmen Radius in Pixel Einheiten.
Terms Page Geben Sie den Link zu Ihren AGB ein. Im Checkout wird dann zu diesen AGB verlinkt.
Cancellation terms page Geben Sie den Link zu Ihrer Widerrufsbelehrung ein. Im Checkout wird dann zu dieser verlinkt.
Allow separate shipping address Darf der Kunde eine separate Lieferadresse angeben oder muss diese der Rechnungsadresse entsprechen?
Disable autofocus Der Checkout wird nicht automatisch anvisiert.
Soll der Bestand bei Klarna Checkout Bestellungen validiert werden? Soll der Bestand direkt vor der Bestellanlage nochmal geprüft werden? Die Shopware Abverkaufseinstellungen werden beachtet"
External payment methods Welche Zahlungsarten sollen als externe Zahlungsarten zur Verügung gestellt werden?
External checkouts Welche Zahlungsarten sollen als externe Checkouts zur Verügung gestellt werden? Aktuell werden nur PayPal Express und Amazon Pay unterstützt.
Customer checkbox Soll der Kunde die Möglichkeit haben, sich automatisch nach dem Bestellvorgang ein Kundenkonto anlegen zu lassen?
Newsletter checkbox Soll der Kunde die Möglichkeit haben, sich autoamtisch nach dem Bestellvorgang bei dem Shop Newsletter zu registrieren.
Custom checkbox Dies zeigt eine Checkbox im Checkout an, welche Standardmäßig nichts tut. Die Funktion kann von anderen Plugins aus befüllt werden.
Sollen bei einem Fehlerfall technische Fehlermeldungen angezeigt werden? Sollen bei einem Fehlerfall (während der Checkout lädt), technische Information angezeigt werden? Dies sollte im Produktivsystem ausgeschaltet werden.
Protokoll-Level Wählen Sie das Protokoll-Level, um festzulegen, wie detailliert Klarna Ereignisse protokolliert werden sollen. Produktion: Nur Fehler werden gelogget (Timestamp, Order id etc.) Debug: Alle Informationen von und nach Klarna werden gelogget (Timestamp, Orderid etc.)
Protokoll-Ablaufzeit Wählen Sie, wie lange (in Tagen) Log-Dateien gespeichert werden sollen, bevor sie automatisch gelöscht werden.

Sie können die Klarna logs herunterladen indem Sie in den Plugin Einstellungen auf den "Protokoll-Datei runterladen" Button klicken

Zahlungsart konfigurieren

Das Klarna Checkout Plugin inkludiert eine Shopware Zahlungsart: Klarna Checkout. Diese wird beim installieren des Plugins angelegt, allerdings ist diese standardmäßig inaktiv. Das heißt, Sie müssen die Zahlungsart manuell aktivieren.

Das können Sie tun indem Sie zu Einstellungen -> Zahlungsarten navigieren.

 

Die folgenden Felder dürfen nicht angepasst werden: Bezeichnung, Name, Template, Systemklasse und Datenbank-Tabelle.

Aktivieren Sie nun die Klarna Checkout Zahlungsart

Versandkosten konfigurieren

Bevor die Klarna Zahlungsart genutzt werden kann, muss diese für die verschiedenen Versandmethoden freigegeben werden. Navigieren Sie zu Einstellungen -> Versandkosten

Wählen Sie die Versandkosten aus, welche für die Klarna Zahlungsart verfügbar sein sollen.

Wählen Sie nun den Reiter Zahlart Auswahl und verschieben Sie die Klarna Zahlungsart von Verfügbar auf Ausgewählt.

Wiederholen Sie den Vorgang, für alle Versandkosten welche angeboten werden dürfen, wenn die Klarna Zahlungsart verwendet wird.

Externe Zahlungsarten konfigurieren

Für die externen Zahlungsarten ist ein Bild optional.

Externe Zahlungsarten auswählen

Öffnen Sie die Einstellungen des Plugins indem Sie zu Einstellungen -> Grundeinstellungen -> Weitere Einstellungen -> Klarna Checkout navigieren.

Hier können Sie die externen Zahlungsarten auswählen:

Bilder für externe Zahlungsarten

Für die externen Zahlungsarten können Sie ein Bild bereitstellen, welches im Klarna Checkout für die jeweilige Zahlungsart angezeigt wird.

Dies können Sie für jede Shopware Zahlungsart individuell tun, indem Sie zu Einstellungen -> Zahlungsarten navigieren.

Wählen Sie den Reiter Freitextfelder aus.

Hier können Sie eine URL zu dem Bild für die ausgewählte Zahlungsart eingeben.

Externe Checkouts konfigurieren

Für die externen Checkouts muss ein Bild hinterlegt werden.

Externe Checkouts auswählen

Aktuell werden nur PayPal Express und Amazon Pay als externe Checkouts unterstützt.

Öffnen Sie die Einstellungen des Plugins indem Sie zu `Einstellungen -> Grundeinstellungen -> Weitere Einstellungen -> Klarna Checkout` navigieren.

Hier können Sie die externen Zahlungsarten auswählen:

Bilder für externe Checkouts

Für die externen Zahlungsarten müssen Sie ein Bild bereitstellen, welches im Klarna Checkout für die jeweilige Zahlungsart angezeigt wird.

Dies können Sie für jede Shopware Zahlungsart individuell tun, indem Sie zu Einstellungen -> Zahlungsarten navigieren.

Wählen Sie den Reiter Freitextfelder aus.

Hier können Sie eine URL zu dem Bild für die ausgewählte Zahlungsart eingeben.

Plugin aktivieren

Nun können Sie das Plugin aktivieren. Navigieren Sie zum Plugin Manager (s. Plugin Installieren) und aktivieren Sie das Plugin indem Sie auf das rote "X" klicken.

Sie werden nun gefragt, ob Sie den Cache leeren wollen. Wählen Sie "Ja" aus.

Anschließend werden Sie noch gefragt, ob Sie das Theme neu kompilieren wollen. Wählen Sie hier ebenfalls "Ja" aus.

Laden Sie das Backend nun einmal neu, um alle Funktionen zu aktivieren.

Plugin deinstallieren

Um das Plugin zu deinstallieren müssen Sie zum Plugin Manager navigieren (s. Plugin Installieren).

Da können Sie nun das Plugin deinstallieren indem Sie auf das rote icon klicken, welches einem Stoppschild ähnelt.

Es werden keine Bestellungen oder Zahlungsarten dadurch gelöscht. Die Zahlungsarten werden jedoch auf inaktiv gesetzt. Löschen Sie die Zahlungsarten auch manuell nicht, weil es sonst zu Problemen mit Bestellungen kommen kann welche mit Klarna bezahlt wurden.

Spezielle Konfiguration

Telefonnummer als Pflichtfeld

Hierfür wird die Standard Shopware Einstellung ausgelesen und entsprechend in dem Checkout als Pflichtfeld markiert oder eben nicht. Diese Einstellung kann unter Einstellungen -> Grundeinstellungen -> Storefront -> Anmeldung / Registrierung vorgenommen werden.

Geburtsdatum als Pflichtfeld

Hierfür wird die Standard Shopware Einstellung ausgelesen und entsprechend in dem Checkout als Pflichtfeld markiert oder eben nicht. Diese Einstellung kann unter Einstellungen -> Grundeinstellungen -> Storefront -> Anmeldung / Registrierung vorgenommen werden.

Adresszusatzzeile 1 & 2

Die Adresszusatzzeilen dürfen nicht als Pflichtfelder markiert werden.

B2B Bestellung

B2B Bestellungen

Im Checkout kann ausgewählt werden, ob es sich um eine B2B Bestellung handelt. Wenn dies gemacht wird, wird der Kunde auf den Shopware Standard Checkout weitergeleitet, dann kann die Bestellung wie gewohnt angelegt werden. Klarna Checkout kann aktuell nicht für B2B Bestellungen verwendet werden.

Klarna On-Site Messaging

Aktivierung von On-Site Messaging

Sofern Sie noch nicht für Klarna On-Site Messaging freigeschaltet sind, setzen Sie die Option "On-Site Messaging aktivieren" auf "ja" und speichern die Plugin Einstellungen vom Klarna Payments Plugin nochmal ab. Sie werden nun durch den Aktivierungsprozess durchgeleitet, in dem Sie die Terms of Usage (ToU) akzeptieren.

Einstellungen zur Klarna On-Site Messaging Integration im Shop

  • Die Konfigurationsoptionen für Klarna On-Site Messaging (OSM) finden Sie im Klarna Payments-Plugin, das Sie über den Plugin Manager erreichen. Die Konfigurationsseite wurde um folgende On-Site Messaging Parameter erweitert

    • On-Site Messaging Live Client ID
      Wert kann nicht geändert werden. Mit diesem API-Token bezieht sich der Shop die Live Placements von Klarna.

    • On-Site Messaging Test Client ID
      Wert kann nicht geändert werden. Mit diesem API-Token bezieht sich der Shop die Test Placements von Klarna.

    • On-Site Messaging aktivieren
      Hiermit aktivieren Sie On-Site Messaging in Ihrem Shop.

    • On-Site Messaging auf der Detail Seite aktivieren?
      Hiermit aktivieren Sie On-Site Messaging auf der Product Detail Seite.

    • On-Site Messaging im Off-Canvas Warenkorb aktivieren?
      Hiermit aktivieren Sie On-Site Messaging im Off-Canvas Warenkorb.

    • On-Site Messaging im Warenkorb aktivieren?
      Hiermit aktivieren Sie On-Site Messaging im Warenkorb.

    • On-Site Messaging Top strip promotion auf der Startseite aktivieren?
      Hiermit aktivieren Sie On-Site Messaging auf der Startseite im Header Bereich.

    • On-Site Messaging Banner promotion aktivieren?
      Hiermit aktivieren Sie On-Site Messaging auf der Startseite.

    • On-Site Messaging im Footer Bereich aktivieren?
      Hiermit aktivieren Sie On-Site Messaging auf der Startseite im Footer Bereich.

Klarna On-Site Messaging-Integration im Shop

Wichtig: Um Placements anzuzeigen muss sowohl On-Site Messaging im Backend aktiviert als auch die Terms of Usage akzeptiert sein.

In Einkaufswelten

Sie können nach der Aktivierung von On-Site Messaging in Einkaufswelten Homepage Promotions integrieren. Dazu müssen Sie nur das Klarna Banner Widget in ihre Einkaufswelt ziehen und dieses nach belieben konfigurieren. Es stehen Ihnen 3 verschiedene Varianten des Banners zur Verfügung (Box, Breit, Hoch)

In eigenen Themes (Für erfahrene Entwickler)

Es ist möglich On-Site Messaging Placements in ihrem Template nach belieben einzubauen.

Dazu ist es notwendig den Ordner (KlarnaPaymentsPlugin/Resources/views/frontend/bestit_klarna_onsite_messaging/placements) aus dem Klarna Payments Plugin in ihr eigenes Theme zu kopieren.

Danach können Sie die 4 verschiedenen Placements in ihr Template einfügen wo sie wollen.

Top Strip Promotion

{include file='pfad/zu/ihrem/placements/ordner/top-strip-promotion.tpl'}

Dieser Placement Typ hat keine verfügbaren Attribute.

Sidebar Promotion

{include file='pfad/zu/ihrem/placements/placements/sidebar-promotion.tpl'}

Dieser Placement Typ hat keine verfügbaren Attribute.

Homepage-Promotion

{include file='pfad/zu/ihrem/placements/placements/homepage-promotion.tpl' bannerType='box' refreshOnLoad='false'}

Parameter Homepage-Promotion

Name Werte Beschreibung
bannerType box tall wide (optional) Die verschiedenen Typen von Bannern die Klarna zur verfügung stellt.
refreshOnLoad false true (optional) true: Das Placement wird neu initialisiert. Dies ist notwendig wenn das Placement Tag erst nach dem "pageload"-Event in den Content der Seite kommt wie es etwa bei Ajax-geladenen Inhalten oder Einkaufswelt-Inhalten der Fall ist.

Credit Promotion

 

 

 

{include file='pfad/zu/ihrem/placements/placements/credit-promotion.tpl' purchaseAmount='1903' refreshOnLoad='true' shouldUpdate='true'}

Parameter

Name Werte Beschreibung
purchaseAmount Wert in Cent (z.B. 1903) (erforderlich) Der Kaufwert des Artikels/der Artikel in Cent. 1903 steht dabei für 19,03€
refreshOnLoad false true (optional) true: Das Placement wird neu initialisiert. Dies ist notwendig wenn das Placement Tag erst nach dem "pageload"-Event in den Content der Seite kommt wie es etwa bei Ajax-geladenen Inhalten der Fall ist.
shouldUpdate false true (optional) true: Das Placement wird neu initialisiert sobald sich der Preis (purchaseAmount) verändert. Zum Beispiel bei Änderungen der Anzahl von Artikeln die gekauft werden sollen.

Plugin erweitern

Individuelle Checkbox

Die individuelle Checkbox kann mit einer beliebigen Funktion gefüllt werden, welche ausgeführt wird wenn der Kunde die Checkbox im Klarna Checkout auswählt.

Checkbox Text anpassen

Der Text ist als Snippet im Shopware hinterlegt. Das muss lediglich angepasst werden.

Namespace: frontend/bestit/klarna/checkboxes Name: custom_event_checkbox

Die Snippets können im Backend unter Einstellungen -> Textbausteine bearbeitet werden.

Checkbox Funktion anpassen

Um die Checkbox mit einer Funktion zu erweitern muss ein Subscriber auf das Event BestIt_Klarna_Checkout_Custom_Checkbox registriert werden. Die Subscriber Methode muss dann lediglich die gewünschte Funktion ausführen.

<?php

namespace App\Subscriber;

use BestitKlarnaCheckout\Components\Api\Model\Order as KlarnaOrder;
use BestitKlarnaPayments\Components\Constants;
use Enlight\Event\SubscriberInterface;
use Enlight_Event_EventArgs;

class SomeSubscriber implements SubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            'BestIt_Klarna_Checkout_Custom_Checkbox' => 'doSomething',
        ];
    }

    public function doSomething(Enlight_Event_EventArgs $args)
    {
        /** @var KlarnaOrder $klarnaOrder */
        $klarnaOrder = $args->get('klarnaOrder');

        // Do something with the order...
    }
}

Extra Merchant Data

Das "Extra Merchant Data" Event erlaubt Ihnen den "Create order" API call um arbiträre Werte zu erweitern.

Emd Event nutzen

Um den Create order Call zu erweitern muss ein Subscriber auf das Event BestitKlarnaCheckout\Components\Constants::EVENT_CREATE_ORDER_ATTACHMENT registriert werden. Die Subscriber Methode createOrderAddEmdData muss nur eine Instanz von BestitKlarnaOrderManagement\Components\Api\Model\Attachment zurückgeben. Alles andere ist der Implementation überlassen.

<?php

namespace App\Subscriber;

use BestitKlarnaOrderManagement\Components\Api\Model\Attachment;
use BestitKlarnaCheckout\Components\Constants;
use Enlight\Event\SubscriberInterface;

class SomeSubscriber implements SubscriberInterface
{
    public static function getSubscribedEvents()
    {
        return [
            Constants::EVENT_CREATE_ORDER_ATTACHMENT => 'createOrderAddEmdData',
        ];
    }

    public function createSessionAddEmdData()
    {
        $attachment = new Attachment();

        $attachment->contentType = 'application/vnd.klarna.internal.emd-v2+json';
        $attachment->body = json_encode([
            'marketplace_seller_info' => [[
                'product_category' => 'Women\'s Fashion',
                'product_name' => 'Women Sweatshirt',
            ]],
        ]);

        return $attachment;
    }
}