• Resolved nikelua

    (@nikelua)


    We recently received a letter from Stripe stating that we could connect Klarna through it, so we updated the plugin. We connected it, and everything works, but about 20% of successfully paid orders through Klarna receive a “failed” status, which means that many customers pay twice, and we have to refund them and give them discount coupons.
    Our analysis showed that this is due to the following error: “Error: Invalid payment intent for order. Intent: EUR 3999 via Klarna, Order: EUR 3999 card.”
    In other words, the webhook reaches the site, but the plugin does not switch the order because it thinks that the order is being paid by card, not Klarna.

    It makes no difference to me how the person paid.
    If they paid, the order should be switched to processing status.

    Here is an example of an order where this problem occurred.

    67997 (ECT ID)
    ID – pm_1S0MZvAD1QkfrpP20JfZs5f2
    Type – Klarna
    Category – Pay later

    Can you tell me if it is possible to disable this check somewhere in the admin panel?
    Or can you provide a piece of code that disables this check ?

Viewing 2 replies - 1 through 2 (of 2 total)
  • Hi @nikelua,

    I understand how frustrating it must be when some Klarna payments complete successfully in Stripe but the order is still marked as failed in WooCommerce, creating extra work with refunds and discounts. No worries, I’ll help clarify why this happens and what you can do.

    WooCommerce Stripe validates each webhook by matching the payment intent details with the order. If the plugin detects a mismatch, for example the payment method type being identified as “card” instead of Klarna, it marks the order as failed even if the payment went through. This check is built in to prevent webhooks from being applied to the wrong order, so it isn’t possible to safely disable it from the admin panel.

    Here are a few steps you can take:

    1. Update plugins – Make sure you are on the latest versions of WooCommerce and WooCommerce Stripe, as Klarna support has had fixes in recent releases.
    2. Refresh Stripe webhooks – If you added Klarna recently, recreate your webhook endpoints in Stripe and copy the new signing secret into WooCommerce. This ensures that events for Klarna are being passed correctly. Guide: https://woocommerce.com/document/webhooks/
    3. Check Stripe event logs – Look at one of the affected orders in your Stripe dashboard. Confirm whether the payment_intent.succeeded event lists Klarna in the payment_method_types. If it does, but WooCommerce still fails the order, that suggests a plugin conflict or a mismatch in how the intent is tied to the order.
    4. Conflict test – Temporarily switch to Storefront and disable all plugins except WooCommerce and Stripe. Run a test Klarna payment to see if the order updates correctly. If it does, reactivate plugins one by one until the conflict appears.
    5. Klarna setup guide – Double-check against the setup steps here: https://woocommerce.com/document/stripe/#klarna

    Since this is a public forum, please avoid sharing any sensitive data such as full webhook URLs, API keys, or signing secrets. If you’d like to show what you’re seeing, you can share non-sensitive screenshots using https://snipboard.io and blur out confidential details.

    Could you run a quick test Klarna order with only WooCommerce and the Stripe plugin active, then let us know whether the order updates to “Processing”? That will help confirm whether the issue is due to a conflict or something in the Stripe connection.

    Plugin Support Chris Moreira – a11n

    (@chrism245)

    I’m going to mark this as resolved, as we haven’t heard back from you in a while. Please open a new thread if you need further assistance.

    If you have a few minutes, we’d love if you could leave us a review: https://ww.wp.xz.cn/support/plugin/woocommerce-gateway-stripe/reviews/

Viewing 2 replies - 1 through 2 (of 2 total)

The topic ‘Error: Invalid payment intent for order.’ is closed to new replies.