Finance — entry 027 of 47

Klarna

Verified Jul 2026

Klarna Payments is a buy-now-pay-later and checkout API that merchants embed to offer pay-in-full, pay-in-30-days, and interest-free installment options alongside card and bank payments. Integration follows a session-based flow — create a payment session, render the Klarna widget, then authorize and place the order — over region-specific endpoints (api.klarna.com for Europe, api-na.klarna.com for North America, api-oc.klarna.com for Oceania) secured with HTTP Basic Auth and returning JSON only. Klarna does not publish merchant fees; pricing is a per-transaction rate set per contract, and a live Origin-header probe found no Access-Control-Allow-Origin header on either GET or OPTIONS requests to the live API host.

buy-now-pay-latercheckoutpaymentsinstallmentsecommerce
AuthenticationBasic AuthSign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSDisabledBrowser calls need a server-side proxy.
PricingMeteredBilled per request beyond a limited free quota.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score75out of 100
Authentication15/25Basic Auth credentials required
Pricing11/20Metered / usage-based pricing
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 75 on greatapis.com
<a href="https://greatapis.com/api/klarna/"><img src="https://greatapis.com/badge/klarna.svg" alt="Scored 75 on greatapis.com"></a>

Auth quickstart

  1. Sign up with the provider to get an API key.
  2. Send it on every request as a headerAuthorization: <key>
  3. The exact header isn't documented — Authorization is a common default; confirm in the provider's docs.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.klarna.com
orders3
DELETE/payments/v1/authorizations/{authorizationToken}Cancel an existing authorization
Parameters
NameInRequiredType
authorizationTokenpathyesstring
Responses
StatusDescriptionSchema
204The authorization was cancelled successfully.
403You were not authorized to execute this operation.
404The authorization does not exist.
POST/payments/v1/authorizations/{authorizationToken}/customer-tokenGenerate a consumer token
Parameters
NameInRequiredType
authorizationTokenpathyesstring
Request body

application/jsoncustomer_token_creation_request

Responses
StatusDescriptionSchema
200Token was successfully created.customer_token_creation_response
400We were unable to create a customer token with the provided data. Some field constraint was violated.ErrorV2
403You were not authorized to execute this operation.
404The authorization does not exist.
409The data in the request does not match the session for the authorization.
POST/payments/v1/authorizations/{authorizationToken}/orderCreate a new order
Parameters
NameInRequiredType
authorizationTokenpathyesstring
Request body

application/jsoncreate_order_request

Responses
StatusDescriptionSchema
200Order was successfully created.order
400We were unable to create an order with the provided data. Some field constraint was violated.
403You were not authorized to execute this operation.
404The authorization does not exist.
409The data in the request does not match the session for the authorization.
sessions3
POST/payments/v1/sessionsCreate a new payment session
Request body

application/jsonsession_create (required)

Responses
StatusDescriptionSchema
200successful operationmerchant_session
400We were unable to create a session with the provided data. Some field constraint was violated.
403You were not authorized to execute this operation.
GET/payments/v1/sessions/{session_id}Read an existing payment session
Parameters
NameInRequiredType
session_idpathyesstring
Responses
StatusDescriptionSchema
200successful operationsession_read
403You were not authorized to execute this operation.
404The session does not exist.
POST/payments/v1/sessions/{session_id}Update an existing payment session
Parameters
NameInRequiredType
session_idpathyesstring
Request body

application/jsonsession (required)

Responses
StatusDescriptionSchema
204The session was updated successfully.
400We were unable to update the session with the provided data. Some field constraint was violated.
403You were not authorized to execute this operation.
404The session does not exist.

Try it

Developer reference

Base URLhttps://api.klarna.com
Key endpoints
  • POST/payments/v1/sessions
  • GET/payments/v1/sessions/{session_id}
  • POST/payments/v1/sessions/{session_id}
  • POST/payments/v1/authorizations/{authorizationToken}/order
  • DELETE/payments/v1/authorizations/{authorizationToken}