Eine Klarna-Zahlung annehmen
Erfahren Sie, wie Sie Klarna, eine globale Zahlungsmethode für "jetzt kaufen, später bezahlen", akzeptieren können.
Einheitliche Einzelposten mit Klarna
Um die Genehmigungsraten bei der Integration mit Klarna zu optimieren, fügen Sie line_
-Daten hinzu, um darzustellen, was sich im Warenkorb eines Käufers/einer Käuferin befindet. Informationen zum frühzeitigen Zugriff finden Sie unter Zahlungsposten.
Wenn ein/e Kund/in Klarna in Ihrer App akzeptiert, wird eine Webansicht angezeigt, in der der/die Kund/in seine/ihre Zahlung authentifizieren kann. Der/die Kund/in kehrt dann zu Ihrer App zurück, und Sie können sofort bestätigen, ob die Zahlung erfolgreich war oder nicht.
Notiz
Bevor Sie mit der Integration beginnen, vergewissern Sie sich, dass Ihr Konto für Klarna geeignet ist. Dies können Sie in Ihren Einstellungen für Zahlungsmethoden prüfen.
Stripe einrichtenServerseitigClientseitig
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Serverseitig
Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe-API kommunizieren können. Nutzen Sie die offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:
Clientseitig
Das Stripe iOS SDK ist Open Source, vollständig dokumentiert und kompatibel mit Apps, die iOS 13 oder höher unterstützen.
Notiz
Details zur aktuellen SDK-Version und zu vorherigen Versionen finden Sie auf der Seite Releases auf GitHub. Um bei Veröffentlichung einer neuen Version eine Benachrichtigung zu erhalten, achten Sie auf die Releases zum jeweiligen Repository.
Konfigurieren Sie das SDK mit Ihrem veröffentlichbaren Schlüssel von Stripe, um es beim Start der App auszuführen. Dadurch kann Ihre App Anfragen an die Stripe-API senden.
Notiz
Verwenden Sie Ihre Testschlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.
PaymentIntent erstellenServerseitigClientseitig
Ein PaymentIntent ist ein Objekt, das Ihre Absicht, eine Kundenzahlung einzuziehen, darstellt und den gesamten Zahlungsvorgang dokumentiert.
Serverseitig
Erstellen Sie einen PaymentIntent
auf Ihrem Server und geben Sie den einzuziehenden Betrag sowie eine unterstützte Währung an. Wenn Sie bereits eine Integration mit der Payment Intents API haben, fügen Sie klarna
zur Liste der Zahlungsmethoden für Ihren PaymentIntent
hinzu.
Clientseitig
Im zurückgegebenen PaymentIntent ist ein Client-Geheimnis enthalten, mit dem der Client den Zahlungsvorgang sicher abschließen kann, anstatt das gesamte PaymentIntent-Objekt zu übergeben. Fordern Sie auf dem Client einen PaymentIntent von Ihrem Server an und speichern Sie dessen Client-Geheimnis.
Zahlung an Stripe sendenClientseitig
Rufen Sie das Client-Geheimnis von dem in Schritt 2 erstellten PaymentIntent ab und rufen Sie die Methode STPPaymentHandler confirmPayment: auf. Dies entspricht einer Webansicht, in der die Kundinnen und Kunden ihre Zahlung abschließen können. Durch diese wird der Completion-Block aufgerufen und die Zahlung schlussendlich abgewickelt.
Klarna-Integration testen
Nachfolgend haben wir speziell ausgewählte Testdaten für die derzeit unterstützten Kundenländer zusammengestellt. In einer Sandbox nutzt Klarna die angegebene E-Mail-Adresse, um eine Transaktion zu genehmigen oder abzulehnen.
Zwei-Schritte-Authentifizierung
Jede 6-stellige Zahl ist ein gültiger Code für die Zwei-Schritte-Authentifizierung. Verwenden Sie 999999
, damit die Authentifizierung fehlschlägt.
Rückzahlungmethode
Innerhalb des Klarna-Ablaufs können Sie die folgenden Testwerte verwenden, um verschiedene Rückzahlungsarten auszuprobieren:
Typ | Wert |
---|---|
Lastschriftverfahren | DE11520513735120710131 |
Banküberweisung | Demo-Bank |
Kreditkarte |
|
Debitkarte |
|
Fehlgeschlagene Zahlungen
Klarna berücksichtigt mehrere Faktoren bei der Entscheidung, ob eine Transaktion akzeptiert oder abgelehnt wird (zum Beispiel die Dauer der Nutzung von Klarna durch den/die Käufer/in, den ausstehenden Betrag, den der/die Kund/in zurückzahlen muss, oder den Wert der aktuellen Bestellung).
Wenn Kund/innen eine Zahlungsmethode mit Zahlungsaufschub wählen, führt Klarna eine Risikoeinschätzung durch, bevor die Transaktion akzeptiert wird. Klarna kann die Transaktion ablehnen, wenn das Ergebnis der Risikoeinschätzung nicht zufriedenstellend ist, es sich um einen hohen Transaktionsbetrag handelt oder der Kunde/die Kundin hohe Außenstände hat. Wir empfehlen daher, dass Sie bei Ihrem Bezahlvorgang zusätzliche Zahlungsoptionen wie card
angeben. In diesen Fällen wird die PaymentMethod getrennt und der Status des PaymentIntent-Objekts wechselt automatisch zu requires_
.
Es wird erwartet, dass Kundinnen/Kunden die Zahlung innerhalb von 48 Stunden nach Weiterleitung zur Klarna-Website abschließen. Wenn nach 48 Stunden keine Aktion erfolgt ist, wird die PaymentMethod getrennt, und der Status des PaymentIntent-Objekts wechselt automatisch von requires_
zu requires_
.
Teilen Sie Ihren Kund/innen in diesen Fällen mit, dass sie es mit einer anderen Zahlungsoption versuchen sollten, die in Ihrem Bezahlvorgang zur Verfügung gestellt wird.
Ratenbegrenzungen von Klarna
API-Anfragen an Klarna unterliegen zusätzlichen Ratenbegrenzungen, die über die API-weiten Ratenbegrenzungen von Stripe hinausgehen. Diese Grenzwerte können je nach Form der von Ihnen gestellten API-Anfragen unterschiedlich sein. Wenn Sie mehr als etwa 360 Anfragen pro Minute stellen, kann es im Allgemeinen zu einer gewissen Ratenbegrenzung in Form von Antworten mit dem HTTP-Statuscode 400
oder 402
kommen. Bitte kontaktieren Sie uns für weitere Einzelheiten, wenn Sie befürchten, dass Ihre Nutzung diese Werte erreichen könnte, da Klarna diese Limits möglicherweise auf Fallbasis erhöhen kann.
Fehlermeldungen
Fehlgeschlagene Klarna-Zahlungen geben üblicherweise einen der folgenden Fehlercodes zurück. Diese Codes werden im API-Objekt last_payment_error angezeigt.
Vorsicht
Vor der API-Version 2023-08-16
wurde jeder Klarna-Fehler als payment_intent_authentication_failure gemeldet. Stellen Sie sicher, dass Ihre API-Version auf dem neuesten Stand ist, um die unten aufgeführten detaillierten Fehler anzuzeigen.
Fehlercode | Erklärung |
---|---|
payment_method_customer_decline | Die Kundin/der Kunde hat den Bezahlvorgang auf der Seite von Klarna abgebrochen. |
payment_method_provider_decline | Klarna hat die Kundenzahlung abgelehnt. |
payment_intent_payment_attempt_expired | Die Kundin/der Kunde hat den Bezahlvorgang auf der Seite von Klarna nicht abgeschlossen und die Zahlungssitzung ist abgelaufen. |
payment_method_not_available | Beim Aufruf von Klarna ist ein unerwarteter Fehler aufgetreten. |