{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/api-evangelist/verifone/refs/heads/main/json-schema/ecommerce-api-klarnapaymentinitiationrequest.json", "title": "Klarna Initiate Payment Request", "description": "klarnaPaymentInitiationRequest from Verifone eCommerce API", "required": [ "amount", "currency_code", "customer", "entity_id", "line_items", "locale", "purchase_country", "redirect_url" ], "type": "object", "properties": { "entity_id": { "type": "string", "description": "The identifier of merchant entity you want to process the transaction request with. Entity Id can be located on the organization level as Organization ID (Administration > Organizations > [Organization] > Organisation ID value)", "format": "uuid-flexible" }, "amount": { "type": "integer", "description": "Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details. For Account Verification transactions, provide 0 as value for this field." }, "tax_amount": { "type": "integer", "description": "Tax Amount is charged without a decimal place e.g. $1.5 = 150. Currencies can have different decimals/exponentials, see Currencies Section for more details." }, "redirect_url": { "maxLength": 2048, "type": "string", "description": "Checkout Redirect URL which will be used by Klarna on Payment Completion." }, "capture_now": { "type": "boolean", "description": "Whether auto-capture or not. Setting the value to 'false' will only authorize the transaction.", "default": true }, "customer": { "type": "string", "description": "The ID of a customer.", "format": "uuid-flexible", "title": "Customer ID" }, "customer_ip": { "description": "The IP Address of the customer where the transaction was initiated.", "maxLength": 15, "oneOf": [ { "type": "string", "format": "ipv4" }, { "type": "string", "format": "ipv6" } ] }, "dynamic_descriptor": { "maxLength": 25, "type": "string", "description": "A short [descriptor](https://en.wikipedia.org/wiki/Billing_descriptor) to be shown on bank statement of the customer. Please refer to the integration guide for the format requirements." }, "merchant_reference": { "type": "string", "description": "A reference specified by the merchant to identify the transaction.", "maxLength": 50 }, "shipping_information": { "allOf": [ { "$ref": "#/components/schemas/ShippingInformationDto" } ] }, "line_items": { "type": "array", "description": "The array of items being purchased.", "items": { "$ref": "#/components/schemas/LineItem" } }, "user_agent": { "type": "string", "description": "The full user agent string of the device the customer used to submit the transaction.", "maxLength": 256 }, "sales_description": { "type": "string", "description": "A reference used by the merchant to typically capture a description of the service provided. It could then be used by the merchant to help locate transactions. One could envision a situation where a merchant is trying to locate a transaction/ receipt but in speaking with the customer, the only (or at least a predominant) detail is what service was rendered", "maxLength": 200 }, "currency_code": { "type": "string", "description": "Three-letter ISO 4217 alphabetical currency code. e.g. EUR. Values correspond\nto [ISO 4217](https://wikipedia.org/wiki/ISO_4217).\n\nPlease note that Klarna only supports EURO (EUR), Norwegian krone (NOK) , Swedish krona (SEK) and Danish krone (DKK).", "enum": [ "EUR", "NOK", "SEK", "DKK" ] }, "locale": { "$ref": "#/components/schemas/Locale" } } }