Norce Checkout - Klarna Checkout Adapter API (0.2.2)

Build 2026-01-12 09:48:20

The Klarna Checkout Adapter API is used to create and manage a Klarna Checkout Order.

Download OpenAPI description
Languages
Servers
Test server

https://checkout-klarna-adapter.test.norce.tech/

Schemas

Klarna Checkout

Operations

Klarna Checkout Callbacks

Operations

Klarna Checkout 'Client-side events' Callbacks

Operations

Norce Callbacks (Klarna Checkout)

Operations

Order Management

Operations

Klarna Payments

Operations

Create a new Klarna Payments Session

Request

Requires an existing Norce order.

Path
order_idstringrequired

Order identifier

Headers
x-merchantstringrequired

Merchant identifier.

Example: norce
x-channelstringrequired

Channel identifier

Example: 1
curl -i -X POST \
  'https://checkout-klarna-adapter.test.norce.tech/api/payments/v1/orders/{order_id}/payments' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'x-channel: 1' \
  -H 'x-merchant: norce'

Responses

OK

Bodyapplication/json
idstring

Norce Payment Id

sessionobject

Klarna Payments Session

Response
application/json
{ "id": "string", "session": { "client_token": "string", "payment_method_categories": [], "session_id": "string" } }

Get Klarna Payments Session

Request

Used to get current payments session.

Path
order_idstringrequired

Order identifier

payment_idstringrequired

Payment identifier

Headers
x-merchantstringrequired

Merchant identifier.

Example: norce
x-channelstringrequired

Channel identifier

Example: 1
curl -i -X GET \
  'https://checkout-klarna-adapter.test.norce.tech/api/payments/v1/orders/{order_id}/payments/{payment_id}' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'x-channel: 1' \
  -H 'x-merchant: norce'

Responses

OK

Bodyapplication/json
session_idstring
acquiring_channelstring

The acquiring channel in which the session takes place. Ecommerce is default unless specified. Any other values should be defined in the agreement.

Enum"ECOMMERCE""IN_STORE""MONTH""TELESALES"
attachmentobject
authorization_tokenstringread-only

Authorization token.

billing_addressobject
client_tokenstring[ 0 .. 4096 ] charactersread-only
custom_payment_method_idsArray of strings

Promo codes - The array could be used to define which of the configured payment options within a payment category (pay_later, pay_over_time, etc.) should be shown for this purchase. Discuss with the delivery manager to know about the promo codes that will be configured for your account. The feature could also be used to provide promotional offers to specific customers (eg: 0% financing). Please be informed that the usage of this feature can have commercial implications.

customerobject
designstring
expires_atstring(date-time)read-only
localestring
merchant_datastring[ 0 .. 6000 ] characters
merchant_reference1string[ 0 .. 255 ] characters
merchant_reference2string[ 0 .. 255 ] characters
merchant_urlsobject
optionsobject
order_amountinteger(int64)
order_linesArray of objects(KlarnaPaymentsOrderLine)
order_tax_amountinteger(int64)
payment_method_categoriesArray of objects(KlarnaPaymentsPaymentMethodCategory)read-only
purchase_countrystring
purchase_currencystring
shipping_addressobject
statusstringread-only
Enum"complete""incomplete"
intentstring
Enum"buy""tokenize""buy_and_tokenize"
orderobject
Response
application/json
{ "session_id": "string", "acquiring_channel": "ECOMMERCE", "attachment": { "body": "string", "content_type": "string" }, "authorization_token": "string", "billing_address": { "attention": "string", "city": "string", "country": "string", "email": "string", "family_name": "string", "given_name": "string", "organization_name": "string", "phone": "string", "postal_code": "string", "region": "string", "street_address": "string", "street_address2": "string", "title": "string" }, "client_token": "string", "custom_payment_method_ids": [ "string" ], "customer": { "date_of_birth": "string", "gender": "string", "last_four_ssn": "string", "national_identification_number": "string", "organization_entity_type": "LIMITED_COMPANY", "organization_registration_id": "string", "title": "string", "type": "string", "vat_id": "string" }, "design": "string", "expires_at": "2019-08-24T14:15:22Z", "locale": "string", "merchant_data": "string", "merchant_reference1": "string", "merchant_reference2": "string", "merchant_urls": { "confirmation": "http://example.com", "notification": "http://example.com", "push": "http://example.com", "authorization": "http://example.com" }, "options": { "color_border": "string", "color_border_selected": "string", "color_details": "string", "color_text": "string", "radius_border": "string" }, "order_amount": 0, "order_lines": [ {} ], "order_tax_amount": 0, "payment_method_categories": [ {} ], "purchase_country": "string", "purchase_currency": "string", "shipping_address": { "attention": "string", "city": "string", "country": "string", "email": "string", "family_name": "string", "given_name": "string", "organization_name": "string", "phone": "string", "postal_code": "string", "region": "string", "street_address": "string", "street_address2": "string", "title": "string" }, "status": "complete", "intent": "buy", "order": { "authorized_payment_method": {}, "fraud_status": "string", "order_id": "string", "redirect_url": "string" } }

Update Klarna Payments Session

Request

Used to remap and update the Klarna Payments Session from the Norce order, requires existing payment with Klarna Payments Session.

Path
order_idstringrequired

Order identifier

payment_idstringrequired

Payment identifier

Headers
x-merchantstringrequired

Merchant identifier.

Example: norce
x-channelstringrequired

Channel identifier

Example: 1
curl -i -X PUT \
  'https://checkout-klarna-adapter.test.norce.tech/api/payments/v1/orders/{order_id}/payments/{payment_id}' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'x-channel: 1' \
  -H 'x-merchant: norce'

Responses

OK

Bodyapplication/json
session_idstring
acquiring_channelstring

The acquiring channel in which the session takes place. Ecommerce is default unless specified. Any other values should be defined in the agreement.

Enum"ECOMMERCE""IN_STORE""MONTH""TELESALES"
attachmentobject
authorization_tokenstringread-only

Authorization token.

billing_addressobject
client_tokenstring[ 0 .. 4096 ] charactersread-only
custom_payment_method_idsArray of strings

Promo codes - The array could be used to define which of the configured payment options within a payment category (pay_later, pay_over_time, etc.) should be shown for this purchase. Discuss with the delivery manager to know about the promo codes that will be configured for your account. The feature could also be used to provide promotional offers to specific customers (eg: 0% financing). Please be informed that the usage of this feature can have commercial implications.

customerobject
designstring
expires_atstring(date-time)read-only
localestring
merchant_datastring[ 0 .. 6000 ] characters
merchant_reference1string[ 0 .. 255 ] characters
merchant_reference2string[ 0 .. 255 ] characters
merchant_urlsobject
optionsobject
order_amountinteger(int64)
order_linesArray of objects(KlarnaPaymentsOrderLine)
order_tax_amountinteger(int64)
payment_method_categoriesArray of objects(KlarnaPaymentsPaymentMethodCategory)read-only
purchase_countrystring
purchase_currencystring
shipping_addressobject
statusstringread-only
Enum"complete""incomplete"
intentstring
Enum"buy""tokenize""buy_and_tokenize"
orderobject
Response
application/json
{ "session_id": "string", "acquiring_channel": "ECOMMERCE", "attachment": { "body": "string", "content_type": "string" }, "authorization_token": "string", "billing_address": { "attention": "string", "city": "string", "country": "string", "email": "string", "family_name": "string", "given_name": "string", "organization_name": "string", "phone": "string", "postal_code": "string", "region": "string", "street_address": "string", "street_address2": "string", "title": "string" }, "client_token": "string", "custom_payment_method_ids": [ "string" ], "customer": { "date_of_birth": "string", "gender": "string", "last_four_ssn": "string", "national_identification_number": "string", "organization_entity_type": "LIMITED_COMPANY", "organization_registration_id": "string", "title": "string", "type": "string", "vat_id": "string" }, "design": "string", "expires_at": "2019-08-24T14:15:22Z", "locale": "string", "merchant_data": "string", "merchant_reference1": "string", "merchant_reference2": "string", "merchant_urls": { "confirmation": "http://example.com", "notification": "http://example.com", "push": "http://example.com", "authorization": "http://example.com" }, "options": { "color_border": "string", "color_border_selected": "string", "color_details": "string", "color_text": "string", "radius_border": "string" }, "order_amount": 0, "order_lines": [ {} ], "order_tax_amount": 0, "payment_method_categories": [ {} ], "purchase_country": "string", "purchase_currency": "string", "shipping_address": { "attention": "string", "city": "string", "country": "string", "email": "string", "family_name": "string", "given_name": "string", "organization_name": "string", "phone": "string", "postal_code": "string", "region": "string", "street_address": "string", "street_address2": "string", "title": "string" }, "status": "complete", "intent": "buy", "order": { "authorized_payment_method": {}, "fraud_status": "string", "order_id": "string", "redirect_url": "string" } }

Confirm payment and create Klarna Order

Request

Requires an existing Norce order.

Path
order_idstringrequired

Order identifier

payment_idstringrequired

Payment identifier

Headers
x-merchantstringrequired

Merchant identifier.

Example: norce
x-channelstringrequired

Channel identifier

Example: 1
Bodyapplication/json
authorizationTokenstringnon-emptyrequired
curl -i -X POST \
  'https://checkout-klarna-adapter.test.norce.tech/api/payments/v1/orders/{order_id}/payments/{payment_id}/confirm' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -H 'x-channel: 1' \
  -H 'x-merchant: norce' \
  -d '{
    "authorizationToken": "string"
  }'

Responses

OK

Bodyapplication/json
redirectUrlstring
orderobject
Response
application/json
{ "redirectUrl": "string", "order": { "authorized_payment_method": {}, "fraud_status": "string", "order_id": "string", "redirect_url": "string" } }

Validate Klarna Payments Session

Request

Validate current payments session.

Path
order_idstringrequired

Order identifier

payment_idstringrequired

Payment identifier

Headers
x-merchantstringrequired

Merchant identifier.

Example: norce
x-channelstringrequired

Channel identifier

Example: 1
curl -i -X GET \
  'https://checkout-klarna-adapter.test.norce.tech/api/payments/v1/orders/{order_id}/payments/{payment_id}/validation' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'x-channel: 1' \
  -H 'x-merchant: norce'

Responses

OK

Bodyapplication/jsonArray [
codestring

Error code

Enum"internal-server-error""unauthorized""configuration-error""configuration-not-found""order-not-found""order-error""order-bad-request""order-conflict""shipping-not-found""shipping-error"
Example: "cart-not-found"
messagestring

Detailed error information

Example: "Cart with id:{id} now found."
klarnaErrorobject

Error if originating from Klarna

]
Response
application/json
[ { "code": "cart-not-found", "message": "Cart with id:{id} now found.", "klarnaError": {} } ]

Norce Callbacks (Klarna Payments)

Operations