• Resolved janpaulkleijn

    (@janpaulkleijn)


    When an iDeal payment for a subscription is cancelled during purchase (while orders with cancelled payments are set to be cancelled) the checkout process first states that the order is paid and the subscription is set to active.

    A minute later the order is cancelled and the subscription is set to pending-cancellation.

    edit:
    I failed to mention that I have the subscription variations set to ‘downloadable’.

    • This topic was modified 6 years, 10 months ago by janpaulkleijn.

    The page I need help with: [log in to see the link]

Viewing 15 replies - 1 through 15 (of 15 total)
  • Plugin Contributor davdebcom

    (@davdebcom)

    Hi

    Is this a new payment for a new order/subscription or a payment for a renewal order?

    Kind reagrds
    David

    Thread Starter janpaulkleijn

    (@janpaulkleijn)

    Thanks for the quick reply

    This is a new payment for a new order/subscription, made with the test key.

    Plugin Contributor davdebcom

    (@davdebcom)

    Hi

    I can’t reproduce this. do you have any other plugin installed that might manipulate the WooCommerce status?

    Or code in functions.php or somewhere else that hooks into this process in WooCommerce?

    Kind regards
    David

    Thread Starter janpaulkleijn

    (@janpaulkleijn)

    You’re right. Must have done something wrong. After trashing all woocommerce templates it works OK.

    Thanks for the help.

    • This reply was modified 6 years, 10 months ago by janpaulkleijn.
    Plugin Contributor davdebcom

    (@davdebcom)

    My pleasure, happy it now works as expected.

    Thread Starter janpaulkleijn

    (@janpaulkleijn)

    It appears to be caused by navigation.php in the my_account template folder. If I copy the woocommerce plugin template to the woocommerce/my_account template folder of my theme and leave it original, then the page shown is the completed order page. There should be a alert notification about the cancelled status. So just the existing of this file in the theme templates causes issues apparently.

    Perhaps this is reproducable?

    Thread Starter janpaulkleijn

    (@janpaulkleijn)

    New information about this:
    It appears to be a erratic problem, sometimes it’s fast with a proper reply, sometimes (most of the time) it’s slow to load and gives a reply where the order is not cancelled yet.

    It has nothing to do with Mollie plugin

    Thread Starter janpaulkleijn

    (@janpaulkleijn)

    Found out that the culprit was the OWASP 3.0 ruleset (modsec), via the apache error_log.

    Thread Starter janpaulkleijn

    (@janpaulkleijn)

    I removed the OWASP 3.0 ruleset, it was a bit redundant. Every bit of erratic behavior went away and woocommerce works as stable as a rock.

    But after intensive testing I noticed that sometimes with my twentyseventeen child theme it still did not respond well after cancelling the payment.

    So I removed all unneccesary plugins and switched to the standard twentyseventeen theme and noticed that after 5 tries, not once did it respond well after cancelling the payment.

    When you tried to reproduce this, have you tested multiple times? The behavior is very much erratic.

    Thread Starter janpaulkleijn

    (@janpaulkleijn)

    In the Mollie log I find a subtle but distinct difference between cancelled payments that went OK and cancelled payments that went not so OK.

    The notice of the not so OK cancelled payments is:

    2018-01-15T00:54:56+00:00 DEBUG mollie_wc_gateway_ideal: Create payment for order 2757
    2018-01-15T00:54:56+00:00 DEBUG mollie_wc_gateway_ideal: Payment tr_SfJxN8sxQb (test) created for order 2757
    2018-01-15T00:54:56+00:00 DEBUG For order 2757 redirect user to payment URL: https://www.mollie.com/paymentscreen/testmode/?method=ideal&token=b8lprf
    2018-01-15T00:55:14+00:00 DEBUG Mollie_WC_Plugin::onMollieReturn: Redirect url on return order mollie_wc_gateway_ideal, order 2757: https://www.domain.nl/bestel/order-received/2757?key=wc_order_5a5bedcfcced6&utm_nooverride=1
    2018-01-15T00:56:15+00:00 DEBUG mollie_wc_gateway_ideal: Mollie payment tr_SfJxN8sxQb (test) webhook call for order 2757.
    2018-01-15T00:56:15+00:00 DEBUG Mollie_WC_Gateway_Abstract::onWebhookCancelled called for order 2757

    And the notice for the OK cancelled payments is:

    2018-01-15T00:04:44+00:00 DEBUG mollie_wc_gateway_ideal: Create payment for order 2737
    2018-01-15T00:04:44+00:00 DEBUG mollie_wc_gateway_ideal: Payment tr_d8wkPgsTs5 (test) created for order 2737
    2018-01-15T00:04:44+00:00 DEBUG For order 2737 redirect user to payment URL: https://www.mollie.com/paymentscreen/testmode/?method=ideal&token=80bull
    2018-01-15T00:04:48+00:00 DEBUG mollie_wc_gateway_ideal: Mollie payment tr_d8wkPgsTs5 (test) webhook call for order 2737.
    2018-01-15T00:04:48+00:00 DEBUG Mollie_WC_Gateway_Abstract::onWebhookCancelled called for order 2737
    2018-01-15T00:04:48+00:00 DEBUG Mollie_WC_Plugin::onMollieReturn: Redirect url on return order mollie_wc_gateway_ideal, order 2737: https://www.domain.nl/bestel/order-pay/2737?pay_for_order=true&key=wc_order_5a5be20c10d26&utm_nooverride=1

    What do you think?

    • This reply was modified 6 years, 10 months ago by janpaulkleijn. Reason: edited out domain name
    Plugin Contributor davdebcom

    (@davdebcom)

    The difference seems to be that for the first order the user returns to the shop before the Mollie webhook URL was called by Mollie. Most of the time Mollie is faster with calling the webhook (and updating the status) then the user is with manually going to the return URL.

    When the user returns first, the status is still pending, and the order-received page is shown. Just seconds later the webhook is called and the status is updated to cancelled.

    So, if I understand correctly this is normal behaviour. In my other mentioned I suggested that there might have been caching issues on my development site, but it looks like we have the same issue: when testing, we are testing so fast we beat the webhook call from Mollie and therefor the order is still set to “pending”. ??

    Does that make sense?

    Thread Starter janpaulkleijn

    (@janpaulkleijn)

    It certainly does make sense to me. And this takes place faster when we are testing instead of live payments?

    Is there any way, any way at all that you can help me prevent customers from ever seeing the message ‘Order completed’? Because I can imagine my customers would be a bit confused if/when they see this message after they just cancelled the order.

    Plugin Contributor davdebcom

    (@davdebcom)

    Yes, they might be confused, but it is the actual situation: Order received (not completed), but payment status has not been.

    You could change the text, most shop owners do:
    https://www.tychesoftwares.com/how-to-customize-the-woocommerce-thank-you-page/

    Thread Starter janpaulkleijn

    (@janpaulkleijn)

    I have added a remark in the case of pending orders on the thank-you page. The remark is about if you cancelled the payment then you have nothing to worry about.

    If a merchant can sell, the merchant can also solve this. It’s a minor drawback.

    So from now on I am a subscription merchant on the web. Cheers!

    Plugin Contributor davdebcom

    (@davdebcom)

    My pleasure ??

Viewing 15 replies - 1 through 15 (of 15 total)
  • The topic ‘cancelled iDeal payment is cancelled too late’ is closed to new replies.