Klarna Payments API V1
klarna · Finance
The payments API is used to create a session to offer Klarna's payment methods as part of your checkout. As soon as the purchase is completed the order should be read and handled using the [`Order Management API`](https://docs.klarna.com/api/ordermanagement). Read more on [Klarna payments](https://docs.klarna.com/klarna-payments/).
Authentication
Sample Requests
Use this API call to read a Klarna Payments session. You can read the Klarna Payments session at any time after it has been created, to get information about it. This will return all data that has been collected during the session. Read more on **[Read an existing payment session](https://docs.klarn
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}"import requests
response = requests.get(
"https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}';
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Use this API call to create a Klarna Payments session. When a session is created you will receive the available `payment_method_categories` for the session, a `session_id` and a `client_token`. The `session_id` can be used to read or update the session using the REST API. The `client_token` shou
Hover any highlighted part to learn what it does
curl -X POST "https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions"
import requests
response = requests.post(
"https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions';
const response = await fetch(url, {
method: 'POST',
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions"
req, _ := http.NewRequest("POST", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions";
$opts = ["http" => [
"method" => "POST",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Use this API call to update a Klarna Payments session with new details, in case something in the order has changed and the checkout has been reloaded. Including if the consumer adds a new item to the cart or if consumer details are updated. Read more on **[Update an existing payment session](https:/
Hover any highlighted part to learn what it does
curl -X POST "https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}"import requests
response = requests.post(
"https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}';
const response = await fetch(url, {
method: 'POST',
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}"
req, _ := http.NewRequest("POST", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/klarna.com/payments/1.0.0/payments/v1/sessions/{session_id}";
$opts = ["http" => [
"method" => "POST",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Klarna Payments API V1?
Klarna Payments API V1 is a Finance API. Developers commonly use finance APIs for:
- processing payments and handling transactions
- building subscription and billing systems
- automating invoicing and financial reporting
- fraud detection and risk scoring
- connecting to banking and accounting software
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Klarna Payments API V1 is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?