Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.klarna.com
No endpoints found for this provider.
DeliveryDetailsV1
{
"type": "object",
"properties": {
"carrier": {
"type": "string",
"description": "Carrier product name"
},
"product": {
"$ref": "#/components/schemas/ProductV1"
},
"timeslot": {
"$ref": "#/components/schemas/TimeslotV1"
},
"pickup_location": {
"$ref": "#/components/schemas/PickupLocationV1"
}
}
}
PickupLocationV1
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"name": {
"type": "string",
"description": "Name of the location"
},
"address": {
"$ref": "#/components/schemas/address"
}
}
}
ProductV1
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Carrier product name"
},
"identifier": {
"type": "string",
"description": "Carrier product identifier"
}
}
}
TimeslotV1
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id"
},
"end": {
"type": "string",
"description": "End time"
},
"start": {
"type": "string",
"description": "Start time"
}
}
}
address
{
"type": "object",
"properties": {
"city": {
"type": "string",
"example": "Beverly Hills",
"description": "City."
},
"email": {
"type": "string",
"example": "john@doe.com",
"description": "E-mail address."
},
"phone": {
"type": "string",
"example": "333444555",
"description": "Phone number."
},
"title": {
"type": "string",
"example": "Mr",
"description": "Title.<p>Valid values for UK:</p><ul><li><em>Mr</em></li><li><em>Ms</em></li><li><em>Mrs</em></li><li><em>Miss</em></li></ul><p>Valid values for DACH:</p><ul><li><em>Herr</em></li><li><em>Frau</em></li></ul><p>Valid values for NL:</p><ul><li><em>Dhr.</em></li><li><em>Mevr.</em></li></ul>"
},
"region": {
"type": "string",
"example": "CA",
"description": "State or Region."
},
"care_of": {
"type": "string",
"example": "C/O",
"description": "Care of."
},
"country": {
"type": "string",
"example": "US",
"description": "ISO 3166 alpha-2. Country."
},
"given_name": {
"type": "string",
"example": "John",
"description": "Given name."
},
"family_name": {
"type": "string",
"example": "Doe",
"description": "Family name."
},
"postal_code": {
"type": "string",
"example": "90210",
"description": "Postal/post code."
},
"street_name": {
"type": "string",
"example": "Lombard St",
"description": "Street name. Only applicable in DE/AT/NL. Do not combine with street_address. See <b>streetNumber</b>."
},
"street_number": {
"type": "string",
"example": "10",
"description": "Street number. Only applicable in DE/AT/NL. Do not combine with street_address. See <b>streetName</b>."
},
"street_address": {
"type": "string",
"example": "Lombard St 10",
"description": "Street address, first line. (Street name and number)"
},
"house_extension": {
"type": "string",
"example": "B",
"description": "House extension. Only applicable in NL"
},
"street_address2": {
"type": "string",
"example": "Apt 214",
"description": "Street address, second line. (Apartment number, suite, etc.)"
}
}
}
attachment
{
"type": "object",
"required": [
"body",
"content_type"
],
"properties": {
"body": {
"type": "string",
"example": "{\"hotel_reservation_details\": [{\"pnr\": \"VH67899\",\"hotel_intinerary\": [{\"hotel_name\": \"Hotel ltd.\",\"address\": {\"street_address\": \"Storgatan 3\",\"postal_code\": \"113 35\",\"city\": \"Stockholm\",\"country\": \"Sweden\"},\"start_time\": \"2019-01-31T15:00:00Z\",\"end_time\": \"2019-01-31T15:30:00Z\",\"number_of_rooms\": 2,\"ticket_delivery_method\": \"email\",\"ticket_delivery_recipient\": \"jonas.larlsson@klarna.com\",\"hotel_price\": 23050,\"class\": \"Business\",\"passenger_id\": [1]}],\"passengers\": [{\"id\": 1,\"title\": \"mr\",\"first_name\": \"Adam\",\"last_name\": \"Adamson\"}],\"insurance\": [{\"insurance_company\": \"Insurance Company X\",\"insurance_type\": \"travel\",\"insurance_price\": 0}],\"affiliate_name\": \"TradeMaxi AB\"}],\"air_reservation_details\": [{\"pnr\": \"VH67899\",\"intinerary\": [{\"departure\": \"ARN\",\"departure_city\": \"Stockholm\",\"arrival\": \"NCE\",\"arrival_city\": \"Nice\",\"carrier\": \"SK\",\"segment_price\": 34000,\"departure_date\": \"2019-01-30T15:00:00Z\",\"ticket_delivery_method\": \"email\",\"ticket_delivery_recipient\": \"jonas.larlsson@klarna.com\",\"passenger_id\": [1]}],\"passengers\": [{\"id\": 1,\"title\": \"mr\",\"first_name\": \"Adam\",\"last_name\": \"Adamson\"}],\"insurance\": [{\"insurance_company\": \"Insurance Company X\",\"insurance_type\": \"travel\",\"insurance_price\": 0}],\"affiliate_name\": \"TradeMaxi AB\"}],\"customer_account_info\": [{\"unique_account_identifier\": \"12345\",\"account_registration_date\": \"2016-01-24T15:00:00Z\",\"account_last_modified\": \"2017-01-24T15:00:00Z\"}],\"payment_history_full\": [{\"payment_option\": \"card\",\"number_paid_purchases\": 2,\"total_amount_paid_purchases\": 1234,\"date_of_last_paid_purchase\": \"2018-01-24T15:00:00Z\",\"date_of_first_paid_purchase\": \"2018-01-24T15:00:00Z\"}]}",
"description": "The content of the extra merchant data which should be presented as a string inside this property. The body should be an object containing any of the keys and sub objects described below serialised to JSON. More information on that object can be found [here](https://docs.klarna.com/klarna-checkout/api/checkout-api/#tag/Attachment-Schema)."
},
"content_type": {
"type": "string",
"example": "application/vnd.klarna.internal.emd-v2+json",
"description": "The content type of the body. It is usually represented as \"application/vnd.klarna.internal.emd-v2+json\""
}
}
}
checkbox
{
"type": "object",
"required": [
"checked",
"required",
"text"
],
"properties": {
"text": {
"type": "string",
"example": "Please add me to the newsletter list, read more here \\[link\\](http://www.google.com)",
"description": "Text that will be displayed to the consumer aside the checkbox. Links and formatting can be added using Markdown. (max 1000 characters)"
},
"checked": {
"type": "boolean",
"description": "Default state of the additional checkbox. It will use this value when loaded for the first time."
},
"required": {
"type": "boolean",
"description": "Whether it is required for the consumer to check the additional checkbox box or not in order to complete the purchase."
}
}
}
checkbox-v2
{
"type": "object",
"required": [
"checked",
"id",
"required",
"text"
],
"properties": {
"id": {
"type": "string",
"example": "newsletter_opt_in",
"description": "Identifier used when presenting data back to merchant"
},
"text": {
"type": "string",
"example": "Please add me to the newsletter list, read more here \\[link\\](http://www.google.com)",
"description": "Text that will be displayed to the consumer aside the checkbox. Links and formatting can be added using Markdown. (max 1000 characters)"
},
"checked": {
"type": "boolean",
"description": "Default state of the additional checkbox. It will use this value when loaded for the first time."
},
"required": {
"type": "boolean",
"description": "Whether it is required for the consumer to check the additional checkbox box or not in order to complete the purchase."
}
}
}
customer
{
"type": "object",
"properties": {
"type": {
"type": "string",
"example": "person",
"description": "The default supported value is 'person'. If B2B is enabled for the merchant, the value may be \"organization\"."
},
"gender": {
"type": "string",
"example": "male",
"description": "Customer’s gender - ‘male’ or ‘female’."
},
"vat_id": {
"type": "string",
"description": "Organization VAT ID. Only applies for b2b orders."
},
"date_of_birth": {
"type": "string",
"example": "1995-10-20",
"description": "Customer’s date of birth. The format is ‘yyyy-mm-dd’. ISO 8601 date."
},
"organization_registration_id": {
"type": "string",
"example": "556737-0431",
"description": "\"The organization's official registration id (organization number).\n\nNote: Applicable only for B2B orders.\""
}
}
}
dimensions
{
"type": "object",
"properties": {
"width": {
"type": "integer",
"format": "int64",
"example": 100,
"description": "The product's width as used in the merchant's webshop. Non-negative. Measured in millimeters."
},
"height": {
"type": "integer",
"format": "int64",
"example": 100,
"description": "The product's height as used in the merchant's webshop. Non-negative. Measured in millimeters."
},
"length": {
"type": "integer",
"format": "int64",
"example": 100,
"description": "The product's length as used in the merchant's webshop. Non-negative. Measured in millimeters."
}
}
}
discount_line
{
"type": "object",
"required": [
"name",
"quantity",
"tax_rate",
"total_amount",
"total_tax_amount",
"unit_price"
],
"properties": {
"name": {
"type": "string",
"example": "Super deal",
"maxLength": 255,
"minLength": 1,
"description": "Descriptive name of discount"
},
"quantity": {
"type": "integer",
"format": "int64",
"example": 5,
"minimum": 0,
"description": "Non-negative number. Quantity of the discount line item."
},
"tax_rate": {
"type": "integer",
"format": "int64",
"example": 1000,
"maximum": 10000,
"description": "Non-negative value. The percentage value is represented with two implicit decimals. (max 10000)\n\nExample: 25% should be 2500."
},
"reference": {
"type": "string",
"example": "645f54bb-dbb7-6e1f-83bd-bc81a2c3a258",
"maxLength": 255,
"minLength": 0,
"description": "The CRM reference to the gift-card that was entered by the user"
},
"unit_price": {
"type": "integer",
"format": "int64",
"example": -10000,
"maximum": 0,
"description": "Minor units. Includes tax, excludes discount. (Must be non-positive).\n\nExample: -100 Euros should be -10000."
},
"total_amount": {
"type": "integer",
"format": "int64",
"example": -2500,
"maximum": 0,
"description": "Minor units. Includes tax and discount. \n\nExample: -25 euros should be -2500\nValue = (quantity x unit_price).\n(Must be non-positive)"
},
"merchant_data": {
"type": "string",
"example": "{\"card_number\":\"5551234567890\"}",
"maxLength": 1024,
"minLength": 0,
"description": "The gift-card number that was entered by the user"
},
"total_tax_amount": {
"type": "integer",
"format": "int64",
"example": -123,
"description": "Must be within ±1 of total_amount - total_amount \\* 10000 / (10000 + tax_rate). Should be non-positive"
}
}
}
gui
{
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of options to define the checkout behaviour. Supported options: minimal_confirmation.\n\nThe gui object is an array of options to modify checkout client ui behaviours. \n\nExamples: [\"minimal_confirmation\"]"
}
}
}
merchant_requested
{
"type": "object",
"properties": {
"additional_checkbox": {
"type": "boolean",
"readOnly": true,
"description": "Informs whether the additional_checkbox is checked or not, when applicable."
},
"additional_checkboxes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/merchant_requested_checkbox"
},
"readOnly": true,
"description": "Informs whether the additional_checkboxes is checked or not, when applicable."
}
}
}
merchant_requested_checkbox
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"checked": {
"type": "boolean"
}
}
}
merchant_urls
{
"type": "object",
"required": [
"checkout",
"confirmation",
"push",
"terms"
],
"properties": {
"push": {
"type": "string",
"example": "https://www.example.com/api/push",
"maxLength": 2000,
"minLength": 0,
"description": "URL that will be used for push notification when an order is completed. Should be different than checkout and confirmation URLs. (max 2000 characters)\nExample: \"https://merchant.com/push\""
},
"terms": {
"type": "string",
"example": "https://www.example.com/terms.html",
"maxLength": 2000,
"minLength": 0,
"description": "URL for the terms and conditions page of the merchant. The URL will be displayed inside the Klarna Checkout iFrame.(max 2000 characters)\nExample: \"https://merchant.com/terms\""
},
"checkout": {
"type": "string",
"example": "https://www.example.com/checkout.html",
"maxLength": 2000,
"minLength": 0,
"description": "URL for the checkout page of the merchant. (max 2000 characters)\nExample: \"https://merchant.com/checkout\""
},
"validation": {
"type": "string",
"example": "https://www.example.com/api/validation",
"maxLength": 2000,
"minLength": 0,
"description": "URL that will be requested for final merchant validation. (must be https, max 2000 characters)\nExample: \"https://merchant.com/validation\""
},
"confirmation": {
"type": "string",
"example": "https://www.example.com/confirmation.html",
"maxLength": 2000,
"minLength": 0,
"description": "URL of the merchant confirmation page. The consumer will be redirected back to the confirmation page if the authorization is successful after the customer clicks on the ‘Place Order’ button inside checkout. The special characters of the confirmation URL should be encoded, e.g. the \"space\" character should be written as \"%20\". Then, on top of that, the whole confirmation URL should be encoded. E.g. the \"space\" character should become \"%2520\". (max 2000 characters)\nExample: \"https://merchant.com/confirmation\""
},
"notification": {
"type": "string",
"example": "https://www.example.com/api/pending",
"maxLength": 2000,
"minLength": 0,
"description": "URL for notifications on pending orders. (max 2000 characters)\nExample: \"https://merchant.com/notification/{checkout.order.id}\""
},
"address_update": {
"type": "string",
"example": "https://www.example.com/api/address",
"maxLength": 2000,
"minLength": 0,
"description": "URL for shipping, tax and purchase currency updates. Will be called on address changes. (must be https, max 2000 characters)\nExample: \"https://merchant.com/addressupdate\""
},
"country_change": {
"type": "string",
"example": "https://www.example.com/api/country",
"maxLength": 2000,
"minLength": 0,
"description": "URL for shipping, tax and purchase currency updates. Will be called on billing or shipping country changes. (must be https, max 2000 characters)\nExample: \"https://merchant.com/countrychange\""
},
"cancellation_terms": {
"type": "string",
"example": "https://www.example.com/terms/cancellation.html",
"maxLength": 2000,
"minLength": 0,
"description": "URL for the cancellation terms page of the merchant. The URL will be displayed in the email that is sent to the customer after the order is captured.(max 2000 characters)\nExample: \"https://merchant.com/terms/cancelation\""
},
"shipping_option_update": {
"type": "string",
"example": "https://www.example.com/api/shipment",
"maxLength": 2000,
"minLength": 0,
"description": "URL for shipping option update. (must be https, max 2000 characters)\nExample: \"https://merchant.com/shippingoptionupdate\""
}
}
}
options
{
"type": "object",
"properties": {
"color_link": {
"type": "string",
"example": "#FF9900",
"pattern": "^#[A-Fa-f0-9]{6}$",
"description": "Color for the hyperlinks within the iFrame. Value should be a CSS hex color, e.g. \"#FF9900\""
},
"vat_removed": {
"type": "boolean",
"description": "If true, VAT is not displayed in Checkout's Order Summary page."
},
"auto_capture": {
"type": "boolean",
"description": "Allow merchant to trigger auto capturing."
},
"color_button": {
"type": "string",
"example": "#FF9900",
"pattern": "^#[A-Fa-f0-9]{6}$",
"description": "Color for the buttons within the iFrame. Value should be a CSS hex color, e.g. \"#FF9900\""
},
"color_header": {
"type": "string",
"example": "#FF9900",
"pattern": "^#[A-Fa-f0-9]{6}$",
"description": "Color for the headers within the iFrame. Value should be a CSS hex color, e.g. \"#FF9900\""
},
"radius_border": {
"type": "string",
"example": "5",
"description": "Radius for the border of elements within the iFrame."
},
"color_checkbox": {
"type": "string",
"example": "#FF9900",
"pattern": "^#[A-Fa-f0-9]{6}$",
"description": "Color for the checkboxes within the iFrame. Value should be a CSS hex color, e.g. \"#FF9900\""
},
"phone_mandatory": {
"type": "boolean",
"description": "If false, the consumer can skip the phone. Only available for orders in DACH countries."
},
"title_mandatory": {
"type": "boolean",
"description": "If specified to false, title becomes optional. Only available for orders for country GB."
},
"shipping_details": {
"type": "string",
"example": "Delivered within 1-3 working days",
"description": "A message that will be presented on the confirmation page under the headline \"Delivery\" (max 255 characters)."
},
"acquiring_channel": {
"type": "string",
"pattern": "ECOMMERCE|MOTO|IN_STORE|TELESALES",
"description": "Acquiring channel for the order. The possible values are:\n<ul><li><em>ECOMMERCE for \"E-commerce\"</em></li><li><em>IN_STORE for \"Purchase in boutique\"</em></li><li><em>Default : ECOMMERCE</em></li></ul>"
},
"color_button_text": {
"type": "string",
"example": "#FF9900",
"pattern": "^#[A-Fa-f0-9]{6}$",
"description": "Color for the text inside the buttons within the iFrame. Value should be a CSS hex color, e.g. \"#FF9900\""
},
"additional_checkbox": {
"$ref": "#/components/schemas/checkbox"
},
"show_subtotal_detail": {
"type": "boolean",
"description": "If true, the Order Detail subtotals view is expanded when the Klarna Checkout iFrame is loaded. Default: false"
},
"additional_checkboxes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/checkbox-v2"
}
},
"allowed_customer_types": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 2,
"minItems": 1,
"description": "A list of allowed customer types. Supported types: <b>person</b> & <b>organization</b>.\nExample: [\"person\",\"organization\"]"
},
"enable_discount_module": {
"type": "boolean",
"description": "Enables the inline discount module"
},
"date_of_birth_mandatory": {
"type": "boolean",
"description": "If true, the consumer cannot skip date of birth. Default: false"
},
"color_checkbox_checkmark": {
"type": "string",
"example": "#FF9900",
"pattern": "^#[A-Fa-f0-9]{6}$",
"description": "Color for the checkboxes checkmark within the iFrame. Value should be a CSS hex color, e.g. \"#FF9900\""
},
"additional_merchant_terms": {
"type": "string",
"description": "Additional merchant defined field. e.g. Extra terms and conditions to show.\n\nExample: \"ADDITIONAL MERCHANT TERMS! \\[terms link\\](https://merchant.com/extra_terms)\""
},
"require_client_validation": {
"type": "boolean",
"description": "If true, a client side validation is needed to complete the purchase"
},
"allow_separate_shipping_address": {
"type": "boolean",
"description": "If true, the consumer can enter different billing and shipping addresses. Default: false, except for purchase_country DE where default is: true"
},
"require_validate_callback_success": {
"type": "boolean",
"description": "If true, validate callback must get a positive response to not stop purchase. Default: false."
},
"show_vat_registration_number_field": {
"type": "boolean",
"description": "If true, a optional VAT registration number field will be shown in the address form. Only applies for b2b orders."
},
"verify_national_identification_number": {
"type": "boolean",
"description": "Enable verification of National Identification Numbers only in Sweden and Norway. This option also make the national identification number mandatory. (Not applicable for countries outside of Sweden and Norway)"
},
"national_identification_number_mandatory": {
"type": "boolean",
"description": "If true, the user cannot skip national identification number in SE, NO, FI and DK. Default: false. In order to read the national identification number in the validation callback, please contact Klarna’s merchant support."
}
}
}
order
{
"type": "object",
"required": [
"locale",
"order_amount",
"order_lines",
"order_tax_amount",
"purchase_country",
"purchase_currency"
],
"properties": {
"gui": {
"$ref": "#/components/schemas/gui"
},
"name": {
"type": "string",
"example": "Women's Fashion",
"readOnly": true,
"description": "The merchant name (max 255 characters)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Extra information added to the order.\n\nExample: [\"dangerous_goods\", \"bulky\"]"
},
"locale": {
"type": "string",
"example": "en-US",
"pattern": "^[A-Za-z]{2,2}(?:-[A-Za-z]{2,2})*$",
"description": "Used to define the language and region of the customer. RFC 1766 customer's locale."
},
"status": {
"type": "string",
"example": "CHECKOUT_INCOMPLETE",
"description": "The current status of the order. The status will be ‘incomplete’ until the customer has been successfully authorized."
},
"options": {
"$ref": "#/components/schemas/options"
},
"customer": {
"$ref": "#/components/schemas/customer"
},
"order_id": {
"type": "string",
"example": "f3392f8b-6116-4073-ab96-e330819e2c07",
"readOnly": true,
"description": "Unique order ID that will be used for the entire lifecycle of the order. (max 255 characters)"
},
"recurring": {
"type": "boolean",
"description": "Indicates whether this purchase will create a token that can be used by the merchant to create recurring purchases. This must be enabled for the merchant to use. Default: false\n\nDepending on specified country, recurring could be used for the following payment methods: Pay Later, Direct Debit, Card."
},
"attachment": {
"$ref": "#/components/schemas/attachment"
},
"started_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "ISO 8601 datetime. The date and time when the order has been created. The format will be as follows:\n\"yyyy-mm-ddThh:mm:ssZ\""
},
"order_lines": {
"type": "array",
"items": {
"$ref": "#/components/schemas/order_line"
},
"maxItems": 1000,
"minItems": 0,
"description": "An array containing list of line items that are part of this order. Maximum of 1000 line items could be processed in a single order."
},
"completed_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "ISO 8601 datetime. The date and time when the order has been completed. The format will be as follows:\n\"yyyy-mm-ddThh:mm:ssZ\""
},
"html_snippet": {
"type": "string",
"example": "<div id='klarna-checkout-container'><script>alert('Initializing Klarna Checkout');</script></div>",
"readOnly": true,
"description": "The HTML snippet that is used to render the checkout in an iframe."
},
"order_amount": {
"type": "integer",
"format": "int64",
"example": 50000,
"minimum": 0,
"description": "Total amount of the order including tax and any available discounts. The value should be in non-negative minor units.\n\nExample: 25 Euros should be 2500."
},
"merchant_data": {
"type": "string",
"example": "{\"marketplace_seller_info\":[{\"product_category\":\"Women's Fashion\",\"product_name\":\"Women Sweatshirt\"}]}",
"maxLength": 6000,
"minLength": 0,
"description": "Pass through field to send any information about the order to be used later for reference while retrieving the order details (max 6000 characters)."
},
"merchant_urls": {
"$ref": "#/components/schemas/merchant_urls"
},
"discount_lines": {
"type": "array",
"items": {
"$ref": "#/components/schemas/discount_line"
},
"description": "List of discounts applied to this order via the KCO discount-service"
},
"billing_address": {
"$ref": "#/components/schemas/address"
},
"recurring_token": {
"type": "string",
"readOnly": true,
"description": "Token to be used when creating recurring orders."
},
"last_modified_at": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "ISO 8601 datetime. The date and time when the order was last modified. The format will be as follows:\n\"yyyy-mm-ddThh:mm:ssZ\""
},
"order_tax_amount": {
"type": "integer",
"format": "int64",
"example": 4545,
"minimum": 0,
"description": "Total tax amount of the order. The value should be in non-negative minor units.\n\nExample: 25 Euros should be 2500."
},
"purchase_country": {
"type": "string",
"example": "US",
"pattern": "^[A-Za-z]{2,2}$",
"description": "The purchase country of the merchant's store. The format to be used is ISO 3166 alpha-2. Eg: GB, SE, DE, US, etc. \n\nNote: purchase country and currency need to match the defined merchant configuration. For global configuration read this https://docs.klarna.com/klarna-checkout/popular-use-cases/selling-to-multiple-countries/"
},
"shipping_address": {
"$ref": "#/components/schemas/address"
},
"shipping_options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/shipping_option"
},
"description": "A list of shipping options available for this order."
},
"billing_countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed billing countries for this order.\nIf specified, the customer will be able to change the billing country in the checkout and you will be notified through ‘country_change’ callback or the ‘billing_address_change’ javascript event.\nIf not specified but shipping_countries is specified, will use same values as shipping_countries.\nIf not specified and shipping_countries is not specified, then the default value will be the purchase country.\n\nExample: [\"AD\", \"AE\", \"AG\", \"AI\", \"AL\", \"AM\", \"AQ\", \"AR\", \"AS\", \"AT\", \"AU\", \"AW\", \"AX\", \"AZ\", \"BA\", \"BB\", \"BD\", \"BE\", \"BF\", \"BG\", \"BH\", \"BJ\", \"BL\", \"BM\", \"BN\", \"BO\", \"BQ\", \"BR\", \"BS\", \"BT\", \"BW\", \"BY\", \"BZ\", \"CA\", \"CF\", \"CH\", \"CI\", \"CK\", \"CL\", \"CM\", \"CN\", \"CO\", \"CR\", \"CU\", \"CV\", \"CW\", \"CX\", \"CY\", \"CZ\", \"DE\", \"DJ\", \"DK\", \"DM\", \"DO\", \"DZ\", \"EC\", \"EE\", \"EG\", \"ER\", \"ES\", \"ET\", \"FI\", \"FJ\", \"FK\", \"FM\", \"FO\", \"FR\", \"GA\", \"GB\", \"GD\", \"GE\", \"GF\", \"GG\", \"GH\", \"GI\", \"GL\", \"GM\", \"GN\", \"GP\", \"GR\", \"GS\", \"GT\", \"GU\", \"GY\", \"HK\", \"HN\", \"HR\", \"HU\", \"ID\", \"IE\", \"IL\", \"IM\", \"IN\", \"IS\", \"IT\", \"JE\", \"JM\", \"JO\", \"JP\", \"KE\", \"KG\", \"KI\", \"KM\", \"KN\", \"KR\", \"KW\", \"KY\", \"KZ\", \"LA\", \"LA\", \"LB\", \"LC\", \"LI\", \"LK\", \"LR\", \"LS\", \"LT\", \"LU\", \"LV\", \"MA\", \"MC\", \"MD\", \"ME\", \"MF\", \"MG\", \"MH\", \"MK\", \"MK\", \"ML\", \"MM\", \"MN\", \"MO\", \"MP\", \"MQ\", \"MR\", \"MT\", \"MU\", \"MV\", \"MW\", \"MX\", \"MY\", \"MZ\", \"NA\", \"NC\", \"NE\", \"NF\", \"NG\", \"NI\", \"NL\", \"NO\", \"NP\", \"NR\", \"NU\", \"NZ\", \"OM\", \"PA\", \"PE\", \"PF\", \"PG\", \"PH\", \"PK\", \"PL\", \"PM\", \"PR\", \"PS\", \"PT\", \"PW\", \"PY\", \"QA\", \"RE\", \"RO\", \"RS\", \"RU\", \"RW\", \"SA\", \"SB\", \"SC\", \"SE\", \"SG\", \"SH\", \"SI\", \"SJ\", \"SK\", \"SL\", \"SM\", \"SN\", \"SR\", \"ST\", \"SV\", \"SX\", \"SZ\", \"TC\", \"TF\", \"TG\", \"TH\", \"TJ\", \"TK\", \"TL\", \"TO\", \"TR\", \"TT\", \"TV\", \"TW\", \"TZ\", \"UA\", \"UG\", \"UM\", \"US\", \"UY\", \"UZ\", \"VA\", \"VC\", \"VG\", \"VI\", \"VN\", \"VU\", \"WF\", \"WS\", \"XK\", \"YT\", \"ZA\", \"ZM\", \"ZW\"]\""
},
"purchase_currency": {
"type": "string",
"example": "USD",
"pattern": "^[A-Za-z]{3,3}$",
"description": "The purchase currency of the merchant's store. The format to be used is ISO 4217. Eg: USD, EUR, SEK, GBP, etc.\n\nNote: purchase country and currency need to match the defined merchant configuration. For global configuration read this https://docs.klarna.com/klarna-checkout/popular-use-cases/selling-to-multiple-countries/"
},
"external_checkouts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/payment_provider"
},
"description": "List of external checkouts that will be displayed as part of payment methods in the checkout.\nThe image_url is required, and the image size has to be 276x48px"
},
"merchant_requested": {
"$ref": "#/components/schemas/merchant_requested"
},
"shipping_countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed shipping countries for this order in ISO-3166 alpha-2 format.\n\nIf specified, the customer will be able to change the shipping country in the checkout and you will be notified through ‘address_update’ callback or the ‘shipping_address_change’ javascript event. \n\nIf not specified then the default value will be the purchase country.\n\nExample: look at billing_countries example."
},
"merchant_reference1": {
"type": "string",
"example": "45aa52f387871e3a210645d4",
"maxLength": 255,
"minLength": 0,
"description": "Used for storing merchant's internal order number or other reference. If set, will be shown on the confirmation page as \"order number\" . The value is also available in the settlement files. (max 255 characters).\nExample: \"45aa52f387871e3a210645d4\""
},
"merchant_reference2": {
"type": "string",
"example": "45aa52f387871e3a210645d4",
"maxLength": 255,
"minLength": 0,
"description": "Used for storing merchant's internal order number or other reference. The value is available in the settlement files. (max 255 characters).\nExample: \"45aa52f387871e3a210645d4\""
},
"recurring_description": {
"type": "string",
"readOnly": true,
"maxLength": 255,
"minLength": 0,
"description": "Description to be added to the recurring order."
},
"external_payment_methods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/payment_provider"
},
"description": "List of external payment methods that will be displayed as part of payment methods in the checkout."
},
"selected_shipping_option": {
"$ref": "#/components/schemas/shipping_option"
}
}
}
order_line
{
"type": "object",
"required": [
"name",
"quantity",
"tax_rate",
"total_amount",
"total_tax_amount",
"unit_price"
],
"properties": {
"name": {
"type": "string",
"example": "Red T-Shirt",
"maxLength": 255,
"minLength": 1,
"description": "Descriptive name of the order line item (max 255 characters)"
},
"type": {
"type": "string",
"example": "physical",
"description": "Type of the order line item. The possible values are:<ul><li><em>physical (physical good)</em></li><li><em>discount</em></li><li><em>shipping_fee</em></li><li><em>sales_tax (depends on the country/city, usually called VAT)</em></li><li><em>digital (digital good)</em></li><li><em>gift_card</em></li><li><em>store_credit (credit from the merchant)</em></li><li><em>surcharge (extra charge)</em></li></ul>"
},
"quantity": {
"type": "integer",
"format": "int64",
"example": 5,
"minimum": 0,
"description": "Non-negative number. Quantity of the order line item."
},
"tax_rate": {
"type": "integer",
"format": "int64",
"example": 1000,
"maximum": 10000,
"description": "Non-negative value. The percentage value is represented with two implicit decimals. (max 10000)\n\nExample: 25% should be 2500."
},
"image_url": {
"type": "string",
"example": "https://www.exampleobjects.com/product-image-1200x1200.jpg",
"maxLength": 1024,
"minLength": 0,
"description": "URL to an image that can be later embedded in communications between Klarna and the customer. (max 1024 characters)\n\nImproves post-purchase customer experiences."
},
"reference": {
"type": "string",
"example": "19-402-USA",
"maxLength": 255,
"minLength": 0,
"description": "Article number, SKU or similar. (max 255 characters)"
},
"unit_price": {
"type": "integer",
"format": "int64",
"example": 10000,
"maximum": 100000000,
"description": "Minor units. Includes tax, excludes discount. (max value: 100000000).\n\nExample: 100 Euros should be 10000."
},
"product_url": {
"type": "string",
"example": "https://www.example.com/products/f2a8d7e34",
"maxLength": 1024,
"minLength": 0,
"description": "URL to the product page that can be later embedded in communications between Klarna and the customer. (max 1024 characters)"
},
"subscription": {
"$ref": "#/components/schemas/subscription"
},
"total_amount": {
"type": "integer",
"format": "int64",
"example": 50000,
"maximum": 100000000,
"description": "Minor units. Includes tax and discount. \n\nExample: 25 euros should be 2500\nValue = (quantity x unit_price) - total_discount_amount.\n(max value: 100000000)"
},
"merchant_data": {
"type": "string",
"example": "{\"marketplace_seller_info\":[{\"product_category\":\"Women's Fashion\",\"product_name\":\"Women Sweatshirt\"}]}",
"maxLength": 1024,
"minLength": 0,
"description": "Property used to store additional metadata per item that will be returned whenever an order is read from Klarna. Pass through field. (max 1024 characters)."
},
"quantity_unit": {
"type": "string",
"example": "pcs",
"description": "Unit used to describe the quantity, e.g. kg, pcs... If defined has to be 1-8 characters"
},
"total_tax_amount": {
"type": "integer",
"format": "int64",
"example": 4545,
"description": "Must be within ±1 of total_amount - total_amount \\* 10000 / (10000 + tax_rate). Negative when type is discount."
},
"product_identifiers": {
"$ref": "#/components/schemas/product_identifiers"
},
"shipping_attributes": {
"$ref": "#/components/schemas/shipping_attributes"
},
"total_discount_amount": {
"type": "integer",
"format": "int64",
"example": 0,
"minimum": 0,
"description": "Non-negative minor units. Includes tax.\n\nExample: 25 euros should be 2500"
}
}
}
payment_provider
{
"type": "object",
"required": [
"name",
"redirect_url"
],
"properties": {
"fee": {
"type": "integer",
"format": "int64",
"description": "Minor units. Includes tax."
},
"name": {
"type": "string",
"example": "PayhereUs",
"maxLength": 255,
"minLength": 0,
"description": "The name of the payment provider. (max 255 characters)"
},
"label": {
"type": "string",
"example": "continue",
"description": "Controls label of buy button<ul><li>continue</li><li>complete</li></ul>"
},
"countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "If specified, limits the method to the listed countries (alpha 2 codes)."
},
"image_url": {
"type": "string",
"example": "https://www.exampleobjects.com/product-image-1200x1200.jpg",
"maxLength": 2000,
"minLength": 0,
"description": "URL to an image to display. (must be https, max 2000 characters)"
},
"description": {
"type": "string",
"example": "an American company operating a worldwide online payments system",
"maxLength": 500,
"minLength": 0,
"description": "Short description of the payment method. This is displayed below the selected payment method. (max 500 characters)"
},
"redirect_url": {
"type": "string",
"example": "https://www.example.com/us/start",
"maxLength": 2000,
"minLength": 7,
"description": "URL to redirect to. (must be https, min 7, max 2000 characters)"
}
}
}
product_identifiers
{
"type": "object",
"properties": {
"size": {
"type": "string",
"example": "Medium",
"maxLength": 64,
"minLength": 0,
"description": "Size to be shown to the end customer (max 64 characters)."
},
"brand": {
"type": "string",
"example": "Intel",
"maxLength": 70,
"minLength": 0,
"description": "The product's brand name as generally recognized by consumers. If no brand is available for a product, do not supply any value."
},
"color": {
"type": "string",
"example": "Blue",
"maxLength": 64,
"minLength": 0,
"description": "Color to be shown to the end customer (max 64 characters)."
},
"category_path": {
"type": "string",
"example": "Electronics Store > Computers & Tablets > Desktops",
"maxLength": 750,
"minLength": 0,
"description": "The product's category path as used in the merchant's webshop. Include the full and most detailed category and separate the segments with ' > '. (max 750 characters)\n\nExample: \"Electronics Store > Computers & Tablets > Desktops\""
},
"global_trade_item_number": {
"type": "string",
"example": "735858293167",
"maxLength": 50,
"minLength": 0,
"description": "The product's Global Trade Item Number (GTIN). Common types of GTIN are EAN, ISBN or UPC. Exclude dashes and spaces, where possible"
},
"manufacturer_part_number": {
"type": "string",
"example": "BOXNUC5CPYH",
"maxLength": 70,
"minLength": 0,
"description": "The product's Manufacturer Part Number (MPN), which - together with the brand - uniquely identifies a product. Only submit MPNs assigned by a manufacturer and use the most specific MPN possible"
}
}
}
selected_addon
{
"type": "object",
"properties": {
"type": {
"type": "string"
},
"price": {
"type": "integer",
"format": "int64"
},
"user_input": {
"type": "string"
},
"external_id": {
"type": "string"
}
}
}
shipping_attributes
{
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "The product's extra features, example [\"dangerous_goods\", \"bulky\"]"
},
"weight": {
"type": "integer",
"format": "int64",
"example": 1000,
"description": "The product's weight as used in the merchant's webshop. Non-negative. Measured in grams."
},
"dimensions": {
"$ref": "#/components/schemas/dimensions"
}
}
}
shipping_option
{
"type": "object",
"required": [
"id",
"name",
"price",
"tax_amount",
"tax_rate"
],
"properties": {
"id": {
"type": "string",
"example": "express_priority",
"description": "id"
},
"name": {
"type": "string",
"example": "EXPRESS 1-2 Days",
"maxLength": 255,
"minLength": 1,
"description": "Name."
},
"price": {
"type": "integer",
"format": "int64",
"description": "Price including tax."
},
"promo": {
"type": "string",
"example": "Christmas Promotion",
"description": "Promotion name. To be used if this shipping option is promotional."
},
"tax_rate": {
"type": "integer",
"format": "int64",
"description": "Non-negative. In percent, two implicit decimals. I.e 2500 = 25%."
},
"tax_amount": {
"type": "integer",
"format": "int64",
"description": "Tax amount."
},
"description": {
"type": "string",
"example": "Delivery by 4:30 pm",
"description": "Description."
},
"preselected": {
"type": "boolean",
"description": "If true, this option will be preselected when checkout loads. Default: false"
},
"tms_reference": {
"type": "string",
"example": "a1b2c3d4-e4f6-g7h8-i9j0-k1l2m3n4o5p6",
"description": "TMS reference. Required to map completed orders to shipments reserved in TMS."
},
"selected_addons": {
"type": "array",
"items": {
"$ref": "#/components/schemas/selected_addon"
}
},
"shipping_method": {
"type": "string",
"example": "PickUpStore",
"description": "Shipping method. Possible values:<ul><li>PickUpStore</li><li>Home</li><li>BoxReg</li><li>BoxUnreg</li><li>PickUpPoint</li><li>Own</li><li>Postal</li><li>DHLPackstation</li><li>Digital</li></ul> If DHLPackstation is selected the correct form will be displayed."
},
"delivery_details": {
"$ref": "#/components/schemas/DeliveryDetailsV1"
}
}
}
subscription
{
"type": "object",
"required": [
"interval",
"interval_count"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the subscription product.\n\nExample: \"Premium Account\""
},
"interval": {
"enum": [
"DAY",
"WEEK",
"MONTH",
"YEAR"
],
"type": "string",
"description": "The cadence unit for this.\n\nExample: \"DAY\""
},
"interval_count": {
"type": "integer",
"format": "int32",
"minimum": 1,
"description": "The number of intervals.\n\nExample: 30"
}
}
}