Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
738 lines (613 sloc) 44.9 KB
*** WooCommerce Gateway Klarna Changelog ***
2018.11.12 - version 2.6.2
* Tweak - Code cleaning.
* Fix - Check if klarna_checkout exist in get_available_payment_gateways before change_checkout_url (URL to checkout page). Props to @jonathan-dejong.
* Fix - Bug fix in product stock check in validate callback.
* Fix - Bug fix in check_subscription_product_limit in validate callback.
* Fix - Improved product_needs_shipping check in validate callback (allow virtual products + supscription products with free frial).
* Fix - Add improved error message in checkout page for subscription_limit validation
* Fix - Only send shipping line item to Klarna if one exist in cart.
* Fix - Logging improvements.
* Fix - PHP notice fix.
2018.10.29 - version 2.6.1
* Fix - Reverted plugin version number in User agent sent to Klarna. Caused issues with Order Management API calls.
2018.10.26 - version 2.6.0
* Tweak - Remove license handling. Add updates via
* Tweak - Added Klarna v2 to v3 banner.
* Tweak - Added logging of create request.
* Tweak - Add plugin version number to user agent sent to klarna.
* Fix - Added set_calculated_shipping for customer. Caused issues with WC 3.5.0 for some merchants.
* Fix - Removed html-snippet from logging in Klarna listener log.
* Fix - Added check to remove unneeded (401) error message in KCO checkout page.
2018.07.30 - version 2.5.15
* Tweak - Move unset kco sessions to maybe_clear_kco_sessions() function.
* Tweak - Added supports subscription_payment_method_change_admin for KCO.
* Tweak - Updated JS event klarna_update_shipping in KCO page so other plugins can update shipping method info and trigger that update to Klarna.
* Fix - Fixes so HTML tags being stripped ocht in KCO logs.
* Fix - Fixes problem with order started with Swish as payment method but then cancelling and switch to KCO.
* Fix - Don't change to KCO checkout url if customer is making a subscription switch (then use the regular checkout instead).
* Fix - Added check for subscription limit for customer in validation callback.
2018.05.24 - version 2.5.14
* Feature - Added support for wp_add_privacy_policy_content (for GDPR compliance). More info:
* Fix - Added try catch to parse json in Krokedil logger on order page.
2018.05.11 - version 2.5.13
* Fix - PHP fatal error fix for KCO V3 in push notification listener.
2018.05.11 - version 2.5.12
* Tweak - Added Stidner shipping plugin compatibility support.
* Tweak - Add 402 status as post meta klarna_subscription_renewal_status (to be able to query the amount of declined renewal purchases).
* Fix - Switched from calculating tax rate to getting the stored tax rate in the order when doing refunds.
* Fix - Avoid php error if client_currency (WPML check) doesn’t exist in session.
* Fix - Get subscription data from parent order if missing in renewal order.
* Fix - Adds order note if customer/user can’t be created on subscription signups.
* Fix - Populate Billing company field correct in get address call (KPM).
2018.03.23 - version 2.5.11
* Fix - Logging improvements to avoid PHP errors.
2018.03.15 - version 2.5.10
* Fix - Fixes validation check for orders that do not need shipping.
2018.03.14 - version 2.5.9
* Fix - Fixes compatibility with WooCommerce Subscriptions 2.0+.
* Fix - Preserves logged in customer ID for KCO orders with different email.
* Fix - Fixes error caused by logging.
* Update - Updates how shipping price is displayed in KCO cart widget if shipping has not been calculated.
2018.02.22 - version 2.5.8
* Fix - Fixes PHP notices in WC_Gateway_Klarna_Order class.
* Fix - Sets flat cart item data display to false in KCO page.
* Fix - Fixes admin link to KCO Incomplete orders (#153).
* Fix - Fixes the "reduce quantity to zero does not remove it" issue (#155).
* Fix - Fixes success message missing when coupon added for KCO (#132).
* Update - Adds Krokedil logger class.
2018.02.12 - version 2.5.7
* Fix - Fixes error with WC_Session in WooCommerce 3.3 for Klarna Checkout.
* Fix - Limits KCO item reference to 64 characters.
* Feature - Introduces klarna_finalize_order_in_thank_you_page filter.
* Feature - Introduces klarna_x_forwarded_for filter.
2018.01.12 - version 2.5.6
* Update - Added cancellation_terms_uri ( setting for DE & AT.
* Fix - Improved subscription renewal error logging.
* Fix - Subscription order renewal improvements - grab customer address data from parent order if missing in subscription.
* Fix - Fixes bug with move PNO field for Invoice/part payment.
2017.12.26 - version 2.5.5
* Update - Add shipping email to order if it exist from Klarna.
* Fix - Get locale from parent order, if missing in subscription, when sending renewal order data to Klarna.
* Fix - Send country code with lowercase letters in subscription renewal order data.
* Fix - Improved subscription renewal error logging.
* Update - Remove need for td in js logic for quantity change on KCO page.
* Fix - WC 3.0 deprecated notices.
2017.11.23 - version 2.5.4
* Fix - Fixes email check in KCO ajax updates.
* Update - Adds filter (klarna_item_name) to make it possible to filter cart item name before sending it to Klarna.
* Fix - Fixes missing shipping issue for repeat customers.
* Update - Adds subscription support for Finnish customers for KCO.
2017.10.27 - version 2.5.3
* Fix - Temporarily instantiate KCO gateway class on init. Solves subscriptions not being created issue.
* Update - Adds Composer support (props @pelmered).
2017.10.26 - version 2.5.2
* Fix - Fixes checkout URL modifier for KCO.
* Update - Adds description field to KCO settings page.
2017.10.25 - version 2.5.1
* Update - Stops purging all KCO Incomplete orders older than 2 weeks.
* Fix - Checks if WC->session exists in checkout-variables.
* Hotfix - Fixes issue with KCO Incomplete orders not being registered in time
* Fix - Fixes subscriptions manual renewal issue with KCO.
2017.10.23 - version 2.5.0
* Update - Updated Klarna PHP-XMLRPC SDK to 5.0.
* Fix - Send billing address as shipping address to Klarna in process_subscription_payment if shipping isn’t enabled.
* Fix - Grabs recurring payment token from payment order if it doesn't exist in subscription (KCO).
* Update - Changes order creation date for Klarna Checkout orders to when customer processes checkout.
* Update - Refactoring of KCO class and KCO Shortcodes class, prevents gateway class from being instantiated twice.
* Update - Refactoring, new PHP class for AJAX requests.
* Update - Adds check for WC()->cart before rendering any of the shortcodes.
* Fix - Removes unneeded wpautop from Klarna's shipping info message in Invoice and Part Payment.
2017.09.19 - version 2.4.2
* Fix - Fixes accessing WC_Customer set_billing_email for WooCommerce lower than 3.0.
* Fix - Fixes Klarna Checkout shipping tax rate rounding problem.
* Fix - Fixes deprecated WC_Order_Item_Meta notice.
* Fix - Fixes WC_Product::get_display_price notice.
2017.09.07 - version 2.4.1
* Fix - Fixes status code comparison issue in KCO V3.
* Fix - Fixes tax rate rounding in Klarna Checkout.
* Fix - Fixes coupon validation in Klarna Checkout.
* Update - Adds error handling in WPTransport class.
* Update - Updates Klarna logos for invoice and part payment.
2017.08.11 - version 2.4.0
* Update - Updates Guzzle dependency to 5.3.1.
* Fix - Adds DK & NL to get_authorized_countries() (used for filter url to checkout page).
* Fix - Adds check if it already has run for woocommerce_thankyou action hook in KCO thank you page.
* Fix - Checks coupon usage limits in Klarna Checkout page.
* Update - Loads Klarna checkout scrips also when WOOCOMMERCE_CHECKOUT is defined.
2017.07.24 - version 2.3.14
* Fix - Restricts post-checkout KCO user login to new accounts.
2017.07.20 - version 2.3.13
* Fix - Fixes direct access to $order->payment_method in part payment and invoice gateways.
2017.07.07 - version 2.3.12
* Update - Adds setting for Allow separate shipping address (KCO V2).
* Fix - Fixes WooCommerce Subscriptions issue - adds customer address to order before woocommerce_checkout_order_processed hook is run.
* Fix - Fixes WooCommerce Subscriptions issue - adds check to activate subscription if parent order already has been set to processing/completed when subscription is created.
* Fix - Fixes invoice fee (no product) issue.
2017.06.13 - version 2.3.11
* Fix - Fixes missing SKU in Klarna Invoice.
* Fix - Fixes accessing customer country property directly in WC 3.0.
* Fix - Fixes several WC 3.0 compatibility notices.
* Update - Adds $klarna_order argument to klarna_before_kco_confirmation hook in Klarna Checkout thank you page.
* Fix - Fixed issue with Min/Max quantities plugin.
2017.05.30 - version 2.3.10
* Fix - Moves klarna_after_adding_kco_cross_sell hook before wp_die().
* Update - Remove the need to have td named .product-quantity in KCO cart widget JS code.
* Update - Added template functions/hooks to KCO cart widget.
* Update - Add feature to be able to hide coupon form via shortcode attribute.
* Update - Introduces kco_cart_widget_use_woocommerce_order_review filter that makes it possible to use woocommerce_order_review() instead of KCO cart widget code to show cart items.
* Update - Updates UX around PHP version check (issue #60).
2017.05.24 - version 2.3.9
* Update - Removes old WC compatibility class.
* Update - Adds WC 3.0 compatibility functions.
* Fix - Fixes loading of Klarna's all.js script.
2017.05.17 - version 2.3.8
* Tweak - Updates conditional for loading KCO page scripts.
* Update - Adds $posted_data and $order to woocommerce_checkout_order_processed hook in KCO thank you page.
* Fix - Adds check to see if product is returned in KCO validate class.
2017.05.11 - version 2.3.7
* Fix - Changes allowed response status for KCO V3 refund (201, 204).
* Update - Updates translation domain for some strings to woocommerce-gateway-klarna.
* Fix - Fixes response to failed purchase in KPM methods (issue-58).
* Fix - Fixes KCO compatibility with Product Add-ons and Product Variations.
2017.04.06 - version 2.3.6
* Fix - Fixes problem with $order->get_id() in K2WC class.
2017.04.06 - version 2.3.5
* Hotfix - Fixes undeclared global variable from previous version, in get_checkout_page() method.
2017.04.05 - version 2.3.4
* Fix - Removes deprecated functions (woocommerce_clean, WC()->cart->get_cart_url(), WC()->cart->get_checkout_url(), woocommerce_get_page_id, get_product)
* Fix - Fixes error handling error in WC_Gateway_Klarna_K2WC class.
* Fix - Fixes WooCommerce Smart Coupons compatibility where discount amount wasn't being deducted from smart coupon properly.
2017.03.30 - version 2.3.3
* Fix - Fixes catchable fatal error on customer creation for KCO.
* Fix - Removes order status filtering (causes error with WC 3.0).
2017.03.23 - version 2.3.2
* Fix - Fixed compatibility with WooCommerce Min/Max plugin.
* Fix - Fixed compatibility with Subscriptions/Memberships combination of plugins.
* Fix - Adds support for KCO NL.
* Fix - Fixes tax rate calculation in refunds for KCO V2.
* Fix - Fixes order total calculation when shipping doesn't have tax for KCO.
* Fix - Fixes WooCommerce order total calculation when coupons are used in KCO V3.
* Fix - Adds utf8_encode to refund reason.
* Update - Adds klarna_is_rest_countries_eu and klarna_is_rest_countries_na filters.
* Update - Stores Klarna credentials country as order meta field.
2017.03.06 - version 2.3.1
* Fix - Fixes "Can't use method return value in write context" error for PHP <= 5.4 in KCO class.
2017.02.22 - version 2.3
* Fix - Moves woocommerce_checkout_order_processed from notification listener to thank you page (AWP and GA plugins fix).
* Update - Updates WordPress plugin header.
* Update - Stores shipping phone number as order meta field in KCO notification listener.
* Fix - Adds trailinglashit to compared URLs in KCO enqueue scripts function.
* Fix - Fixes order note not being stored into WooCommerce order for KCO.
* Fix - Fixes MonsterInsights support.
* Fix - Fixes address line 2 not being stored in WooCommerce orders for KCO UK.
* Fix - Fixes shipping order line item details for subscription orders for KCO.
* Fix - Adds an argument to woocommerce_cart_item_quantity filter.
* Fix - Fixes tax rate rounding issue for KCO V2 recurring orders.
2016.12.29 - version 2.2.6
* Fix - Uses AjaxQ library (MIT license: to fix duplicate order items issue.
2016.12.23 - version 2.2.5
* Fix - Uses correct credentials for Get Address feature.
* Fix - Fixes missing address issue on order update.
* Update - Changes login URL to go to My Account page.
* Update - Adds kco_widget_before_cart_total action hook before cart totals in KCO cart widget.
* Update - Adds klarna_process_cart_contents filter hook.
2016.12.20 - version 2.2.4
* Fix - Fixes character encoding issue in customer address on order update.
* Tweak - Stores first_name and last_name for new user in KCO.
* Tweak - Adds plugin version to enqueued CSS and JS files for KCO.
* Tweak - Applied klarna_shipping_invoice_fields and klarna_billing_invoice_fields for billing and shipping invoice fields
* Tweak - Applied klarna_shipping_part_payment_fields and klarna_billing_part_payment_fields for billing and shipping part payment fields.
* Tweak - Adds more detailed logging in WooCommerce order creation for Klarna Checkout.
* Feature - Adds Klarna Checkout support for B2B purchases.
2016.11.14 - version 2.2.3
* Fix - Fixes the error in settings page when using Klarna and MasterPass plugins together.
* Update - Disables Klarna Checkout autofocus on mobile.
* Fix - Adds Klarna Checkout setting that allows is_order_received_page() to return true on KCO thank you page.
* Fix - Adds JS fix for duplicate order items in KCO.
* Update - Adds only_shipping="yes" attribute to woocommerce_klarna_checkout_widget shortcode allowing it to only show shipping.
2016.10.19 - version 2.2.2
* Fix - Adds back shipping cost calculation based on shipping postal code returned from Klarna in KCO.
* Fix - Fixes empty incompatibility with PHP 5.4.
* Fix - Changes locale for KCO US to en-US.
* Feature - Adds option to show only shipping in KCO cart widget (use attribute only_shipping="yes").
2016.10.12 - version 2.2.1
* Fix - Fixes KCO tax calculation bug in local order introduced in 2.2
2016.10.06 - version 2.2
* Fix - Fixes a PHP notice in shortcodes class.
* Fix - Gets rid of code duplication in KCO widget.
* Fix - Uses KCO shipping address for shipping calculation, when WooCommerce is set to this option.
* Update - Removes tests from bundled libraries.
* Feature - Adds KCO Denmark.
* Feature - Adds KCO cross-sells for KCO V2 countries.
2016.09.08 - version 2.1.12
* Fix - Adds missing quotes for German locale filter.
2016.09.06 - version 2.1.11
* Fix - Fixes javascript errors caused by missing PHP codes in payment fields files for invoice and part payment.
2016.08.25 - version 2.1.10
* Tweak - Adds kco_before_validate_checkout, kco_validate_checkout and kco_after_validate_checkout action hook in validate callback (props:
* Tweak - Adds kco_before_confirm_order action hook in order confirmation listener (props:
* Tweak - Adds kco_hide_singular_shipping_method filter in KCO widget (props:
* Tweak - Adds kco_widget_before_calculation, kco_widget_before_coupon, kco_widget_before_cart_items, kco_widget_before_totals, kco_widget_before_order_note and kco_widget_after action hooks in KCO widget (props:
* Tweak - Adds shipping_address_change and order_total_change JS functions in Klarna Checkout script (props:
* Tweak - Updates German translation files.
* Fix - Fixes billing and shipping address capture when creating new customer in Klarna Checkout.
2016.08.19 - version
* Fix - Updated translation files.
* Fix - Fixes WC Logging on order update fail.
* Fix - Fixes code syntax error in payment fields files for Invoice and Part Payment.
* Tweak - Uses session values to hide/show order note in KCO widget.
2016.08.10 - version 2.1.9
* Fix - Fixes order lines formatting when V3 (US and UK) KCO order is edited.
* Fix - Adds check to make sure color codes sent to KCO iframe start with #.
* Tweak - Lets KCO widget retain hidden columns on refresh.
* Fix - Adds html_entity_decode to secret_uk and secret_us.
* Tweak - Adds filter to edit german locale - 'klarna_german_locale' - default is 'de_DE'.
* Tweak - Adds support for 'de_DE_formal' locale.
* Tweak - Improves status page check for valid checkout and thank you URLs.
* Tweak - Adds check for terms page to status page.
* Tweak - Improves API error logging.
* Fix - Fixes syncing between WooCommerce and Klarna Checkout orders on KCO iframe update.
* Tweak - Adds second argument ($klarna_order) to 'klarna_after_kco_push_notification' action hook.
2016.06.30 - version 2.1.8
* Fix - Improved validation callback handling.
* Fix - Added rounding to item discount rate calculation for KCO to avoid mismatch in calculations with many decimals.
* Tweak - Adds kco_http_request_timeout filter (default is 10 seconds) for stores that encounter WP_Error in KCO http requests because of timeout.
* Tweak - Switches from json_encode to wp_json_encode in KCO library (BasicConnector.php) to add support for non-English characters.
* Tweak - Adds option to show product thumbnails in KCO cart widget, using kco_show_cart_widget_thumbnails filter.
* Tweak - Adds AJAX error messages (KCO).
2016.06.14 - version 2.1.7
* Fix - Better error handling for process_payment in Invoice and Part Payment classes.
* Fix - Fixed recurring payment handling (checks for different meta field now).
* Fix - Fixes $post not set notice in empty search results page (
* Tweak - Updated shipping label in KCO cart widget.
* Tweak - Improved customer country check when processing checkout fields for Invoice and Part Payment.
* Fix - Supports WooCommerce 2.6.
* Feature - Adds support for DuracellTomi's Google Tag Manager.
2016.05.23 - version 2.1.6
* Fix - Prevents KCO request if Eid and secret are not set for chosen country.
* Tweak - Better handling of KCO JS events (change and shipping_address_change).
* Tweak - Improves Klarna Checkout validate callback, adds check for valid shipping option.
2016.05.11 - version 2.1.5
* Fix - Removes session_start in Klarna Checkout, since WooCommerce session is now used to store Klarna order information.
* Fix - Prevents KCO checkout if there's no valid shipping option available.
* Fix - Flushes PClasses when you save Klarna options.
* Fix - Fixes wrong WCML currency in AJAX issue.
* Fix - Removes shipping price from KCO widget shipping label when only one method is available.
* Fix - Removes deprecated get_currentuserinfo, replaced with wp_get_current_user.
* Fix - Moves personal number fields above billing form even if there is only one billing country.
* Tweak - Makes personal number placeholders translatable.
* Tweak - Adds permalink structure notice to KCO settings page.
* Tweak - Adds checks before attempting to cancel or capture Klarna order.
* Tweak - Prevents personal number from disappearing on update checkout.
* Tweak - Makes get address button disabled until the result is returned.
* Tweak - Introduces is_klarna_checkout conditional function.
* Tweak - Loads inline JS more selectively (only when needed).
2016.04.12 - version 2.1.4
* Fix - Fixes AffiliateWP support for Klarna Checkout.
* Fix - Fixes GetAddress button functionality for invoice and part payment.
2016.03.31 - version 2.1.3
* Fix - Fixes how shipping address is stored in WooCommerce for KCO orders.
* Fix - Adds compatibility with WooCommerce Points and Rewards for KCO.
2016.03.24 - version 2.1.2
* Fix - Adds trailingslashit to URL comparison for KCO pages.
* Tweak - Adds error notification when attempting to refund a non-activated KCO order.
* Tweak - Updated Finnish translation files.
* Tweak - Adds English locale for all countries (except Germany).
* Tweak - Introduces is_ssl check for KCO V3 before adding address_update URL.
* Tweak - Sends the user to new checkout URL on Klarna Euro country change, instead of just reloading the page.
* Tweak - Stores Klarna order ID as order note for UK and US.
* Fix - Fixes typos in DE and AT terms text.
* Fix - Adds back woocommerce_checkout_order_processed action hook for KCO.
* Fix - Adds html_entity_decode to Klarna secret keys for US and UK.
* Filter - Introduces 'klarna_checkout_hide_refunded_status' filter that allows merchants to add back Refunded to
order status dropdown for KCO orders.
* Fix - Makes remove coupon string translatable.
* Fix - Makes 'Login' and 'create an account' strings translatable in guest checkout notice.
* Fix - Adds 'klarna-checkout-guest-notice' CSS class to "must log in" notice if guest checkout is disabled.
* Fix - Changes HTML element for Klarna Get Address button to button.
* Fix - Changes shipping reference format to string for KCO.
2016.03.04 - version 2.1.1
* Fix - Fixes how Klarna Invoice fees are sent to Klarna (flag 48 instead of 32).
2016.03.01 - version 2.1
* Fix - Changed Composer autoload.php path.
* Tweak - Additional logging for Invoice and Part Payment.
* Fix - Improved checkout checks for KPM.
* Feature - Introduces 'klarna_invoice_label' filter to make it possible for merchants to filter 'Pay in 14 days' text for Klarna Invoice
* Feature - Introduces validate URI listener.
* Tweak - Adds conditional check before firing AJAX callback on KCO iframe change.
* Tweak - Changes in WPTransport method for KCO.
* Feature - Adds options to send discounts as separate line items for KCO.
2016.01.22 - version 2.0.3
* Feature - Adds fee processing to Klarna Checkout.
* Tweak - Adds fee display to KCO cart widget.
* Bug - Makes sure free shipping options are sent to Klarna in Klarna Checkout.
* Bug - Fixes US tax calculations by introducing sales_tax order line.
* Bug - Fixes refund tax rate calculation.
* Bug - Fixes tax rate rounding issue.
2016.01.07 - version 2.0.2
* Fix - Fixes KPM DE and NL bug.
* Fix - Makes 'Shipping Fee' string translatable.
2015.12.29 - version 2.0.1
* Fix - Fixes logic that shows Klarna setup notification in the admin.
* Fix - Added login/create account link on KCO checkout page if gest checkout is disabled and user isn't logged in.
2015.12.21 - version 2.0.0
* Feature - Added Klarna order activation from WooCommerce.
* Feature - Added Klarna order cancellation from WooCommerce.
* Feature - Added Klarna order update from WooCommerce.
* Feature - Added Klarna order refund from WooCommerce.
* Feature - Added support for subscription payments via Klarna Checkout (SE & NO).
* Feature - Added support for KCO UK, US & Austria.
* Feature - Added mini cart to the Klarna Checkout page (via shortcode [woocommerce_klarna_checkout_widget]).
* Feature - Added Shipping to the Klarna Checkout page (via shortcode [woocommerce_klarna_checkout_widget]).
* Feature - Added Coupon management to the Klarna Checkout page (via shortcode [woocommerce_klarna_checkout_widget]).
* Feature - Added a country selector to the Klarna Checkout page (via shortcode [woocommerce_klarna_country]), when selling to multiple EUR countries.
* Feature - Moved customer order note field into the new KCO mini cart.
* Feature - Updated flow for orders that are marked *Needs pending approval from Klarna* (KPM). Order status is now set to On Hold and a cronjob is checking the orderstatus with Klarna every 2 hours.
* Feature - Added Shipping and payment info from Klarna in order confirmation (on thank you page for KPM).
* Feature - Started implementing Klarna's Remarketing feature for KCO. All local WC orders (when selecting KCO as payment method but not finalizing the purchase) does now include the customers email address.
* Feature - Added setting in KCO to make it possible to display a button with a link back to the KCO page in WooCommerce standard checkout.
* Feature - Added a new WP widget for displaying Klarna as an available payment option in the store.
* Feature - Added Klarna's Part payment widget (display monthly cost on product pages) even for KCO (previous only KPM).
* Feature - Address information entered in KCO form is updated in local order/session. Adds support for postal number calculated shipping via Table Rate Shipping extension.
* Feature - Adds support for buying with gift certificates created via Smart Coupons extension.
* Tweak - Code refactoring.
* Tweak - Change Klarna Invoice, Account and Special campaign to two payment methods instead of three different. They are now called Invoice and Part payment.
* Tweak - Add customer info from Klarna to WooCommerce (name, phone etc) when creating users automatically with KCO.
* Tweak - Change how order in WooCommerce is created when customer pays with Klarna Checkout. WooCommerce orderstatus is now set to KCO incomplete until the order is confirmed from Klarna. This way incomplete orders won't clutter up the order list view and product stock isn't reserved until the order actually is finalized.
* Tweak - Updated translation files and updated Swedish and Norwegian translations.
* Tweak - Changed textdomain to woocommerce-gateway-klarna.
* Tweak - Changed plugin main file name to follow WP best practices.
* Tweak - Enhances get address field placement for SE.
* Tweak - Enhances error handling on new customer account creation.
* Tweak - Improved settings pages formatting.
* Tweak - Adds esc_attr to all PHP generated attributes
* Tweak - Switched to get_display_price for price in Klarna payment widget.
* Tweak - Switched to using wp_remote_request instead of curl.
* Fix - Fixed Get Address class so it doesn’t instantiate other classes and optimized company flow.
2015.11.23 - version
* Fix - Fixes order total calculating issue in WC order for stores that don't have tax activated (Klarna Checkout).
* Tweak - Save country code with uppercase letters on callback from Klarna to store Billing & Shipping country correct in orders.
2015.11.18 - version
* Tweak - Product attributes sent in product name to Klarna for KPM (Invoice and Account).
* Fix - Fixes PHP warning in start_session() for users that has no KCO setting saved at all.
* Fix - Changed Useragent to Krokedil-V1.9 in Klarna SDK for module identification against Klarna.
2015.11.11 - version
* Fix - Fixes when session is started by restricting it only to KCO pages.
* Fix - Fixes cleanup of incomplete Klarna orders when "hold stock for x minutes" WooCommerce option is enabled.
2015.10.22 - version
* Fix - Fixes discount amount shown in merchant and customer order confirmation emails.
2015.10.01 - version
* Fix - Fixes output of JS in Klarna Checkout page.
* Fix - Hooks into 'woocommerce_cancel_unpaid_order' to expand it to orders created via Klarna Checkout.
* Fix - Fixes get_formatted_legacy deprecated notice.
2015.09.22 - version
* Fix - Prevents caching of Klarna Checkout and Thank You pages.
* Update - Removes display of active PClasses in settings pages.
2015.05.05 - version
* Feature - Added filter klarna_checkout_billing_phone() for returned phone number in KCO.
* Fix - Fixes how Klarna customer billing details are handled in session.
* Fix - Fixes PHP notice on empty category pages.
* Fix - Fixes deprecated notice - get_order_discount_total.
* Fix - Check cart items so that they are in stock in get_klarna_checkout_page().
2015.04.22 - version 1.9.8
* Update - Adds German translation files, credits: Kevin Konrad, Alexander Weissenburger.
* Fix - Fixes add_query_arg vulnerability.
2015.01.22 - version 1.9.7
* Fix - Removes duplicate code in class-klarna-pms.php.
* Fix - Fixes HTML error in Klarna Checkout page.
* Fix - Removes unused javascript files.
* Fix - Only cleans up address fields in checkout form when switching from Klarna to another payment method if getAddress feature was used.
2015.01.15 - version 1.9.6
* Fix - Change of endpoint URI for Klarna PMS (live mode).
2015.01.08 - version 1.9.5
* Update - Updated Klarna invoice and part payment client library to v3.2.0.
* Update - Switches to using Klarna PMS for Norway (Klarna special requirements - Norway).
* Update - Adds country as optional parameter in get_eid() and get_secret() methods.
* Fix - Fixes memory error when Google Analytics integration and Aelia Currency Switcher are used.
2014.12.01 - version 1.9.4
* Fix - Fixes a bug that removed woocommerce_order_details_table from woocommerce_thankyou in standard thank you page.
* Fix - Added check if payment method is enabled before trigger fetch_pclasses() in settings page (Klarna Account & Special campaign).
* Fix - Better logging. Save entire order info in callback from Klarna (in KCO push).
* Fix - Small js bugg in js_order_note()
2014.11.25 - version 1.9.3
* Fix - Fixes a bug with handling Google Analytics ecommerce tracking code, makes plugin compatible with Woo Commerce Google Analytics Integration 1.3.0.
2014.11.20 - version 1.9.2
* Fix - Removed WC Google Analytics tracking code in KCO due to conflicts with version 1.3 of the WooCommerce Google Analytics Integration plugin. Still compatible WooCommerce Google Analytics Integration 1.2.1 or below.
* Fix - Strict standards notice on Klarna Checkout page and standard Checkout page.
* Fix - GetAddress improvements - feature should only be available in checkout for Swedish stores.
2014.11.18 - version 1.9.1
* Feature - Changed icon logos and payment method title in Checkout (Invoice & Account) to reflect Klarnas new policy.
* Feature - Added display of available PClasses in Klarna Campaign settings.
* Feature - Added Terms URL settings field (SE, NO & FI) for Klarna Special Campaign.
2014.11.13 - version 1.9.0
* Feature - Added Get Address feature for Swedish stores (KPM).
* Feature - Added Customer order comment shortcode (KCO).
* Feature - Added setting for Default Checkout Country if both Finland and Germany are available countries for KCO.
* Feature - Added feature for displaying text (populated via the plugin settings) above Registration & Login form on account page.
* Feature - Added setting for Mandatory phone field in KCO for German stores.
* Feature - Added DHL Packstation feature in KCO for German stores.
* Tweak - Reset the Klarna Checkout session if country changes on an order update (when the KCO checkout is loaded/displayed).
* Tweak - Added order_button_text in settings & apply_filters() klarna_order_button_text so users can filter the Place order button.
* Tweak - Added do_action('woocommerce_checkout_order_processed') after order has been created (KCO), other plugins rely on this hook.
* Fix - Added check for separate shipping address in push notification from Klarna for KCO Germany.
* Fix - Consent terms displayed to all German and Austrian customers if selected in the settings (KPM). Previously only displayed on German and Austrian stores.
* Fix - Wrapped including of files & in function_exists/class_exists wrapper to prevent pugin conflicts.
2014.11.05 - version 1.8.9
* Fix - Wrapping class xmlrpc_client in a class_exists check to prevent plugin conflicts.
2014.10.10 - version 1.8.8
2014.10.10 - version 1.8.8
* Fix - Shipping method name not sent to Klarna (KCO).
* Tweak - Shipping price calcultation improvements/changes (KCO).
* Tweak - Update WC session chosen_payment_method to klarna_checkout when KCO page is displayed.
2014.09.19 - version 1.8.7
* Tweak - Improvments to $this->klarna_country for better multi country support for KCO.
* Tweak - Disable Klarna Account for Dutch customers if order is larger than €250.
* Tweak - Moved authorized_countries, invoice_fee_price, and invoice_fee_name from constructor to getter functions (Klarna Invoice).
* Tweak - Changed name on getter function get_klarna_invoice_fee_product() to get_klarna_invoice_fee_id() (Klarna Invoice).
* Tweak - Changed name on getter function get_klarna_invoice_fee_price() to get_invoice_fee_price() (KPM).
* Fix - Added utf8_decode() on billing and shipping company sent to Klarna (KPM).
* Fix - Klarna logotype for selecting payment method now displays in correct language accordingly to customer selected billing country.
* Fix - Display correct language on Part payment widget for Finnish stores (Klarna Acoount).
* Fix - Remove display of Part payment if Netherlands is selected locale (Klarna Acoount).
2014.09.15 - version 1.8.6
* Misc - WooCommerce 2.2 Compatibility
* Misc - Dropped support for 2.0.x
2014.09.09 - version 1.8.5
* Tweak - Klarna invoice not available to companies in DE & AT.
* Tweak - Added do_action('woocommerce_thankyou') after KCO Thank you page has rendered, other plugins rely on this hook.
* Tweak - Removed the hook woocommerce_order_details_table (executed via woocommerce_thankyou) so the WC order detail table doesn't get displayed under the KCO Thank you page.
* Fix - Moved housenumber for Austria so that it is sent to Klarna together with the address field (KMP).
* Fix - Gender issue fix (KPM) for DE, NL & AT.
* Fix - Sequential order numbers pro compatibility fix for KCO.
* Fix - Shipping Company name issue fixed (KPM).
* Fix - JS issue with variable klarna_invo_selected_country for displaying Klarnas terms in payment method description field on checkout (KPM).
2014.08.19 - version 1.8.4
* Tweak - Increased CURL setTimeout to 15 seconds (KCO).
* Tweak - Added consent terms checkbox for Austrian stores (KPM).
* Fix - Sorted Klarna terms js and is_available() issue when default country was empty on checkout (KPM).
* Fix - Error when Austrian stores had Klarna Account activated.
* Fix - Gender check for Austrian stores (KPM).
* Fix - Updated get_klarna_country() with support for Nynorsk (KCO).
2014.08.04 - version 1.8.3
* Fix - Removed included files kco-create-order-2.0.php & kco-create-order-2.1.php and added the code as functions in class-klarna-checkout instead. Caused error on some LiteSpeed stacks.
* Fix - Php notices fix.
2014.07.18 - version 1.8.2
* Fix - Flag for automatically calculate and reserve the cart total amount in the reserveAmount call (Account & Special Campaign)
2014.07.07 - version 1.8.1
* Fix - Thanks page url update (klarna_checkout_thanks_url_de) for Germany (Klarna Checkout). Was missing in 1.8.
* Fix - Part Payment Widget update. Moved to separate class.
2014.06.26 - version 1.8
* Feature - Support for Austria (Klarna Invoice).
* Feature - Support for Klarna Checkout in Germany.
* Tweak - Advanced integration added for Klarna Invoice, Account and Campaign (Klarna Checkout already uses this).
* Tweak - Added Klarnas new price widget on single product pages. Removed the old "Display cost per month" on shop page and single product page.
* Tweak - Added apply_filters klarna_kco_checkout. Possibility for other plugins to filter the rendered checkout.
* Tweak - Use of get_woocommerce_currency() instead of checking for WPML and WC Currency Switcher plugin for multi currency support.
* Fix - Improved the woocommerce_klarna_checkout shortcode so that info can be displayed both above and below the KCO checkout form.
* Fix - Fix for Undefined notice in kco-create-order-2.1.php.
2014.05.08 - version 1.7.9
* Fix - Improved tax percentage calculation on order items sent to Klarna (Klarna Checkout).
2014.04.28 - version 1.7.8
* Feature - Possible to display Klarna Checkout in both Finnish (fi-fi) and Swedish (sv-fi) for Finnish stores (together with WPML).
* Feature - Pre-population of the Email and Postal code form fields in Klarna Checkout for logged in users.
* Tweak - Added apply_filters kco_create_order & kco_update_order so order information sent to Klarna can be added by merchants (Klarna Checkout).
* Tweak - Added apply_filters klarna_shop_country.
* Tweak - Added do_action() klarna_before_kco_checkout, klarna_after_kco_checkout, klarna_before_kco_confirmation, klarna_after_kco_confirmation, klarna_after_kco_push_notification
* Tweak - Added Klarna reservation number as post meta to Klarna Invoice, Account & Special account on payment complete.
* Tweak - Added check for separate shipping address in push notification if allow_separate_shipping_address is used.
* Fix - Improved Round() handling of tax percentage sent to Klarna (Klarna Checkout).
* Fix - No calculation of monthly fee (Klarna Account) for products with no price.
2014.03.25 - version 1.7.7
* Fix - 2.1 compatibility bugfix in check - Shipping and Billing address must be the same (for DE & NL).
* Fix - Added specific create_order() function for WC v2.1+ (Klarna Checkout). Improvment of bugfix in version 1.7.6.
2014.02.17 - version 1.7.6
* Fix - Missing Shipping label name caused error in rendering of KCO checkout page (WC v2.1+).
2014.02.04 - version 1.7.5
* Fix - Invoice fee fix in calculate_totals().
* Fix - Improved Product ID sent to Klarna for product variations (when SKU not used).
* Fix - Shipping total fix for compatibility (2.0.x - 2.1)
2014.01.30 - version 1.7.4
* Fix - Invoice fee display fix on checkout page (Klarna Invoice).
2014.01.15 - version 1.7.3
* Fix - WooCommerce 2.1 compatibility
2014.01.15 - version 1.7.2
* Feature - Klarna Checkout - Integration support with WooCommerce Currency Switcher (
* Feature - Klarna Checkout - Integration support with WPML's new multiple currencies feature, independent of the site’s languages.
* Feature - Added support for Sequential Order Numbers Pro (all 4 payment methods, earlier just supported for KCO).
* Feature - Added option for WC customer creation upon completed purchase (Klarna Checkout).
* Tweak - Improved invoice fee display on checkout page for Klarna invoice.
* Tweak - Improved multi currency support (Klarna Checkout). Added country code in push_uri sent to Klarna.
* Fix - Added fees to totals
* Fix - Added check for disabled guest checkout (Klarna Checkout).
* Fix - Sets session order_awaiting_payment on order creation (Klarna Checkout) to avoid multiple orders when updating the checkout.
* Fix - Removed # in orderid1 sent to Klarna (Klarna Checkout).
* Fix - Improved Round() handling of tax percentage sent to Klarna (Klarna Checkout).
2013.11.12 - version 1.7.1
* Fix - Improvment of is_available() for Klarna Invoice, Account & Campaign.
* Fix - Improved Round() handling of tax percentage sent to Klarna.
* Fix - Added WooCommerce eCommerce tracking on Klarna Checkout Thankyou page.
* Tweak - Possibility to send entered billing addres in WooCommerce checkout as shipping address to Klarna (Klarna Invoice, Account and Special campaign).
* Tweak - Added apply_filters klarna_invoice_description
* Fix - Correct php opening of class-klarna-checkout.php
2013.08.28 - version 1.7
* Feature - Klarna Checkout support for Norway and Finland.
* Feature - Possibility to use separate Thanks Page for Klarna Checkout.
* Updated - New version (2.4.0) of the Klarna API.
* Tweak - esc_attr() to strip_tags() on title sent to Klarna Checkout.
* Tweak - Order id sent to Klarna, from $order_id to get_order_number() (Klarna Checkout).
* Tweak - Round() added to tax percentage sent to Klarna.
* Tweak - Product id sent as reference if no SKU is set (Klarna Checkout).
* Fix - SKU sent as strval instead of intval.
* Fix - Trim to $sum used for monthly cost calculation in Klarna Account.
* Fix - Stock control in function create_order(), in Klarna Checkout.
* Fix - Better javascript load for Klarna account.
* Fix - Moved status created (Klarna Checkout) sent to Klarna to before $order->payment_complete().
* Fix - PHP5 deprecated notices.
* Started - Integration support with WPML (Klarna Checkout so far).
2013.04.29 - version 1.6.4
* Bugfix - removed a var_dump() in Klarna Checkout (function start_session()).
2013.04.25 - version 1.6.3
* Bugfix - Klarna Checkout: Moved session_start() to init. Further improvment to the problem with completed Klarna Checkout form fields not stays completed if customer navigate away from checkout and then returns again.
* Improved check for if Klarna Checkout is enabled.
2013.04.09 - version 1.6.2
* Added - Possible to specify URL to custom Terms Page for Klarna Checkout.
* Bugfix - Completed Klarna Checkout form fields now stays completed if customer navigate away from checkout and then returns again.
2013.03.29 - version 1.6.1
* Bugfix - Modify Standard Checkout feature in Klarna Checkout could be executed even when the payment method was disabled.
2013.03.29 - version 1.6
* Added - Support for the Klarna Checkout payment method (Sweden only)
* Bugfix - Updated check if invoice fee is used in function add_invoice_fee_process() for Klarna invoice. Caused fatal error on some servers if no invoice fee where set.
2013.02.14 - version 1.5.4
* WC version 2.0 compat.
* Updated Norwegian and Swedish translation files.
2012.12.12 - version 1.5.3
* Bugfix - Better load of js in footer for Terms & Conditions popup (Invoice, Account, Special Campaign)
* Bugfix - Lower and Upper Threshold (Account & Special Campaign) did not work properly.
* Bugfix - PClass id sent to Klarna for Special Campaigns was wrong.
* Changed payment status from "On Hold" to "Processing" when Klarna\XMLRPC\Flags::PENDING is returned from Klarna. This because the customer should experience that the order is confirmed.
* Added check: Cart total must be greater than current $pclass->getMinAmount() when displaying a PClass as a available Payment Plan on Checkout.
* Added ability for companies to make purchases via Klarna Invoice
* Changed Norwegian translation (Fødelsedato to Personnummer)
2012.12.05 - version 1.5.2
* Updater
2012.11.02 - version 1.5.1
* Bugfix - Gender sent to Klarna.
* Added Special Campaign terms, linked via Klarna popup javascript.
2012.10.18 - version 1.5
* Added Monthly cost display on single product page (enable/disable via settings).
* Added Monthly cost display on shop page (enable/disable via settings).
* Added Klarna Special Campaigns as a separate payment method.
* Added Country specific Klarna icons. Loaded from
* Added apply_filters to Klarna icons.
* Added Cart total Lower and Higher threshold for payment gateway enabling/disabling.
* Added Product price Lower and Higher threshold for monthly cost display.
* Added credit warning banner display for NL users. Image loaded from /
* Added check: Shipping and billing address must be the same in NL and DE.
* Removed extra checkout fields House Number and House Extension for NL & DE. Customer address is now entered via the ordinary checkout form and then separated via the splitAddress-function.
* Added Approve consent terms checkbox for DE.
* Invoice terms and Account info now linked via Klarna popup javascript.
* Payment gateway now only available on checkout page if Billing Country equals Shop base country.
* Created helper functions get_invoice_terms_link_text, get_account_terms_link_text & get_terms_country. Used for better display of terms text in the right language.
* Updated Swedish and Norwegian translations.
2012.09.06 - version 1.4
* Check to remove region/state for NL in variable shop_country.
* Included date of birth select boxes for Netherlands and Germany.
* Fetch PClasses from Klarna now moved from checkout to the Klarna settings page. This enables the possibility to manually upload pclasses via ftp.
* Customers date of birth/pno stored in order as post meta.
* Added Dutch translation files (Vincent Suurenbroek).
* Added Norwegian translation files (Kenneth Bårdseng).
2012.06.01 - version 1.3.1
* Changed expression Social Security Number to Date of Birth.
2012.06.01 - version 1.3
* Bug fix - country now specified in fetchPClasses (Klarna Account).
* Added apply_filters to Description in Klarna Account.
2012.05.24 - version 1.2
* The gateway now supports Klarna Account.
* Added Klarna localization files.
* Improved handlig of invoice fee. The gateway now uses a simple (hidden) product that acts as invoice fee.
* Added apply_filters to country, language, currency, invoice_terms, invoice_fee.
2012.03.15 - version 1.1
* Gateway can now be used without SSL certificate.
2011.12.01 - version 1.0
* First Release
You can’t perform that action at this time.