Weiter zum Inhalt
Konto erstellen
oder
anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellen
Anmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenZahlungen verwalten
Payment Links verwenden
Bezahlseite erstellen
Erweiterte Integration erstellen
In-App-Integration erstellen
Zahlungsmethoden
Zahlungsmethoden hinzufügen
    Übersicht
    Optionen für die Integration von Zahlungsmethoden
    Standardzahlungsmethoden im Dashboard verwalten
    Arten von Zahlungsmethoden
    Karten
    Mit Stripe-Guthaben bezahlen
    Krypto
    Lastschriften
    Bank Redirect
    Banküberweisungen
    Überweisungen (Sources)
    Jetzt kaufen, später bezahlen
      Affirm
      Afterpay/Clearpay
      Alma
      Billie
      Capchase Pay
      Klarna
        Zahlung annehmen
        Zukünftige Zahlungen einrichten
        Konversion optimieren
        Befolgen Sie die Regeln von Klarna
        Auf Anfechtungen reagieren
      Kriya
      Mondu
      Kauf auf Rechnung
      Scalapay
      SeQura
      Sunbit
      Zip
    Zahlungen in Echtzeit
    Gutscheine
    Geldbörsen
    Lokale Zahlungsmethoden nach Land aktivieren
    Nutzerdefinierte Zahlungsmethoden
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsschnittstellen
Payment Links
Checkout
Web Elements
In-app Payments
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Präsenzzahlungen
Terminal
Mehr als Zahlungen
Unternehmensgründung
Krypto
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
StartseiteZahlungenAdd payment methodsBuy now, pay laterKlarna

Eine Klarna-Zahlung annehmen

Erfahren Sie, wie Sie Klarna, eine globale Zahlungsmethode für "jetzt kaufen, später bezahlen", akzeptieren können.

Wenn Kund/innen in Ihrer App Klarna auswählen, wird eine Webansicht angezeigt, in der sie ihre Zahlung authentifizieren müssen. Nachdem die Kund/innen wieder an Ihre App zurückgeleitet wurden, können Sie sofort bestätigen, ob die Zahlung erfolgreich war oder fehlgeschlagen ist.

Notiz

Bevor Sie mit Ihrer Integration beginnen, müssen Sie in den Einstellungen der Zahlungsmethode prüfen, ob Ihr Konto für Klarna geeignet ist.

Stripe einrichten
Serverseitig
Clientseitig

Serverseitig

Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe-API kommunizieren können. Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Clientseitig

Das React Native SDK ist Open Source und vollständig dokumentiert. Intern werden native iOS und Android SDKs verwendet. Um das React Native SDK von Stripe zu installieren, führen Sie einen der folgenden Befehle im Verzeichnis Ihres Projekts aus (je nachdem, welchen Paket-Manager Sie verwenden):

Command Line
yarn add @stripe/stripe-react-native

Installieren Sie als Nächstes einige weitere erforderliche Abhängigkeiten:

  • Für iOS wechseln Sie in das Verzeichnis ios und führen Sie pod install aus, um sicherzustellen, dass Sie auch die erforderlichen nativen Dependencies installiert haben.
  • Für Android müssen keine Abhängigkeiten mehr installiert werden.

Notiz

Wir empfehlen Ihnen, die offizielle Anleitung zu TypeScript zu befolgen, um TypeScript zu unterstützen.

Stripe Initialisierung

Um Stripe in Ihrer React Native-App zu initialisieren, umschließen Sie entweder Ihren Zahlungsbildschirm mit der Komponente StripeProvider oder verwenden Sie die Initialisierungsmethode initStripe. Nur der veröffentlichbare API-Schlüssel in publishableKey ist erforderlich. Das folgende Beispiel zeigt, wie Stripe mithilfe der Komponente StripeProvider initialisiert wird.

import { useState, useEffect } from 'react'; import { StripeProvider } from '@stripe/stripe-react-native'; function App() { const [publishableKey, setPublishableKey] = useState(''); const fetchPublishableKey = async () => { const key = await fetchKey(); // fetch key from your server here setPublishableKey(key); }; useEffect(() => { fetchPublishableKey(); }, []); return ( <StripeProvider publishableKey={publishableKey} merchantIdentifier="merchant.identifier" // required for Apple Pay urlScheme="your-url-scheme" // required for 3D Secure and bank redirects > {/* Your app code here */} </StripeProvider> ); }

Notiz

Verwenden Sie Ihre API-Testschlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.

PaymentIntent erstellen
Serverseitig
Clientseitig

Stripe verwendet ein PaymentIntent-Objekt, um Ihre Absicht darzustellen, eine Kundenzahlung einzuziehen. Dabei werden Ihre Abbuchungsversuche und Zahlungsstatusänderungen während des gesamten Vorgangs 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.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur

Clientseitig

Ein PaymentIntent enthält ein Client-Geheimnis. Sie können das Client-Geheimnis in Ihrer React Native-App verwenden, um den Zahlungsvorgang sicher abzuschließen, anstatt das gesamte PaymentIntent-Objekt zurückzugeben. Fordern Sie in Ihrer App einen PaymentIntent von Ihrem Server an und speichern Sie dessen Client-Geheimnis.

function PaymentScreen() { // ... const fetchPaymentIntentClientSecret = async () => { const response = await fetch(`${API_URL}/create-payment-intent`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ currency: 'eur', }), }); const {clientSecret} = await response.json(); return clientSecret; }; return <View>...</View>; }

Zahlung an Stripe senden
Clientseitig

Damit die Zahlung an Stripe übermittelt werden kann, ist das Client-Geheimnis aus dem von Ihnen erstellten PaymentIntent erforderlich. Fügen Sie es in Ihren Aufruf von confirmPayment ein:

import {Picker} from '@react-native-picker/picker'; import {confirmPayment} from '@stripe/stripe-react-native'; export default function MyPaymentScreen() { const handlePayPress = async () => { // Fetch the intent client secret from the backend. // See `fetchPaymentIntentClientSecret()`'s implementation above. const clientSecret = await fetchPaymentIntentClientSecret(); const {error, paymentIntent} = await confirmPayment(clientSecret, { paymentMethodType: 'Klarna' }, }); if (error) { console.log('Payment confirmation error', error.message); // Update UI to prompt user to retry payment (and possibly another payment method) } else if (paymentIntent) { Alert.alert('Success', `The payment was confirmed successfully!`); } };

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.

GenehmigtAbgelehnt
Geburtsdatum10-07-197003.05.1994
VornameTestJohn
NachnamePerson-auschnee
StraßeWharf StSilverwater Rd
Hausnummer41 bis 5
Postleitzahl48772128
StadtPort DouglasSilverwater
RegionQLDNSW
Telefon+61473752244+61473763254
E-Mail-Adressecustomer@email.aucustomer+denied@email.au

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:

TypWert
LastschriftverfahrenDE11520513735120710131
BanküberweisungDemo-Bank
Kreditkarte
  • Nummer: 4111 1111 1111 1111
  • Prüfziffer: 123
  • Gültig bis: ein beliebiges gültiges Datum in der Zukunft
Debitkarte
  • Nummer: 4012 8888 8888 1881
  • Prüfziffer: 123
  • Gültig bis: ein beliebiges gültiges Datum in der Zukunft

OptionalGetrennte Autorisierung und Erfassung

Klarna unterstützt die getrennte Autorisierung und Erfassung. Wenn es zu einer Verzögerung zwischen der Zahlung und der Auslieferung des Kaufs an Ihre Kundinnen/Kunden kommt, sollten Sie die Zahlung zuerst zu autorisieren und später erfassen. Zum Zeitpunkt der Erfassung sendet Klarna eine Abrechnung an den Kunden/die Kundin und leitet die Fälligkeitsfristen für alle nachfolgenden Zahlungen ein, die er/sie leisten muss. Eine autorisierte Klarna-Zahlung muss innerhalb von 28 Tagen nach der Autorisierung erfasst werden. Andernfalls wird die Autorisierung automatisch storniert, und es ist nicht mehr möglich, diese Zahlung zu erfassen.

  1. Stripe anweisen, nur die Autorisierung durchzuführen

    Um anzugeben, dass Sie Autorisierung und Erfassung trennen möchten, legen Sie capture_method beim Erstellen des PaymentIntent auf manual fest. Dieser Parameter weist Stripe an, nur den Betrag auf dem Klarna-Konto der Kundin/des Kunden zu autorisieren.

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d capture_method=manual
  2. Die Gelder erfassen

    Nachdem die Autorisierung erfolgreich war, wechselt der PaymentIntent-Status zu requires_capture. Um die autorisierten Gelder einzuziehen, senden Sie eine PaymentIntent-Capture-Anfrage. Standardmäßig wird der insgesamt autorisierte Betrag eingezogen – Sie können nicht mehr als diesen Betrag, aber durchaus weniger erfassen.

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents/
    {{PAYMENT_INTENT_ID}}
    /capture
    \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount_to_capture=750
  3. Optional Autorisierung stornieren

    Klarna rechnet alle autorisierten Zahlungen auf das gesamte Kaufkraftlimit des Kunden/der Kundin bei Klarna an. Stellen Sie sicher, dass Sie alle autorisierten Zahlungen, die Sie nicht erfüllen können (z. B. wenn die Ware nicht versendet werden kann), sofort stornieren, sobald dies erkennbar ist.

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents/
    {{PAYMENT_INTENT_ID}}
    /cancel
    \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d cancellation_reason=abandoned

OptionalHandhabung von Ereignissen nach der Zahlung

Stripe übermittelt ein payment_intent.succeeded-Ereignis, wenn die Zahlung abgeschlossen ist. Verwenden Sie im Dashboard einen Webhook oder eine Partnerlösung, um diese Ereignisse zu empfangen und Aktionen auszuführen (Versenden einer Bestellbestätigung per E-Mail an die Kund/innen, Erfassen des Verkaufs in einer Datenbank oder Einleiten des Versandablaufs).

Überwachen Sie diese Ereignisse, statt auf einen Callback vom Client zu warten. Auf dem Client könnte der Kunde/die Kundin das Browserfenster schließen oder die App beenden, bevor der Callback erfolgt ist und böswillige Clients könnten die Antwort manipulieren. Wenn Sie Ihre Integration so einrichten, dass asynchrone Ereignisse überwacht werden, hilft Ihnen dies auch dabei, in Zukunft mehr Zahlungsmethoden zu akzeptieren. Hier erhalten Sie Informationen zu den Unterschieden zwischen allen unterstützten Zahlungsmethoden.

  • Manuelles Bearbeiten von Ereignissen im Dashboard

    Verwenden Sie das Dashboard, um Ihre Testzahlungen im Dashboard anzuzeigen, E-Mail-Belege zu senden, Auszahlungen zu bearbeiten oder fehlgeschlagene Zahlungen erneut zu versuchen.

  • Erstellen eines benutzerdefinierten Webhooks

    Erstellen Sie einen benutzerdefinierten Webhook-Handler, um auf Ereignisse zu hören und eigene asynchrone Zahlungsabläufe zu implementieren. Testen und debuggen Sie Ihre Webhook-Integration lokal mit der Stripe CLI.

  • Integrieren einer vorgefertigten App

    Bearbeiten Sie häufige Unternehmensereignisse, wie z. B.Automatisierung oderMarketing und Vertrieb, indem Sie eine Partneranwendung integrieren.

OptionalAnpassung der Klarna-Zahlungsseite

  • Klarna-Formular vorausfüllen

    Wenn die Kundin/der Kunde sich dafür entscheidet, mit einer aufgeschobenen Zahlungsoption von Klarna zu zahlen (später bezahlen, Ratenzahlungen oder Finanzierung), erhebt Klarna ausreichende Informationen für die Risikobewertung und Genehmigung. Welche Informationen erforderlich sind, hängt vom Land der Kundin/des Kunden ab. In den meisten europäischen Ländern sind dies die vollständigen Rechnungsdetails und das Geburtsdatum. Sie können diese Informationen über die API übergeben, sodass das Formular vorausgefüllt ist, wenn Ihre Kundin/Ihr Kunde auf der Seite ankommt.

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d "payment_method_types[]"=klarna \ -d amount=1099 \ -d currency=eur \ -d confirm=true \ --data-urlencode return_url="https://example.com/checkout/complete" \ -d "payment_method_data[type]"=klarna \ --data-urlencode "payment_method_data[billing_details][email]"="customer@example.com" \ -d "payment_method_data[billing_details][name]"="Jenny Rosen" \ --data-urlencode "payment_method_data[billing_details][phone]"="+4915142321555" \ -d "payment_method_data[billing_details][address][line1]"="Alexanderplatz 1" \ -d "payment_method_data[billing_details][address][city]"=Berlin \ -d "payment_method_data[billing_details][address][postal_code]"=10551 \ -d "payment_method_data[billing_details][address][country]"=DE \ -d "payment_method_data[klarna][dob][day]"=10 \ -d "payment_method_data[klarna][dob][month]"=10 \ -d "payment_method_data[klarna][dob][year]"=1990
    Screenshot einer Klarna-Zahlungsseite, die mit Rechnungsdaten aus der API vorausgefüllt und so angepasst wurde, dass sie auf Englisch dargestellt wird

    Eine Klarna-Zahlungsseite, die mit Rechnungsdaten aus der API vorausgefüllt und so angepasst wurde, dass sie für eine/n Kund/in in Deutschland auf Englisch dargestellt wird

OptionalPosten zum PaymentIntent hinzufügen

Einheitliche Einzelposten mit Klarna

Um die Genehmigungsraten bei der Integration mit Klarna zu optimieren, fügen Sie line_items-Daten hinzu, um darzustellen, was sich im Warenkorb eines Käufers/einer Käuferin befindet. Informationen zum frühzeitigen Zugriff finden Sie unter Zahlungsposten.

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

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_action zu requires_payment_method.

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.

FehlercodeErklärung
payment_method_customer_declineDie Kundin/der Kunde hat den Bezahlvorgang auf der Seite von Klarna abgebrochen.
payment_method_provider_declineKlarna hat die Kundenzahlung abgelehnt.
payment_intent_payment_attempt_expiredDie Kundin/der Kunde hat den Bezahlvorgang auf der Seite von Klarna nicht abgeschlossen und die Zahlungssitzung ist abgelaufen.
payment_method_not_availableBeim Aufruf von Klarna ist ein unerwarteter Fehler aufgetreten.
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Nehmen Sie an unserem Programm für frühzeitigen Zugriff teil.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc