Skip to main content
Enable your AI chatbot to answer Klarna payment questions, check order status, and help customers track refunds through natural conversation.

Why Connect Klarna?

  • Instant Payment Answers: Customers get payment status, order info, and refund details immediately
  • BNPL Support: Handle Pay Later, Pay in 3/4, and Financing questions automatically
  • Reduced Support Tickets: Deflect 70%+ of common payment questions automatically
  • Secure by Default: Read-only access with email verification for each lookup

Prerequisites

Before connecting, you’ll need:
  • A Klarna merchant account with API access
  • Admin access to create API credentials in Klarna Merchant Portal

Setup Steps

Step 1: Get Your Klarna API Credentials

1

Open Klarna Merchant Portal

Go to Klarna Merchant Portal and log in
For testing, use the Klarna Playground Portal instead.
2

Navigate to API Credentials

Go to SettingsAPI CredentialsGenerate new Klarna API credentials
3

Download Credentials File

Download the credentials file when prompted. This file contains:
  • API Username: Your API username from Klarna
  • API Password: The API password (only shown once)
Store this file securely—the password is only shown once and cannot be retrieved later.
4

Note Your Region

Note which region your Klarna account is in:
  • EU (Europe)
  • NA (North America)
  • OC (Oceania/Australia)

Step 2: Connect to BubblaV

1

Navigate to Integrations

Go to DashboardIntegrationsKlarna
2

Enter API Username

Paste the API Username from your credentials file
3

Enter API Password

Paste the API Password from your credentials file
4

Select Region

Choose your Klarna API region (EU, NA, or OC)
5

Enable Test Mode (if testing)

If using credentials from Klarna Playground Portal, enable the Test Mode checkbox to use sandbox API
6

Connect

Click Connect to validate credentials and enable payment tools

Available Tools

Once connected, these tools become available to your chatbot:
ToolDescription
Get Order StatusOrder status, total amount, and creation date
Get Payment StatusWhether the payment is UNPAID, PAID, or CLOSED
Get Refund StatusRefund amounts and processing details
Get Payment InfoPayment method type and installment schedule
Get Order HistoryList of customer’s Klarna orders
Get Payment MethodsAvailable Klarna payment options
Get Installment ScheduleDetailed breakdown of Pay in 3/4 installments with due dates
Get Upcoming PaymentsList of pending payments with “days until due” context
Get Capture DetailsShows what’s been charged vs. pending (for partial shipments)

How It Works

  1. Customer asks a payment question (e.g., “Is my Klarna payment complete?”)
  2. Customer provides order reference and email for verification
  3. AI verifies customer by matching email to the order’s billing address
  4. Data is retrieved securely from Klarna’s API
  5. Formatted response is provided with payment status and details
Customer verification uses email matching. The chatbot only provides payment information when the provided email matches the billing email on the Klarna order.
Unlike some integrations, Klarna’s API requires a Klarna Order ID (UUID format) for lookups. If using Shopify with the Klarna OSM app, this is extracted automatically. Otherwise, customers need to provide it from their Klarna app or email.

Shopify Integration

For the best experience with Shopify stores, we recommend installing the Klarna On-site Messaging (OSM) app with Extended Access enabled.
When Extended Access is enabled, the Klarna Order ID is automatically added to Shopify order notes, allowing our chatbot to seamlessly look up Klarna payment information without requiring customers to manually provide their Order ID.

Enable Extended Access

1

Install Klarna OSM App

Install the Klarna On-site Messaging app from the Shopify App Store
2

Enable Extended Access

In the OSM app settings, ensure Extended Access is enabled. This is on by default.
3

Benefits of Extended Access

  • Klarna Order ID is automatically added to Shopify order notes
  • A “Klarna” tag is added to orders placed through Klarna
  • Product images and URLs are synced to the Klarna app for customers
If the Klarna Order ID is not available (e.g., OSM not installed or Extended Access disabled), the chatbot will ask the customer to provide their Klarna Order ID (UUID format) from their Klarna app or confirmation email.

Security

  • Read-only access: No changes to orders or payments—information only
  • Email verification: Customers must be verified before accessing payment data
  • Encrypted credentials: API keys are encrypted at rest
  • GDPR compliant: We follow EU data protection requirements
  • Regional API support: Data stays within your configured region

FAQs

You need read access to the Order Management API. This provides access to order details, payment status, captures, and refunds without allowing any modifications.
Customers provide their order reference number and email. The chatbot verifies that the email matches the billing address on the Klarna order before showing any payment information.
No. Due to Klarna API limitations, a Klarna Order ID is required for lookups. With Shopify + Klarna OSM, this is extracted automatically. Otherwise, the chatbot guides customers to find it in their Klarna app or confirmation email.
We support all Klarna regions: EU (Europe), NA (North America), and OC (Oceania/Australia). Select the correct region when configuring the integration.
Yes. We use Klarna’s official API with encrypted credentials. Your API key is never exposed, and we comply with GDPR and industry security standards.
Yes! Enable Test Mode when connecting to use Klarna Playground API for testing. Use credentials from portal.playground.klarna.com to test the integration before going live.

Troubleshooting

”Invalid credentials” Error

  • Verify the API Username is correct
  • Check that the API Password is correct
  • Ensure you selected the correct region (EU, NA, or OC)
  • Verify credentials haven’t been revoked in Klarna Merchant Portal

”Order not found” Response

  • Verify the order reference number is correct
  • The order must exist in your Klarna merchant account
  • For very recent orders, wait a few minutes for API sync

”Email verification failed”

  • The email provided must exactly match the order’s billing email
  • Check for typos or different email addresses
  • Email matching is case-insensitive

Tools Not Appearing

  • Verify the integration status is “Connected”
  • Check that tools are enabled in ConfigureTools
  • Refresh your integrations page

Example Conversations

Here are examples of how customers can interact with your chatbot: Checking payment status:
Customer: “Is my Klarna payment complete?” Bot: “Let me check that for you. What’s your order reference number?” Customer: “ORD-12345” Bot: “I found your order. ✅ Your payment is complete. Total paid: SEK 1,200.00 via Pay in 3.”
Checking refund status:
Customer: “Has my refund been processed?” Bot: “I can check that for you. What’s your order number and the email address on the order?” Customer: “Order ABC123, email is anna@example.com” Bot: “Yes, your refund of SEK 299.00 was processed on December 15, 2024.”
Understanding payment options:
Customer: “What Klarna payment options do you offer?” Bot: “We offer these Klarna options: • Pay Later: Pay the full amount within 30 days • Pay in 3: Split into 3 interest-free payments • Financing: Flexible monthly payments”
Checking installment schedule:
Customer: “When are my Klarna payments due?” Bot: “Here’s your installment schedule for order ORD-12345: ✅ #1: SEK 400.00 - Due: Dec 1 (Paid) ⏳ #2: SEK 400.00 - Due: Jan 1 ⏳ #3: SEK 400.00 - Due: Feb 1”
Checking upcoming payments:
Customer: “When is my next Klarna payment?” Bot: “Your next payment is SEK 400.00 due on January 1 (in 10 days). You have one more payment of SEK 400.00 due February 1.”
Understanding partial charges:
Customer: “Why was I only charged for part of my order?” Bot: “I can see that SEK 600.00 of your SEK 1,200.00 order has been captured so far. This typically happens when items ship separately. The remaining SEK 600.00 will be charged when the rest of your order ships.”