• Subject: Payment Plugins for Stripe conflict with Afterpay checkout submit

    Hi Payment Plugins team,

    We’ve confirmed a conflict between Payment Plugins for Stripe WooCommerce and our Afterpay gateway on checkout.

    When Payment Plugins for Stripe is active, Afterpay is selected correctly in checkout. I confirmed in browser console:

    jQuery(‘input[name=”payment_method”]:checked’).val()

    This returns:

    afterpay

    However, clicking Complete Order does nothing. No Afterpay redirect or payment flow starts.

    If we then click over to Credit/Debit Cards, the Stripe card fields immediately show validation errors such as:

    Your card number is incomplete.
    Your card’s expiration date is incomplete.
    Your card’s security code is incomplete.

    This makes it look like the Stripe card submit/validation handler is intercepting checkout submission even though Afterpay was the selected gateway.

    We tested the following:

    • Disabled Apple Pay
    • Disabled Google Pay
    • Disabled Payment Request / Express Checkout
    • Left only standard Credit/Debit Cards active in Payment Plugins for Stripe
    • Issue still occurred
    • Deactivated CheckoutWC and tested default WooCommerce checkout
    • Issue still occurred
    • Bypassed/deactivated WP Rocket during testing
    • Issue still occurred
    • Deactivated Payment Plugins for Stripe
    • Afterpay worked immediately
    • Installed/activated the official WooCommerce Stripe Gateway instead
    • Afterpay and Stripe card payments both worked perfectly

    So the issue appears specific to Payment Plugins for Stripe, likely the standard card gateway JavaScript binding globally to the WooCommerce checkout submit event instead of only running when the Stripe card gateway is selected.

    We need to keep Stripe card payments, Apple Pay and Google Pay online, but we also need Afterpay to submit correctly when selected.

    Can you please advise how to prevent the Payment Plugins Stripe card handler from intercepting checkout submission when another gateway, such as afterpay, is selected?

    Site details:

    WooCommerce checkout
    Afterpay gateway ID: afterpay
    Stripe card gateway from Payment Plugins
    CheckoutWC was tested both active and inactive
    Official WooCommerce Stripe Gateway works correctly

    Thanks.

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

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Clayton R

    (@mrclayton)

    Hi @rivalink

    Thank you for contacting Payment Plugins. The Stripe plugin uses the click event on the place order button and it has a validation that checks the value of jQuery(‘input[name=”payment_method”]:checked’).val() before proceeding so that’s odd it wouldn’t work in the case of Aferpay.

    I suspect the value might change dynamically which is why you’re getting a different value in the console when you check. What I recommend doing is testing our 4.0.0 release candidate as it uses a different event on the checkout page.

    https://paymentplugins.com/documentation/stripe/releases/4.0.0/

    Wherever the conflict is coming from, it shouldn’t happen with version 4.0.0 because it uses the checkout_place_order_${gateway_id} event.

    Kind Regards

    Plugin Author Clayton R

    (@mrclayton)

    Hi @rivalink

    Following up on this request. You appear to have switched Stripe plugins instead of using the release candidate so shall I set this topic to resolved?

    Thanks

    Thread Starter rivalink

    (@rivalink)

    Hi, I haven’t had a chance to test version 4 as we were losing too many sales with the button not working. Will try test it asap.

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

You must be logged in to reply to this topic.