Weiter zum Inhalt
Konto erstellen oder anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellenAnmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
Übersicht
Informationen zu Stripe Payments
Aktualisieren Sie Ihre Integration
Zahlungsanalysefunktionen
Online-Zahlungen
ÜbersichtIhren Use case findenVerwenden Sie Managed Payments
Payment Links verwenden
Vorgefertigte Checkout-Seite verwenden
Erstellen Sie eine benutzerdefinierte Integration mit Elements
In-App-Integration erstellen
Präsenzzahlungen
Terminal
Zahlungsmethoden
Zahlungsmethoden hinzufügen
    Übersicht
    Optionen für die Integration von Zahlungsmethoden
    Standardzahlungsmethoden im Dashboard verwalten
    Arten von Zahlungsmethoden
    Karten
    Mit Stripe-Guthaben bezahlen
    Stablecoin-Zahlungen
    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
        Zusätzliche Kaufdaten
      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
Zahlungsszenarien
Umgang mit mehreren Währungen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Orchestrierung
Mehr als Zahlungen
Unternehmensgründung
Krypto
Agentenbasierter Handel
Financial Connections
Climate
Betrug verstehen
Betrugsprävention von Radar
Zahlungsanfechtungen verwalten
Identitäten verifizieren
Vereinigte Staaten
Deutsch
StartseiteZahlungenAdd payment methodsBuy now, pay laterKlarna

Hinweis

Bis jetzt ist diese Seite noch nicht in dieser Sprache verfügbar. Wir arbeiten aber verstärkt daran, unsere Dokumentation in weiteren Sprachen bereitzustellen, und werden die Übersetzung sofort anzeigen, sobald diese verfügbar ist.

Klarna supplementary purchase dataÖffentliche Vorschau

Learn how to provide Klarna-specific supplementary data for various industry verticals.

Available with preview header

You can use this public preview feature by including the version header 2025-11-17.preview or a later preview version header in your API request.

Supplementary purchase data adds context to a transaction to improve payment outcomes and customer support. Use it to send industry-specific details for verticals such as events, transportation, marketplaces, and insurance.

When to use supplementary purchase data

Use supplementary purchase data if you operate in a supported vertical and want to improve your payment outcomes with Klarna.

The supplementary data shared with Klarna supports these use cases:

  • Post-purchase transparency: Provide detailed transaction breakdowns for your customers in the Klarna app, streamline disputes and returns, and reduce support requests.
  • Higher acceptance rates: Historical data informs underwriting and can increase approvals for legitimate transactions.
  • Enhanced fraud assessment: Detailed transaction insights support more effective fraud investigations, especially in high-risk segments.
  • Risk exposure monitoring: Transaction data supports continuous monitoring and timely mitigation.
  • Enhanced solution offerings: Based on historical behavior, Klarna can develop enhanced solutions for incentives and actions that benefit you and your customers.

Limitations

Keep these limits in mind:

  • No fee changes: Passing supplementary purchase data doesn’t impact the fees you pay for Klarna transactions. Your pricing remains the same whether or not you provide this data.
  • No validation feedback: Stripe and Klarna accept well-formed supplementary purchase data but don’t provide feedback on whether the specific data you send qualifies for improved outcomes.

Measure impact

Track your Klarna authorization rates over time in your payment analytics. After you implement supplementary purchase data, you might see more successful authorizations, though the impact varies based on your transaction patterns and the data you provide.

Availability

Supplementary purchase data is available exclusively for Klarna payments and supports the following industry verticals:

  • Events (concerts, festivals, sports, conferences)
  • Insurance (standalone insurance policies)
  • Vouchers (gift cards, discount codes)
  • Train transportation
  • Bus transportation
  • Ferry transportation
  • Organized trips and tours
  • Marketplace sellers

Travel and entertainment verticals

For lodging, car rentals, and air transportation with Klarna payments, see the travel and entertainment industry metadata documentation. Those verticals are shared with card payments, while the verticals on this page are Klarna-exclusive.

Send supplementary purchase data

You send Klarna-specific supplementary purchase data through the payment_method_options.klarna.supplementary_purchase_data parameter when you create, update, or confirm a PaymentIntent.

The supplementary_purchase_data hash contains an array of hashes for each vertical. Klarna processes all entries in these arrays for risk assessment. You can send multiple verticals in a single request.

Example: Create a PaymentIntent with voucher data

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 amount=10000 \ -d currency=eur \ -d "payment_method_types[0]"=klarna \ -d "payment_method_options[klarna][supplementary_purchase_data][vouchers][0][voucher_name]"="Holiday Gift Card"

Example: Create a PaymentIntent with multiple verticals

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 amount=15000 \ -d currency=eur \ -d "payment_method_types[0]"=klarna \ -d "payment_method_options[klarna][supplementary_purchase_data][vouchers][0][voucher_name]"="Gift Card" \ -d "payment_method_options[klarna][supplementary_purchase_data][insurances][0][insurance_type]"=cancelation \ -d "payment_method_options[klarna][supplementary_purchase_data][insurances][0][price]"=2000 \ -d "payment_method_options[klarna][supplementary_purchase_data][insurances][0][currency]"=EUR

Vertical data formats

The following tabs describe the hashes for the supported verticals:

Insurance data is sent through the payment_method_options.klarna.supplementary_purchase_data.insurances parameter. Each element in the array represents an individual insurance policy purchased as the primary product (not as an add-on to another service).

For the full list of fields and their formats, see the API reference (available with the 2025-11-17.preview or later preview version header).

Example: Creating a PaymentIntent with insurance data
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 amount=5000 \ -d currency=usd \ -d "payment_method_types[0]"=klarna \ -d "payment_method_options[klarna][supplementary_purchase_data][insurances][0][insurance_type]"=medical \ -d "payment_method_options[klarna][supplementary_purchase_data][insurances][0][insurance_company_name]"="Global Medical Insurance" \ -d "payment_method_options[klarna][supplementary_purchase_data][insurances][0][price]"=5000 \ -d "payment_method_options[klarna][supplementary_purchase_data][insurances][0][currency]"=USD

Update and remove supplementary purchase data

Use the update or confirm method to modify or remove supplementary purchase data.

Full replacement of verticals

When you update a vertical’s array, the new data completely replaces the existing data for that vertical. For example, if a PaymentIntent has 2 vouchers and you send an update with 1 voucher, the result is 1 voucher (not 3).

Create a PaymentIntent with 2 vouchers:

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 amount=10000 \ -d currency=eur \ -d "payment_method_types[0]"=klarna \ -d "payment_method_options[klarna][supplementary_purchase_data][vouchers][0][voucher_name]"="First Voucher" \ -d "payment_method_options[klarna][supplementary_purchase_data][vouchers][1][voucher_name]"="Second Voucher"

Update the PaymentIntent with one voucher to replace the existing two vouchers:

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}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_options[klarna][supplementary_purchase_data][vouchers][0][voucher_name]"="Replacement Voucher"

The PaymentIntent now has only one voucher.

Preserve existing data

Verticals excluded in an update request remain unchanged. For example, you can add train data without affecting existing vouchers or insurances:

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}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_options[klarna][supplementary_purchase_data][train_reservation_details][0][carrier_name]"=Eurotrains \ -d "payment_method_options[klarna][supplementary_purchase_data][train_reservation_details][0][ticket_class]"=business \ -d "payment_method_options[klarna][supplementary_purchase_data][train_reservation_details][0][price]"=8500 \ -d "payment_method_options[klarna][supplementary_purchase_data][train_reservation_details][0][currency]"=EUR

The PaymentIntent retains existing vouchers and insurances, and adds the train reservation.

Unset a specific vertical

To unset all data for a specific vertical while preserving other verticals, set the vertical to an empty string. This removes the vertical from the PaymentIntent.

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}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_options[klarna][supplementary_purchase_data][insurances]"=

Unset all supplementary purchase data

To unset all supplementary purchase data from a PaymentIntent, set the entire supplementary_purchase_data parameter to an empty string:

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}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_options[klarna][supplementary_purchase_data]"=

Testing

Test that your integration works correctly for your customers. Simulate API calls in a Stripe Sandbox with a sandbox key. Attach a payment method using the update method prior to confirming. For additional information, see Testing.

War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc