Klarna Checkout

Zuletzt bearbeitet am: 08.03.2024

Voraussetzungen

Klarna Händlerkonto

Bevor Sie Klarna in Shopware einrichten und verwenden können, ist die Eröffnung eines Händlerkontos bei Klarna erforderlich. Um Testbestellungen durchführen zu können, ist ein separates Konto im Klarna Playground notwendig. Unser Händlersupport hilft Ihnen gerne bei der Freischaltung von Zahlungsarten und Länder weiter.

Technische Voraussetzungen

Um das Klarna Plugin installieren zu können, benötigen Sie eine lauffähige Umgebung von Shopware 5. Eine Installationsanleitung hierzu finden Sie unter Erste Schritte mit Shopware 5.

  • Shopware (Version >= 5.6)
  • PHP (Version >= 7.2 und <= 8.1)
  • SSL-Verschlüsselung

Die Systeme von Klarna müssen auf Ihren Shop zugreifen können um Zahlungsupdates zusenden. Achten Sie insbesondere dann darauf, wenn Sie eine Passwort-Abfrage (htpasswd) vor Ihrer Seite geschaltet haben.

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

Installation und Konfiguration

Installation via Plugin-Manager

Installieren und Aktivieren Sie das Plugin über den Plugin-Manager im Shopware 5 Backend.

Plugin Konfiguration

Nach der erfolgreich abgeschlossenen Installation und Aktivierung des Plugin können Sie die Einstellungen des Plugins via Einstellungen -> Plugin Manager -> Installiert -> Klarna Payments -> Öffnen bearbeiten. Dort stehen Ihnen folgende Konfigurationen zur Verfügung

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 Klarna Playground abrufen.
Test-Händler Passwort Der von Klarna bereitgestellte Klarna API Passwort. Diesen können Sie unter Klarna Playground abrufen.
Plugin reagiert auf Bestellstatus Sollen die automatischen Klarna Aktionen "Voll erfassen bei (Bestellstatus)" und "Voll erstatten bei (Bestellstatus)" aktiviert werden? Details zur Konfiguration können hier nachgelesen 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
Voll erfassen bei (Bestellstatus) Wählen Sie den Bestellstatus, bei dem der gesamte verbleibende Betrag einer Bestellung bei Klarna erfasst werden soll.
Voll erstatten bei (Bestellstatus) 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 Nur für Klarna Checkout: Farbe der Buttons innerhalb der Klarna iFrames
Kauf-Button Textfarbe Nur für Klarna Checkout: Textfarbe der Buttons innerhalb der Klarna iFrames
Checkbox Farbe Nur für Klarna Checkout: Farbe der Checkbox innerhalb der Klarna iFrames
Checkbox-Haken Farbe Nur für Klarna Checkout: Farbe der Checkbox-Haken innerhalb der Klarna iFrames
Header Farbe Nur für Klarna Checkout: Farbe für die Kopfzeile innerhalb der Klarna iFrames
Link Farbe Nur für Klarna Checkout: Farbe für die Links innerhalb der Klarna iFrames
Rahmen-Radius Der Rahmen Radius in Pixel
Link zu AGB URL zu den Allgemeinen Geschäftsbedingungen Ihres Shops
Link zu Widerrufsrecht URL zum Widerrufsrecht Ihres Shops
Abweichende Lieferadresse erlauben Sollen abweichende Lieferadresse für den Checkout erlaubt werden
Autofokus deaktivieren Veraltet, hat keine Auswirkung mehr
Bestand vor Erstellung der Bestellung prüfen? Bei "Ja" wird vor der Erstellung der Bestellung der Bestand der Artikel im Warenkorb nochmals geprüft
Externe Zahlarten im Checkout Wählen Sie aktive Zahlungsarten, welche ebenfalls im Checkout zur Verfügung stehen sollen TODO
Externe Checkouts Wählen Sie aktive Zahlungsarten, welche ebenfalls im Checkout zur Verfügung stehen sollen TODO
DHL Packstation Versandart Wählen Sie eine aktive Versandart, welche für den Versand zu einer DHL Packstation verwendet wird TODO
Kundenkonto anlegen (Checkbox) Wählen Sie aus verschiedenen Optionen, ob und wie die Checkbox im Checkout angezeigt werden soll, um sich als Kunde in Shopware mit der Bestellung zu registrieren
Newsletter anmelden (Checkbox) Wählen Sie aus verschiedenen Optionen, ob und wie die Checkbox im Checkout angezeigt werden soll, um sich zum Newsletter in Shopware mit der Bestellung zu registrieren
Individuelle Checkbox Wählen Sie aus verschiedenen Optionen, ob und wie eine individuelle Checkbox im Checkout angezeigt werden soll TODO
Sollen bei einem Fehlerfall technische Fehlermeldungen angezeigt werden? Sollen technische Informationen im Checkout angezeigt werden, falls es zu einem Fehler kommt
Protokoll-Level Wählen Sie, wie detailliert Klarna Ereignisse protokollieren soll. Produktion: Nur Fehler werden protokolliert; Debug: Alle Informationen von und nach Klarna werden protokolliert
Protokoll-Ablaufzeit Wählen Sie, wie viele Tage Log-Dateien gespeichert werden sollen, bevor sie automatisch gelöscht werden
Trennzeichen der Sendungsnummern Hinterlegen Sie ein Trennzeichen, um mehrere Sendungsnummern zu einer Bestellung an Klarna übertragen zu können
On-Site Messaging aktivieren? Wählen Sie, ob Sie das On-Site Messaging von Klarna aktivieren möchten
Test oder Live Modus für Klarna On-Site Messaging Soll der Test oder Live Modus für das On-Site Messaging verwendet werden? Diese Einstellung ist unabhängig von der Einstellung oben zum Zahlungsprozess
On-Site Messaging auf der Produktdetailseite aktivieren? Wählen Sie, ob das On-Site Messaging auf der Produktdetailseite angezeigt werden soll
On-Site Messaging im Off-Canvas Warenkorb aktivieren? Wählen Sie, ob das On-Site Messaging im Off-Canvas Warenkorb angezeigt werden soll
On-Site Messaging im Warenkorb aktivieren? Wählen Sie, ob das On-Site Messaging im Warenkorb angezeigt werden soll
On-Site Messaging Top strip promotion auf der Startseite aktivieren? Wählen Sie, ob das On-Site Messaging auf der Startseite im Kopfbereich angezeigt werden soll
On-Site Messaging im Footer Bereich aktivieren Wählen Sie, ob das On-Site Messaging in der Fußzeile angezeigt werden soll
On-Site Messaging Live Client ID Dieses Feld kann nicht bearbeitet werden und wird vom Plugin automatisch befüllt, sobald das On-Site Messaging aktiviert wurde
On-Site Messaging Test Client ID Dieses Feld kann nicht bearbeitet werden und wird vom Plugin automatisch befüllt, sobald das On-Site Messaging aktiviert wurde

Zahlungsart konfigurieren

Das Klarna Checkout Plugin inkludiert die Zahlungsart Klarna Checkout, die nach der Installation und Aktivierung des Plugins ebenfalls aktiviert werden muss.

Bitte aktivieren Sie unter Einstellungen -> Zahlungsarten die Zahlungsart.

Die folgenden Felder dürfen nicht angepasst werden:

  • Bezeichnung
  • Name
  • Template
  • Systemklasse
  • Datenbank-Tabelle

Zahlungsart den Versandarten zuweisen

Bevor die Klarna Zahlungsart genutzt werden kann, muss diese für die verschiedenen Versandmethoden freigegeben werden. Navigieren Sie zu Einstellungen -> Versandkosten, wählen Sie eine Versandart aus für welche die Klarna Zahlungsart verfügbar sein soll und wählen Sie den Reiter Zahlart Auswahl.

Verschieben Sie die Klarna Zahlungsarten von Verfügbar auf Ausgewählt.

Wiederholen Sie den Vorgang für alle Versandarten, die für die Klarna Zahlungsart verfügbar sein sollen.

Externe Zahlungsarten konfigurieren

Hinterlegen Sie die gewünschten externen Zahlungsarten innerhalb der Plugin Konfiguration.

Bitte beachten Sie, dass externe Zahlungsarten nur mit definierten Namen angezeigt werden. Alle verfügbaren Namen für externe Zahlungsarten können Sie dieser Liste entnehmen.

Bilder für externe Zahlungsarten

Für die externen Zahlungsarten können Sie ein Bild definieren, welches im Klarna Checkout für die jeweilige Zahlungsart angezeigt wird. Dies ist innerhalb der Freitextfelder einer Zahlungsart möglich.

Bitte geben Sie hierbei eine vollständige URL zu einem Bild an.

Ein Bild ist für externe Zahlungsarten optional.

Externe Checkouts konfigurieren

Hinterlegen Sie die gewünschten externen Checkout innerhalb der Plugin-Konfiguration.

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

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 ist innerhalb der Freitextfelder einer Zahlungsart möglich.

Bitte geben Sie hierbei eine vollständige URL zu einem Bild an.

Ein Bild ist für externe Checkouts notwendig.

Plugin deinstallieren

Das Plugin kann über den Plugin Manager im Shopware 5 Backend wieder deinstalliert werden.

Bei der Deinstallation des Plugins wird die Zahlungsart auf inaktiv gesetzt, jedoch werden keine Bestellungen oder Zahlungsarten gelöscht.

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

Falls Sie die Telefonnummer als ein Pflichtfeld im Klarna Checkout anzeigen wollen, können Sie dies unter Einstellungen -> Grundeinstellungen -> Storefront -> Anmeldung / Registrierung entsprechend konfigurieren.

Geburtsdatum als Pflichtfeld

Falls Sie das Geburtsdatum als ein Pflichtfeld im Klarna Checkout anzeigen wollen, können Sie dies unter Einstellungen -> Grundeinstellungen -> Storefront -> Anmeldung / Registrierung entsprechend konfigurieren.

Adresszusatzzeile 1 & 2

Die Adresszusatzzeilen dürfen nicht als Pflichtfelder markiert werden.

Klarna On-Site Messaging

On-Site Messaging aktivieren

Sofern Sie noch nicht für Klarna On-Site Messaging freigeschaltet sind, setzen Sie die Option On-Site Messaging aktivieren auf "Ja" und speichern Sie die Plugin-Konfiguration vom Klarna Payments Plugin nochmal ab. Sie werden nun durch den Aktivierungsprozess durchgeleitet. Für die Verwendung müssen die Terms of Usage (ToU) akzeptiert werden.

Darstellungsoptionen

Produktdetailseite

Off-Canvas Warenkorb

Warenkorb

Top strip promotion

In Einkaufswelten

Verwenden Sie hierfür das Element "Klarna Banner" und Konfigurieren Sie es Ihren Wünschen entsprechend in einer Einkaufswelt.

Individuelle Positionierung

Es ist möglich On-Site Messaging Placements in Ihrem Theme nach Belieben zu integrieren. Nutzen Sie hierfür die Templates im Pfad frontend/bestit_klarna_onsite_messaging/placements aus dem Klarna Plugin.

credit-promotion.tpl

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.

sidebar-promotion.tpl

homepage-promotion.tpl

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.

top-strip-promotion.tpl

Technische Informationen für Entwickler

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 aktiviert.

Checkbox Text anpassen

Der Text kann via Textbaustein über das Shopware Backend angepasst werden. Dieser befindet sich im Namespace frontend/bestit/klarna/checkboxes mit dem Namen custom_event_checkbox.

Checkbox Funktion anpassen

Um die Checkbox mit einer Funktion zu erweitern, muss ein Subscriber auf das Event BestIt_Klarna_Checkout_Custom_Checkbox registriert werden. Siehe folgendes Beispiel für einen Subscriber.

<?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

Die "Extra Merchant Data" Events ermöglichen Ihnen weitere Informationen und Daten an Klarna zu übermitteln.

Bestellabschluss

Für die Ergänzung von weiteren Daten beim Bestellabschluss kann das Event BestitKlarnaCheckout\Components\Constants::EVENT_CREATE_ORDER_ATTACHMENT verwendet werden. Ihre Implementierung muss dabei ein Objekt der Klasse BestitKlarnaOrderManagement\Components\Api\Model\Attachment zurückgeben. Siehe folgendes Beispiel:

<?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;
    }
}

Sonstiges

B2B Verkauf

Der Verkauf an andere Unternehmen ist mit Klarna nur in bestimmten Ländern möglich. Sehen Sie hierfür die Antwort auf die Frage Kann ich mit Klarna an andere Unternehmen verkaufen? aus dem Klarna Händlersupport.

Innerhalb des Klarna Checkouts hat der Kunde die Möglichkeit eine Firmenadresse für den B2B-Verkauf auszuwählen. Dabei wird der Kunde anschließend auf den Shopware Standard Checkout weitergeleitet, worin die Bestellung wie gewohnt mit anderen Zahlungsarten abgeschlossen werden kann.