• Resolved pizzapie79

    (@pizzapie79)


    Hi, today I’ve installed the plugin for the first time.

    Then, I’ve made a quick checkout test and I started a PayPal payment, just to make sure that my PayPal account was connected properly. Note that I started the PayPal payment but I didn’t finalize it; I simply cancelled the payment and went back to the website. But the related woocommerce order was created anyway, even though the PayPal payment was cancelled.

    So, my question is: is that the correct bevahiour of this plugin? Even when a payment is cancelled it will create a Woocommerce order anyway? Or is there some setting to prevent it from happening?

    Thanks in advance ??

Viewing 6 replies - 1 through 6 (of 6 total)
  • I have also noticed this. This causes inventory issues. It should be possible to avoid ‘Pending payment’ orders completely.

    • This reply was modified 2 months, 2 weeks ago by fesarlis.
    Plugin Author Payment Plugins

    (@mrclayton)

    Hi @pizzapie79

    But?the related woocommerce order was created anyway, even though the PayPal payment was cancelled.

    It sounds like you’re using the “Place Order Button” option where the customer is redirected to PayPal to complete the payment. Naturally, a WooCommerce order will be created in this flow because WooCommerce always creates an order object before the payment gateway is called. This is not a PayPal plugin idiosyncrasy, this is how WooCommerce is designed to work. You can review the WooCommerce code and confirm that WooCommerce always creates an order during the checkout process, before the payment gateway is called.

    If you don’t want an order created before the customer interacts with PayPal, you should use the PayPal buttons. That ensures the user confirms their payment information on your site, before WooCommerce creates the order during the checkout process.

    Kind Regards

    Thread Starter pizzapie79

    (@pizzapie79)

    Hi, thank you for you reply!

    Yes, I confirm I’m using the “Place order button” but honestly I had activated this option only for aesthetic reasons, I had no idea that this option would bring these orders with “pending payment”. So, now I have deactivated the “Place order button” option but if I had known before I would never have activated it ??

    Maybe it would be worth writing somewhere that by activating this option there is a risk of having orders created in backend even when the payment is cancelled, what do you think?

    Thanks again for your quick support!

    Plugin Author Payment Plugins

    (@mrclayton)

    I had no idea that this option would bring these orders with “pending payment”.?

    Any time a customer clicks the place order button, that results in WooCommerce creating an order object. The default status of a newly created or is pending since it hasn’t been paid for.

    If a customer cancels their payment on the PayPal payment page and gets redirected to the checkout page, we don’t update the order. That’s because the customer isn’t necessarily canceling the order, just choosing not to use PayPal as their payment method. The most appropriate status for that scenario is pending.

    Likewise, we don’t delete the order because if the customer chooses to pay using a different payment method, WooCommerce can just use the pending order, rather than create a new one.

    Kind Regards

    Everything you say sounds right, and especially if it is default WC behaviour.

    But there are cases in which this causes problems.

    For example:

    1. No customer would know (or expected to know) that an order has been created for him, if he decided to cancel Paypal and go back. Of course he isn’t ‘necessarily cancelling the order’ as you mention, but he received NO feedback from WC (or your plugin) that the order has been PLACED. In other words, the ‘logical flow’ -as you name it- would suggest to anyone that he didn’t do anything ‘permanent’ (eg. something like ‘creating’ an order) when he cancelled Paypal payment.
    2. This is getting even worse if we’re talking about a guest checkout. Say I am not a registered customer (and perhaps I am not familiar with computers or e-shops – which is quite usual). Or I just changed my mind. Or I do not have funds inside my Paypal. Whatever the reason, I do not complete the order. I receive no message at all, and I try to create a new order 5 minutes later. What happens? I get a message that the item is out of stock.

    The above is for discussion only ??

    And btw, the default Paypal which comes with Woocommerce behaves as expected (order is cancelled not pending)

    Now and for the actual issue, at least in my case using Paypal buttons causes issues with field validation. In particular,

    I have custom checkout fields which are required but conditionally (when their section parent field has a specific value). Your plugin’s validation still produces an error for those fields even when they are not to be filled.

    Thread Starter pizzapie79

    (@pizzapie79)

    Any time a customer clicks the place order button, that results in WooCommerce creating an order object. The default status of a newly created or is?pending?since it hasn’t been paid for.

    Yes, I do understand the technical reason… I’m simply concerned that this behaviour, even if it’s the default WooCommerce behaviour, is not expected when using a PayPal payment plugin. That’s why I thought it was a bug ??

    Anyway, it’s not a big deal since that “odd” behaviour can be easily fixed. My only suggestion is to write a small note below the “Place order button” checkbox just to warn website admins about the chance to get “pending payment” orders. That’s all ??

Viewing 6 replies - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.