Bead Developers
  • Introduction
  • Quick Start
  • Authentication
  • Payments
    • Create Payment
    • Payment Statuses
    • Payment Webhooks
    • Test Transactions - Crypto
    • Changelog
  • Entity Management
    • Onboarding
    • Merchant Management
      • Get Merchant
      • Changelog
    • Location Management
      • Create Location
      • Get Location
      • List Locations
      • Update Location
      • Delete Location
      • Changelog
    • Terminal Management
      • Terminal Lifecycle (Concepts)
      • Create Terminal
      • Get Terminal
      • List Terminals
      • Update Terminal
      • Delete Terminal
      • Webhook Management
      • Changelog
  • Settlement
    • Batches
    • Settlement Details
  • Reporting
    • Payment History Concepts
      • Pagination and Sorting
    • Partner Payments
    • Merchant Payments
    • Terminal Payments
    • Changelog
  • Reference Guide
    • Core Concepts
      • Environments & Base URLs
      • Authentication
      • Error Codes
    • Enumerations & Schemas
      • Tender Types
        • Crypto
        • Alternative Payments
      • Settlement Currencies
      • Common Field Types
    • Endpoint Index
      • Table View (All APIs)
      • Download OpenAPI / Postman
    • Payment Scenarios
      • Under- and Over-Payment Handling
      • Reclaiming Unconverted Crypto
    • Operational Guides
      • Compatible Crypto Wallets
      • Webhook Event Reference
    • Support & Contacts
      • Integration Support
      • Escalation Contacts
    • Changelog
  • FAQs & Troubleshooting
    • Authentication FAQs
    • Payments FAQs
      • Resolving “403 Forbidden” When Creating Payments
    • Environment & Testing
      • How to Test Klarna Payments
      • How to Prepare for USDC Testing
      • How to Test Klarna Payments
    • Webhooks & Error Codes
Powered by GitBook
On this page
  • 1 – Prerequisites
  • 2 – Create Payment Request
  • 3 – Launch Hosted Payment Page
  • 4 – Select Klarna & Obtain QR Code
  • 5 – Complete Klarna Sandbox Checkout
  • 6 – Verify Result
  • 7 – Next Steps
  1. FAQs & Troubleshooting
  2. Environment & Testing

How to Test Klarna Payments

This guide shows how to create a crypto payment request that launches Bead’s hosted checkout page, select Klarna within the UI, complete the sandbox checkout with Klarna’s test account, and verify the result.

1 – Prerequisites

Item
Notes

Klarna enabled for sandbox merchant

Contact developer support if Klarna is not yet activated.

Sandbox base URL

https://api.test.devs.beadpay.io

Webhook endpoint

Publicly reachable and registered in the Bead dashboard.


2 – Create Payment Request

Send a POST /payments/crypto to load the hosted payment page.

POST /payments/crypto
Host: api.test.devs.beadpay.io
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

{
  "terminalId": "TERM-123",
  "merchantId": "MERCH-456",
  "requestedAmount": 35.00,
  "reference": "ORDER-0001",
  "redirectUrl": "https://merchant.example.com/return"
}

Example response

{
  "trackingId": "c10b29e3c...",
  "paymentUrls": [
    {
      "type": "web",
      "url": "https://checkout.test.beadpay.io/hosted-page/..."
    }
  ]
}

Use paymentUrls[0].url to launch the hosted checkout.


3 – Launch Hosted Payment Page

Option
Details

Redirect

Redirect the shopper’s browser to the hosted-page URL.

Embed

Load the URL in an iframe inside your site.

The shopper now sees Bead’s hosted payment page UI.


4 – Select Klarna & Obtain QR Code

  1. In the Bead UI the shopper selects “Klarna” as the payment method.

  2. Bead displays a Klarna QR code linked to Klarna’s sandbox checkout.

How the tester can open checkout

Scan the QR code with a phone camera (opens Klarna in the default browser).

Click / tap the QR code (copies the Klarna checkout URL for pasting into any browser).


5 – Complete Klarna Sandbox Checkout

Field
Test value

Phone number

716-220-4669

PIN (if prompted)

123456

Follow Klarna’s prompts until the shopper is returned to your redirectUrl.


6 – Verify Result

  1. Webhook – A POST arrives at your webhook endpoint with "paymentStatus": "completed".

  2. API check (optional) –

    GET /payments/{trackingId}

    Response should show "status": "completed" and a non-zero settlementAmount.


7 – Next Steps

  • Test higher amounts, cancellations, and expiry scenarios.

  • Move to production by switching to https://api.devs.beadpay.io and using live Klarna credentials.

PreviousEnvironment & TestingNextHow to Prepare for USDC Testing

Last updated 2 days ago