Forum Replies Created

Viewing 15 replies - 46 through 60 (of 83 total)
  • Thread Starter robertrosanke

    (@robertrosanke)

    Hello @doublezed2 ,

    Unfortunately, I can’t say exactly which WooCommerce version started the problem.

    With WooCommerce 9.5.1, if I remember correctly, everything still worked as usual.

    Apparently the problem has been active since 9.5.2?
    Maybe I am also wrong.

    Here is the link to pastebin: https://pastebin.com/x57bxKKB

    As I said: the problem occurs when a cached product page that has an identifier for a variation in the URL is called from cache.
    (We ignore the pa*-parts of the query in our cache config. This is a special config. Normally, product variants are not explicitly ignored via WooCommerce and WP Rocket, so product pages with pre-selected variants are usually delivered uncached).

    Caching takes place with WP Rocket.
    But that shouldn’t be the problem.

    It would be good if the WooCommerce frontend scripts (again) actively searched for the query parameters in the URL and, if found, selected the corresponding product variant.

    Thread Starter robertrosanke

    (@robertrosanke)

    Hello @louisekrokedil ,

    Thank you very much for keeping your word and publishing the long-awaited update at the beginning of the year.

    Regarding the error rate for orders with Klarna: To be honest, I don’t think the problem is just ours either.

    @janez33 also wrote, see above, that almost 20% of their Klarna orders don’t go through. So the problem with the inexplicable cancellations doesn’t just seem to affect us.

    Klarna was by far our biggest problem with payment service providers in 2024 and we want to see an improvement now before we invest any more time.

    We will therefore first check to what extent the new update runs smoothly and supports our automatic processes. Then we can still take care of the error rate.

    Thread Starter robertrosanke

    (@robertrosanke)

    Hello @mahfuzurwp ,

    Thank you. I have created a feature request.

    We may implement your adaptation as an interim solution.
    Thanks for the help, ticket can be closed.

    Thread Starter robertrosanke

    (@robertrosanke)

    @louisekrokedil Regarding the order note: I would like to agree with @janez33 here. I cannot confirm that customers cancel an order and that this is the reason for the order note.
    We have the note on many failed orders. According to their own statements, customers have not canceled and even ask us why the order has not yet arrived. So they definitely don’t want to cancel on purpose. There may be a technical error along the way that none of us or the customers are currently aware of.

    None of us or our customers can explain it.

    It is WooCommerce standard behavior to create a Pending Payment order in WooCommerce when the payment process starts.

    At this point I would like to give some inspiration on how PayPal solves the issue in Woocommerce. Just a different perspective.

    If the customer clicks on “Buy” in the checkout, the PayPal popup opens.
    If canceled within the PayPal popup, the user returns to the checkout and the order does not exist in the WooCommerce backend.

    This “PayPal approach” has worked for us in our store for years without any problems.
    We have had no problems with PayPal orders and everything runs smoothly.

    We are currently working on a new workflow to use the failed order status in WooCommerce and the release is planned for early next year. Thanks for giving us all details on this!

    We would like to thank you for taking this issue seriously and optimizing it. This will help us and many other store operators to use Klarna. And that will certainly help Klarna too.

    Thread Starter robertrosanke

    (@robertrosanke)

    @janez33 Thank you for supporting our points and all the details about your case. We appreciate it.

    Interesting to see that you also have a very high rate of orders not going through. It’s similar for us. This only affects Klarna. Other payment providers have significantly lower abandonment rates.

    What we find also a big problem is this:
    When order is created via Klarna and its status is in pending the order is not reflected yet in Klarna system so we don’t know what happens to the customer and why the payment didn’t go through.

    @louisekrokedil Just for the sake of completeness: We can confirm the problem described by @janez33.

    Thread Starter robertrosanke

    (@robertrosanke)

    Thank you for the positive feedback.

    You write that we can make changes with the Klaviyo SDK.

    Does this mean that we can use the SDK to filter the requests from the Klaviyo plugin WITHOUT modifying the Klaviyo plugin files?

    If so, do you have a link or code with a simple example of how we can add an additional property to the order-object and the user profile in the start-checkout-event, for example?

    Thread Starter robertrosanke

    (@robertrosanke)

    Thank you for the positive feedback.
    We look forward to improvements. Until then, we will probably work with the API.

    Thread Starter robertrosanke

    (@robertrosanke)

    Thanks for the info.
    We’ll stick with the manual solution for now and hope for a fix soon.

    Thread Starter robertrosanke

    (@robertrosanke)

    Thank you for the new update. We are happy about this news and are eagerly awaiting the corresponding entry in the plugin changelog.

    We appreciate that you have discussed the whole issue internally again and are ready to make this change.
    Thank you for your help.

    Thread Starter robertrosanke

    (@robertrosanke)

    Quick question: Will the issue be resolved in the next plugin update?

    Note: wp_enqueue_script() now also natively supports async behavior via $args['startegy'=>'async']. It is no longer necessary to manipulate the tag before output.

    Thread Starter robertrosanke

    (@robertrosanke)

    Thanks for the info.
    I really appreciate that you have created a feature request.

    I’m just wondering if it’s worth spending hours studying the Klaviyo documentation and developing my own script to send events, or if I’d rather wait for a plugin update from you and solve the issue without much effort.

    I would like to wait for the plugin update, as long as it doesn’t take too long. That should be the most economically efficient.

    How long should it take until you have integrated a php filter and rolled it out via a plugin update?

    Thread Starter robertrosanke

    (@robertrosanke)

    Thank you!

    Thread Starter robertrosanke

    (@robertrosanke)

    Hello.

    Thank you for contacting the developer.
    We appreciate the positive feedback and will keep an eye on the plugin changelogs.

    Our support will be happy if failed orders are also handled automatically for orders via Klarna, leaving more time for the really important tasks.

    Thank you!

    If no more input is required from our side, you are welcome to close the ticket.

    Regards
    Robert

    Thread Starter robertrosanke

    (@robertrosanke)

    I would like to point out once again that the other payment service providers, as far as we are aware, automatically set the order to “failed”. I think it would be a great thing if the plugins of the major payment providers all handled such a case in a similar way. This should make it easier for store operators because a kind of standard behavior is expected and understood.

    Thread Starter robertrosanke

    (@robertrosanke)

    Thank you for your feedback, we have given it some more thought.

    It is WooCommerce standard behavior to create a Pending Payment order in the background when the payment process starts, […].

    That in itself is perfectly fine. It would just be good if Klarna adjusted the status of the created order accordingly after Klarna recognizes that the payment has failed.

    We have analyzed the code of the Klarna plugin. We noticed that Klarna recognizes errors. E.g. in KP_AJAX::kp_wc_auth_failed(), the plugin sets the error message that we have for some failed payments.
    However, there are also other methods that Klarna uses to communicate errors via $order->add_order_note().

    As I said: It would be good if Klarna could automatically change the order status to “failed” if there are problems with the payment.
    If you don’t want to do this, then it would be good if there was an action hook for an individual reaction to errors or a filter, or perhaps simply a plugin setting that can be used to optionally define the order status that failed Klarna orders should have.

    Examples:

    • do_action(‘kp_wc_order_payment_failed’, $order): Fire in any situation where Klarna plugin has set the order_note and completed the handling of a failed payment. Third parties can then react according to their own wishes.
    • apply_filter(‘kp_wc_order_payment_failed_status’, null): Instead of an action hook, you can also change the WooCommerce status automatically if a developer specifies this via the filter and the filtered value is not null.

    If you set an amount of time in the WooCommerce Hold stock feature (minutes) you do not have to worry about the Pending Payment orders. They will be automatically set to cancelled if they have not been paid for within the set minutes.

    We don’t want that.
    It’s not about people not wanting to buy. It’s about the fact that something sometimes doesn’t work when paying via Klarna.
    The customer doesn’t seem to notice. Neither do we. The customer doesn’t want to cancel. So the “hold stock” setting does not correspond to our objective.

    Conclusion:

    It would be good if you could help us to integrate your plugin in a meaningful way.

    To be honest, there is no point in automatically canceling orders that may not be paid due to a technical error. Nor does it do us any good to leave them on “Pending payment”.

    Payment services should clearly and simply indicate when something fails. There is a failed status for this purpose, which other payment providers also use.

    The official plugins from Stripe and PayPal solve this much better. We would be delighted if Klarna were to follow their example.

    If you don’t want to implement this, then I respect that. Nevertheless, it would be nice if you could help us and other plugin users to implement such a status change behavior when a Klarna order has payment problems.

    The best way to do this is via an action hook that you ALWAYS fire after you have registered and handled a payment error. Third parties can then intervene and adapt the behavior to their needs.

    Alternatively, a plugin setting could also be sufficient and you can change the order status yourself if a user has set the setting and a payment has failed. I assume that other Klarna customers will also benefit from this. If you want to automate processes, you won’t get very far with the current approach of the Klarna plugin.

Viewing 15 replies - 46 through 60 (of 83 total)