• Resolved sinergiostijn

    (@sinergiostijn)


    Hi

    I’ve noticed on multiple of our websites that an update to the latest version of this plugin breaks Bancontact payments.

    The payment seems to go through in Mollie itself, but the customer redirects back to a 404 error and doesn’t get a confirmation e-mail. The shop owner also doesn’t get an order mail and the status in the Woocommerce order page is ‘cancelled’.

    This is the log of a specific order:

    2021-05-31T14:11:48+00:00 DEBUG mollie_wc_gateway_bancontact: Start process_payment for order 15060
    2021-05-31T14:11:48+00:00 DEBUG mollie_wc_gateway_bancontact: Create Mollie payment object for order 15060
    2021-05-31T14:11:48+00:00 DEBUG mollie_wc_gateway_bancontact : Order 15060 returnUrl: https://www.leroy-opdorp.be/elektro/afrekenen/order-received/15060/?key=wc_order_nRKXeO9H1PMTw&order_id=15060&filter_flag=onMollieReturn
    2021-05-31T14:11:48+00:00 DEBUG mollie_wc_gateway_bancontact : Order 15060 webhookUrl: https://www.leroy-opdorp.be/wc-api/mollie_wc_gateway_bancontact?order_id=15060&key=wc_order_nRKXeO9H1PMTw&filter_flag
    2021-05-31T14:11:49+00:00 DEBUG Creating payment object: type Order, first try creating a Mollie Order.
    2021-05-31T14:11:49+00:00 DEBUG Array
    (
        [amount] => Array
            (
                [currency] => EUR
                [value] => 199.98
            )
    
        [redirectUrl] => https://www.leroy-opdorp.be/elektro/afrekenen/order-received/15060/?key=wc_order_nRKXeO9H1PMTw&order_id=15060&filter_flag=onMollieReturn
        [webhookUrl] => https://www.leroy-opdorp.be/wc-api/mollie_wc_gateway_bancontact?order_id=15060&key=wc_order_nRKXeO9H1PMTw&filter_flag
        [method] => bancontact
        [payment] => Array
            (
                [issuer] => 
                [customerId] => 
            )
    
        [locale] => nl_NL
        [metadata] => Array
            (
                [order_id] => 15060
                [order_number] => 15060
            )
    
        [orderNumber] => 15060
    )
    
    2021-05-31T14:11:49+00:00 DEBUG mollie_wc_gateway_bancontact: Mollie payment object ord_y6ec4l (live) created for order 15060
    2021-05-31T14:11:49+00:00 DEBUG For order 15060 redirect user to Mollie Checkout URL: https://www.mollie.com/payscreen/order/checkout/y6ec4l
    2021-05-31T14:13:56+00:00 DEBUG Mollie_WC_Gateway_Abstract::getReturnRedirectUrlForOrder 15060: Determine what the redirect URL in WooCommerce should be.
    2021-05-31T14:13:56+00:00 DEBUG Mollie_WC_Gateway_Abstract::orderNeedsPayment mollie_wc_gateway_bancontact: Order 15060 orderNeedsPayment check: yes, order not previously processed by Mollie gateway.
    2021-05-31T14:13:56+00:00 DEBUG Mollie_WC_Plugin::onMollieReturn: Redirect url on return order mollie_wc_gateway_bancontact, order 15060: https://www.leroy-opdorp.be/elektro/afrekenen/order-received/15060/?key=wc_order_nRKXeO9H1PMTw&utm_nooverride=1
    2021-05-31T14:15:12+00:00 DEBUG Mollie_WC_Gateway_Abstract::getReturnRedirectUrlForOrder 15060: Determine what the redirect URL in WooCommerce should be.
    2021-05-31T14:15:12+00:00 DEBUG Mollie_WC_Gateway_Abstract::orderNeedsPayment mollie_wc_gateway_bancontact: Order 15060 orderNeedsPayment check: yes, order not previously processed by Mollie gateway.
    2021-05-31T14:15:12+00:00 DEBUG Mollie_WC_Plugin::onMollieReturn: Redirect url on return order mollie_wc_gateway_bancontact, order 15060: https://www.leroy-opdorp.be/elektro/afrekenen/order-received/15060/?key=wc_order_nRKXeO9H1PMTw&utm_nooverride=1
    2021-05-31T14:18:09+00:00 DEBUG Mollie_WC_Gateway_Abstract::getReturnRedirectUrlForOrder 15060: Determine what the redirect URL in WooCommerce should be.
    2021-05-31T14:18:09+00:00 DEBUG Mollie_WC_Gateway_Abstract::orderNeedsPayment mollie_wc_gateway_bancontact: Order 15060 orderNeedsPayment check: yes, order not previously processed by Mollie gateway.
    2021-05-31T14:18:09+00:00 DEBUG Mollie_WC_Plugin::onMollieReturn: Redirect url on return order mollie_wc_gateway_bancontact, order 15060: https://www.leroy-opdorp.be/elektro/afrekenen/order-received/15060/?key=wc_order_nRKXeO9H1PMTw&utm_nooverride=1
    2021-05-31T14:18:12+00:00 DEBUG Mollie_WC_Gateway_Abstract::getReturnRedirectUrlForOrder 15060: Determine what the redirect URL in WooCommerce should be.
    2021-05-31T14:18:12+00:00 DEBUG Mollie_WC_Gateway_Abstract::orderNeedsPayment mollie_wc_gateway_bancontact: Order 15060 orderNeedsPayment check: yes, order not previously processed by Mollie gateway.
    2021-05-31T14:18:12+00:00 DEBUG Mollie_WC_Plugin::onMollieReturn: Redirect url on return order mollie_wc_gateway_bancontact, order 15060: https://www.leroy-opdorp.be/elektro/afrekenen/order-received/15060/?key=wc_order_nRKXeO9H1PMTw&utm_nooverride=1
    2021-05-31T15:36:43+00:00 DEBUG Mollie_WC_Plugin::cancelOrderAtMollie - 15060 - Try to process cancelled order at Mollie.
    2021-05-31T15:36:43+00:00 DEBUG Mollie_WC_Plugin::cancelOrderAtMollie - 15060 - Order could not be canceled at Mollie, because order status is paid.

    On an other website I went back to a previous version of your plugin and it seemed to work that way, so I’ll do the same this time. However is this something that will be solved in a future update?

Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Support Syde Niklas

    (@niklasinpsyde)

    Hi @sinergiostijn,

    Do you have a staging environment where you can reproduce the behavior with the latest version 6.4.0 and Test mode active?
    It would be good if you could temporarily disable all other plugins except for WooCommerce and Mollie to rule out a potential conflict.
    The return URL looks good but the webhook is seemingly not called. This can lead to the order status not changing to “Processing” and will then subsequently be set to “Canceled” by the WooCommerce stock management.

    A copy of your WooCommerce system report would also be good for us to have. If you prefer to share it privately, you can open a support ticket with us as described here.
    Thanks!

    Kind regards,
    Niklas

    Having same issue. Since we added Bancontact as methode orders are not set to ‘paid’ and status is not set to ‘processing’. Order is cancelled after 1 hour. We removed Bancontact. Is there an update on the issue?
    Mollie Version 6.4.0.

    Example from the log:

    2021-06-02T07:21:37+00:00 DEBUG mollie_wc_gateway_ideal: Start process_payment for order 447
    2021-06-02T07:21:37+00:00 DEBUG mollie_wc_gateway_ideal: Create Mollie payment object for order 447
    2021-06-02T07:21:37+00:00 DEBUG mollie_wc_gateway_ideal : Order 447 returnUrl: https://boerderijvriendjes.nl/checkout/order-received/447/?key=wc_order_aF81h3knuROJ3&order_id=447&filter_flag=onMollieReturn
    2021-06-02T07:21:37+00:00 DEBUG mollie_wc_gateway_ideal : Order 447 webhookUrl: https://boerderijvriendjes.nl/wc-api/mollie_wc_gateway_ideal?order_id=447&key=wc_order_aF81h3knuROJ3&filter_flag
    2021-06-02T07:21:37+00:00 DEBUG Creating payment object: type Order, first try creating a Mollie Order.
    2021-06-02T07:21:37+00:00 DEBUG Array
    (
        [amount] => Array
            (
                [currency] => EUR
                [value] => 36.93
            )
    
        [redirectUrl] => https://boerderijvriendjes.nl/checkout/order-received/447/?key=wc_order_aF81h3knuROJ3&order_id=447&filter_flag=onMollieReturn
        [webhookUrl] => https://boerderijvriendjes.nl/wc-api/mollie_wc_gateway_ideal?order_id=447&key=wc_order_aF81h3knuROJ3&filter_flag
        [method] => ideal
        [payment] => Array
            (
                [issuer] => ideal_RABONL2U
            )
    
        [locale] => nl_NL
        [metadata] => Array
            (
                [order_id] => 447
                [order_number] => 447
            )
    
        [orderNumber] => 447
    )
    
    2021-06-02T07:21:38+00:00 DEBUG mollie_wc_gateway_ideal: Mollie payment object ord_n0ui4z (live) created for order 447
    2021-06-02T07:21:38+00:00 DEBUG For order 447 redirect user to Mollie Checkout URL: https://www.mollie.com/payscreen/order/checkout/n0ui4z
    2021-06-02T07:21:58+00:00 DEBUG mollie_wc_gateway_ideal: Mollie payment object ord_n0ui4z (live) webhook call for order 447.
    2021-06-02T07:21:58+00:00 DEBUG Mollie_WC_Gateway_Abstract::orderNeedsPayment mollie_wc_gateway_ideal: Order 447 orderNeedsPayment check: yes, order not previously processed by Mollie gateway.
    2021-06-02T07:21:58+00:00 DEBUG Mollie_WC_Payment_Order::onWebhookPaid called for order 447
    2021-06-02T07:22:02+00:00 DEBUG Mollie_WC_Payment_Order::onWebhookPaid WooCommerce payment_complete() processed and returned to Mollie_WC_Payment_Order::onWebhookPaid for order 447
    2021-06-02T07:22:02+00:00 DEBUG Mollie_WC_Payment_Order::onWebhookPaid processing paid order via Mollie plugin fully completed for order 447
    2021-06-02T07:22:02+00:00 DEBUG Mollie_WC_Payment_Order::onWebhookPaid updated payment with webhook and metadata 
    2021-06-02T07:22:04+00:00 DEBUG Mollie_WC_Gateway_Abstract::getReturnRedirectUrlForOrder 447: Determine what the redirect URL in WooCommerce should be.
    2021-06-02T07:22:04+00:00 DEBUG Mollie_WC_Gateway_Abstract::orderNeedsPayment mollie_wc_gateway_ideal: Order 447 orderNeedsPayment check: yes, WooCommerce thinks order needs payment.
    2021-06-02T07:22:05+00:00 DEBUG Mollie_WC_Plugin::onMollieReturn: Redirect url on return order mollie_wc_gateway_ideal, order 447: https://boerderijvriendjes.nl/checkout/order-received/447/?key=wc_order_aF81h3knuROJ3&utm_nooverride=1
    2021-06-02T08:39:18+00:00 DEBUG Mollie_WC_Plugin::cancelOrderAtMollie - 447 - Try to process cancelled order at Mollie.
    2021-06-02T08:39:18+00:00 DEBUG Mollie_WC_Plugin::cancelOrderAtMollie - 447 - Order could not be canceled at Mollie, because order status is paid.
    Plugin Support Syde Niklas

    (@niklasinpsyde)

    Hi @janwillem64,

    Something seems to be blocking the webhook, resulting in the order status not changing after payment. The WooCommerce stock management then cancels “unpaid” orders after a set amount of time.
    The log you provided is related to an ideal order: [method] => ideal
    We would be interested in a Mollie log file with a Bancontact order and your WooCommerce system report.
    To rule out a conflict, please disable all other plugins to see if the behavior persists.
    If you want us to investigate deeper, please reach out to us in a separate support ticket here: https://mollie.inpsyde.com/docs/how-to-request-support-via-website-widget/
    Thanks!

    Kind regards,
    Niklas

    Thread Starter sinergiostijn

    (@sinergiostijn)

    It seems to be an issue / conflict with the polylang plugin.

    I put up a staging environment and disabled plugins to check for conflicts and when I disable the polylang plugin the payments seem to come in correctly.

    However when I go back to version 6.2.0 of your plugin everything seems to work perfectly.

    @janwillem64 Are you using polylang as well?

    @niklasinpsyde Is this an issue you guys can reproduce (with polylang?). I need both polylang and mollie for my site to function so for now I’ll go back to version 6.2.0 of your plugin, however it’s of course better if we can update the plugin to the most recent version without issues.

    Thanks for following up!

    Edit: something I forgot to mention. It’s not only bancontact. My test orders I just did are KBC/CBC. So I assume it’s all payment methods.

    • This reply was modified 3 years, 5 months ago by sinergiostijn.
    Plugin Support Syde Niklas

    (@niklasinpsyde)

    Hi @sinergiostijn & @janwillem64,

    The free Polylang version does not officially support WooCommerce and instead requires a paid pro version like “Polylang for WooCommerce”.

    Here is some information in our documentation about it:
    https://github.com/mollie/WooCommerce/wiki/Common-issues#issues-with-polylang-or-other-multilanguage-plugins

    In Mollie versions before 6.3.0, we had some mitigations in place for Polylang which worked for some setups but caused issues in different ones. This meant we could (in some cases) even make Mollie work with the free Polylang version.
    But there were many problems and issue reports with this integration. That’s why we removed all Polylang specific mitigations and are now doing things the “default WooCommerce way”. If anything like a return URL or webhook in combination to Polylang breaks with Mollie version 6.3.0 or later, then the issue is not caused by Mollie at least. Something else breaks the way WooCommerce is supposed to handle this. In this case, it’s likely the fact that Polylang free does not support WooCommerce.
    We cannot support the free version of Polylang because it does not support WooCommerce in the first place.
    Your options are to either stick with Mollie version 6.2.2 (which we do not recommend) or alternatively upgrade to a WooCommerce compatible Polylang version or some other Multilingual solution.
    For more information, I suggest reaching out to the Polylang support.
    I hope this helps!

    Kind regards,
    Niklas

    We do not use Polylang. Issue is coming from a custom plugin to get orders to sent to a warehouse application. Strange thing is it worked before. So maybe there is a conflict with an other plugin which was updated last two weeks. We are investigating the issue and I will let you know. After a fix we will add Bancontact again and do some tests.

    Thanks for your update. Yes please test it again.

    Best regards
    Andreas

    It works. Orders are successful completed with the correct status, from Ideal and Bancontact. Must have been our custom plugin which was conflicting with Mollie. Issue solved. Thanks!

    Having the same issue, i will check on test website and also use only woocommmerce and mollie.

    in MOllie i’m getting this: Call webhook failed with statuscode 404 (Not Found)
    17 juni 2021 om 14:51

    Hello @mschouten

    would it be possible to open a new thread for your issue. We will close this thread here because the issue of the thread owner janwillem64 has been fixed.

    Thank you
    Regards
    Andreas

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Bancontact payments broken’ is closed to new replies.