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