• Resolved bmooij

    (@bmooij)


    Hello everyone,

    I have a problem with my Woocommerce webshop. On the checkout page I only have 1 payment method available (Mollie iDEAL). When a new user is on the checkout page, it needs to fill in all their information. Because there is only one payment method, the user doesn’t need to select the payment method, because it is already selected. But when the user wants to proceed, it gets the following error message: ‘no payment method selected’ (in Dutch: geen betaalmethode geselecteerd).

    When the user refreshes the page, their information is already filled in. And now they can proceed with the payment.

    I dug a little bit into the code, and I noticed that in the DOM the iDEAL option is checked, but in the POST request I don’t see the payment_method.
    I made a (very) dirty work-a-round for my issue. I will post that at the bottom.

    I’ve used the Strato wordpress hosting, so they have installed WordPress (6.8.3).
    I have the following plugins installed:

    • Mollie Payments for WooCommerce (Version 8.0.6)
    • WooCommerce (Version 10.2.2)
    • WP Mail SMTP (Version 4.6.0)
    • WPForms Lite (Version 1.9.8.2)
    • Essentials (The essentials plugin provides IONOS hosting specific functionality)
    • Extendify WordPress Onboarding and AI Assistant (AI-powered WordPress assistant for onboarding and ongoing editing offered exclusively through select WordPress hosting providers.)
    • Marketplace (Marketplace offers you a list of carefully selected plugins that will add functionality to your WordPress instance and improve your user experience.)
    • Site Assistant (Provides guided onboarding and a Site Assistant in the WordPress admin.)

    My work-a-round
    My work-a-round to make this work, is to add a custom HTML block to the checkout page and add the following javascript to the page. This sets first the current payment to the (not enabled) “Direct bank transfer” and then reset it back to the mollie iDEAL payment method.

    Technical: I think the issue is in the paymentMethodId, because the activePaymentMethod is set correctly (tested with wp.data.select('wc/store/payment').getActivePaymentMethod()). But the value of paymentMethodId is not updated. https://github.com/woocommerce/woocommerce/blob/4d2bb38575840530b70ef339ceb4997a6494db43/plugins/woocommerce/client/blocks/assets/js/base/context/providers/cart-checkout/checkout-processor.ts#L125

    <script type="text/javascript">
    jQuery(function($) {

    function setPaymentMethod(method) {
    return new Promise((resolve) => {
    const unsubscribe = wp.data.subscribe(() => {
    const current = wp.data.select('wc/store/payment').getActivePaymentMethod();
    if (current === method) {
    unsubscribe();
    resolve();
    }
    });
    wp.data.dispatch('wc/store/payment').__internalSetActivePaymentMethod(method);
    });
    }

    (async () => {
    await setPaymentMethod('bacs');
    await setPaymentMethod('mollie_wc_gateway_ideal'); // final state
    console.log("Mollie FIX");
    })();

    });
    </script>
Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Support Frank Remmy (woo-hc)

    (@frankremmy)

    Hi @bmooij,

    I understand you’re experiencing a frustrating issue where customers get a “no payment method selected” error on checkout, even though Mollie iDEAL is the only payment method available and appears selected in the DOM.

    This sounds like a compatibility issue between the Mollie Payments extension and the WooCommerce checkout block. The workaround you’ve created is clever, but you’re right that it’s not an ideal long-term solution.

    Here are a few things to try:

    • Are you are using the WooCommerce Blocks plugin to render the checkout? If so, ensure it’s updated and check for any issues there, as the blocks system manages the client state to send to the server.
    • Temporarily switch to a default theme like Storefront and disable all plugins except WooCommerce and Mollie. Then test the checkout flow again. This helps isolate whether another plugin or theme script is interfering with the payment method initialization.
    • Check the browser console for any errors during the initial page load or form submission. Sometimes a JS error can prevent the payment method from being properly set.
    • Since you’re using the block-based checkout, make sure your theme and plugins are fully compatible with WooCommerce Blocks. Mollie should be, but it’s worth confirming with their latest changelog or support.
    • Temporarily deactivate other plugins except WooCommerce and Mollie Payments to see if there’s a conflict causing the payment method not to register properly. The Essentials or Site Assistant plugins could potentially have some integration that affects checkout blocks.
    • Since this concerns the Mollie iDEAL gateway, Mollie’s support may be able to confirm if this is a known integration issue or offer a fix.

    That said, I’m genuinely interested to understand more about your store and how you use Mollie for payments. Are you primarily serving Dutch customers with iDEAL, or do you plan to add more payment methods in the future? Based on your needs, we could explore if other Mollie payment methods or WooCommerce extensions might enhance your checkout flow.

    I hope that helps. Let us know if you need anything else.

    Thread Starter bmooij

    (@bmooij)

    To be honest I do not want to mess with the preinstalled plugins from the hosting.

    I will try it locally with a fresh instance of wordpress.

    Aside from the plugins, I used a default theme “Twenty Twenty-Four” (Version: 1.3), without any customizations.

    I’ve checked the browser console for any errors during the initial page load or form submission, but there where none.

    We are primarily serving Dutch customers with iDEAL and not planning to add more payment methods in the future. If that was the case it was quickly solved by adding an other payment method.

    Thread Starter bmooij

    (@bmooij)

    Ok, I’ve verified it with a fresh version of wordpress & woocommerce. And using the default theme.

    If I only add IDEAL as payment method, I get this error. Notice this “was” with version 8.0.6 of the “Mollie Payments for WooCommerce”

    Yesterday a new version of the plugin “Mollie Payments for WooCommerce” came out (version 8.1.0), with this version I now get a 400 bad request.

    • This reply was modified 6 months, 2 weeks ago by bmooij.

    Hi @bmooij,

    Thank you for taking the time to run additional tests and for keeping us updated. Since the errors you’re experiencing are related to the Mollie Payments for WooCommerce plugin, and you’re also using iDEAL through the same plugin, it would be best to open a new topic in the plugin’s support forum so their team can assist you directly: https://wordpress.org/support/plugin/mollie-payments-for-woocommerce/.

    Please let me know if you have any other questions or need further clarification.

    Plugin Support thelmachido a11n

    (@thelmachido)

    Hi @bmooij

    It’s been a while since we heard back from you for this reason we are closing this thread. 

    If WooCommerce has been useful for your store and you appreciate the support you’ve received, we’d truly appreciate it if you could leave us a quick review here: 

     https://wordpress.org/support/plugin/woocommerce/reviews/#new-post

    Feel free to open a new forum topic if you run into any other problem.

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

The topic ‘Error message – No payment method selected’ is closed to new replies.