skip to Main Content

I need to integrate the Klarna Checkout module into magento 2.1.2. I am using the version of the "klarna/m2-checkout module": 4.2.2.
When choosing a delivery method, I always get an error in the pop-up window:

Sorry, the delivery option you chose cannot be processed. Please select another delivery option.

When i choose shipping method, i get this responce:

   {
        "shared": {
            "customer": {
                "type": "person"
            },
            "user_preferences": {
                "remember_me": true
            },
            "language": "en",
            "locale": "en-US",
            "customer_details": {
                "client_token": "eyJhbGciOiJSUzUxMiJ9.eyJz",
                "country": "swe",
                "completed": true,
                "fields_with_obfuscation": {
                    "email": "[email protected]",
                    "given_name": "Testperson-se",
                    "family_name": "Approved",
                    "street_address": "Stårgatan 1",
                    "postal_code": "123 45",
                    "city": "Ankeborg",
                    "country": "SE",
                    "phone": "076-526 00 00",
                    "date_of_birth": "1941-03-21",
                    "national_identification_number": "19410321-9202"
                },
                "reference": "2f9a445a57a49215175178099002fc7165ee"
            },
            "shipping_details": {
                "client_token": "eyJhbGciOiJSUzUxMiJ9.eyJzZXNzaW9uX"
            },
            "currency": "SEK",
            "obfuscated_fields": []
        },
        "cart": {
            "total_tax_amount": 30000,
            "total_price_including_tax": 150000,
            "total_price_excluding_tax": 120000,
            "total_shipping_amount_excluding_tax": 0,
            "total_surcharge_amount_excluding_tax": 0,
            "total_discount_amount_excluding_tax": 0,
            "total_shipping_amount_including_tax": 0,
            "total_surcharge_amount_including_tax": 0,
            "total_discount_amount_including_tax": 0,
            "subtotal": 120000,
            "total_store_credit": 0,
            "items": [{
                "type": "physical",
                "reference": "1201018390010",
                "name": "Armour Bib Shorts",
                "quantity": 1,
                "unit_price": 150000,
                "total_tax_amount": 30000,
                "tax_rate": 2500,
                "total_price_including_tax": 150000,
                "total_price_excluding_tax": 120000,
                "product_url": "https://local.com/armour-bib-shorts-black.html?___store%5B_data%5D%5Bstore_id%5D=2&___store%5B_data%5D%5Bcode%5D=se&___store%5B_data%5D%5Bwebsite_id%5D=2&___store%5B_data%5D%5Bgroup_id%5D=2&___store%5B_data%5D%5Bname%5D=Sweden+Store&___store%5B_data%5D%5Bsort_order%5D=30&___store%5B_data%5D%5Bis_active%5D=1&___store%5B_data%5D%5Balias%5D=Sweden&___store%5B_data%5D%5Bavailable_currency_codes%5D%5B0%5D=SEK",
                "image_url": "https://local.com//media/catalog/product/a/r/armour-bib-shorts-aw18-01.jpg"
            }]
        },
        "errors": {
            "generic": ["shipping_service_failed"]
        },
        "options": {
            "allow_separate_shipping_address": false,
            "date_of_birth_mandatory": false,
            "title_mandatory": false,
            "national_identification_number_mandatory": false,
            "phone_mandatory": true,
            "allowed_customer_types": ["person"],
            "payment_selector_on_load": false
        },
        "preview_payment_methods": [{
            "id": "-1",
            "type": "invoice",
            "locked": false,
            "selected": false,
            "data": {
                "days": 14
            }
        }, {
            "id": "-1",
            "type": "direct_debit",
            "locked": false,
            "selected": false
        }, {
            "id": "-1",
            "type": "credit_card",
            "locked": false,
            "selected": false,
            "data": {
                "available_cards": ["VISA", "MASTER"],
                "allow_saved_card": false,
                "do_save_card": false,
                "collect_consent": false,
                "consent_given": false
            }
        }],
        "allowed_billing_countries": ["swe"],
        "status": {
            "prescreened": false
        },
        "analytics_user_id": "ELmpDn1f600JYxHtagC7FcsOdAXe9-2iwWhIzHSfmhM=",
        "merchant": {
            "hashed_id": "a9c814c7a780d46a7fb2403e452829b3",
            "name": "Your business name"
        },
        "merchant_urls": {
            "checkout": "https://local.com/checkout/klarna",
            "confirmation": "https://checkout-eu.playground.klarna.com/yaco/orders/ffc4101d-00cb-5e63-81fc-0f0c15baeac3/redirect?auth_token=0el7mltb89prfz2fz2mw",
            "terms": "https://local.com/terms",
            "confirmation_page": "https://local.com/checkout/klarna/confirmation/id/ffc4101d-00cb-5e63-81fc-0f0c15baeac3"
        }
    }

Here I do not like the block:

 "errors": {
        "generic": ["shipping_service_failed"]
    }

Does anyone know how to fix it?

Delivery error :
enter image description here

3

Answers


  1. This error occurs when you set address_update callback and and it’s not handled in the right way. This callback should be set if you need to update order’s addresses, and should not take more than 10 sec.

    Here’s an example: https://developers.klarna.com/api/#checkout-api-callbacks-address-update

    And some best practices: https://developers.klarna.com/documentation/klarna-checkout/best-practices/#address-updated

    Login or Signup to reply.
  2. If you run Klarna Checkout on localhost, then you should make the localhost-based application reachable from Klarna via the HTTP protocol (e.g., for the address_update callback).
    You can do it via services like Ngrok.

    Login or Signup to reply.
  3. In case of this error it’s good to know that:

    1. Klarna Checkout is calling callbacks regarding the shipping on checkout page:
    2. If Klarna doesn’t receive the answer from callback request in 10s it will end the connection and eventually you will see the error message. You can find access status logs in your http server, for example access status 499 in nginx. On the other hand in Klarna Merchant Portal you will see logs with status "???".
    3. The callback request may be not accessible or not accessible in time below 10s:
      • if you work on localhost configure tunnel to expose your local environment to be visible by Klarna. For example with ngrok.
      • make sure that magento cache is enabled.
      • disable xdebug (unless it’s version >=3)
      • check internet connection quality
      • check php.ini and http server performance related settings

    If error still occurs you can debug the callback api to find the bottleneck. For example you can use logs in Klarna Merchant Portal to create a postman request to the callback api.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search