Stripe Link keeps turning on in WooCommerce? Here's why — and how to keep it off

You disabled Stripe Link, saved, and it came back. Or it was off for weeks and reappeared at checkout after a routine plugin update. You're not imagining it, and you're not alone — it's one of the most-reported issues on the WooCommerce Stripe gateway. Here's exactly why it happens, how to actually make it stick, and how to stop a future update from quietly flipping it back on.

Short version: Stripe Link re-enables for two reasons — on OAuth-connected accounts its display is controlled at Stripe's end (the WooCommerce toggle can't override it), and gateway updates have repeatedly turned it back on by default. Fix: update the plugin, disable Link in WooCommerce and in your Stripe dashboard; on connected accounts the Stripe dashboard is the only place that sticks. To stop it silently returning after the next update, you need to be alerted when a payment method changes — that's what PayDrift does.

Why Stripe Link won't stay disabled

There are two separate causes, and most guides only mention one — which is why the fix so often doesn't stick:

1. On OAuth-connected accounts, Stripe controls Link — not WooCommerce

If you connected Stripe with the standard "Connect" (OAuth) flow, Link's display preference lives on Stripe's side. The WooCommerce checkbox can appear to save, but Stripe re-asserts its own setting, so Link comes back on refresh. This is a known, documented behaviour in the WooCommerce Stripe gateway — see the long-running threads on disabling Link by Stripe and GitHub issues #2479 / #2880.

2. Plugin updates re-enable it by default

Even when you can turn Link (or Payment Request / Apple & Google Pay) off, gateway updates have repeatedly switched these methods back on as a default. Because checkout still works, nothing alerts you — the method is simply live again until a customer or your accountant notices. WooCommerce itself acknowledged this pattern in 2026: a structural migration was treated as a batch of new gateway activations.

How to actually disable Stripe Link (step by step)

  1. Update the WooCommerce Stripe gateway to the latest version. A fix was rolled out to remove the old hard lock on Link; on outdated versions the toggle simply won't work.
  2. Disable it in WooCommerce: go to WooCommerce → Settings → Payments → Stripe (or the Payment Element / express-checkout section) and turn Link off. Save.
  3. Disable it in your Stripe dashboard — this is the step most people miss. Open dashboard.stripe.com/settings/link and turn Link off, and check Payment methods as well. On OAuth-connected accounts, this is the only place that sticks.
  4. Still showing? As a last resort you can force it off in code. In a small custom plugin or your theme's functions.php:
add_filter( 'wc_stripe_upe_payment_method_enabled_link', '__return_false' );
// Older gateway versions also expose the express/Payment Request toggle:
add_filter( 'wc_stripe_payment_request_supported_countries', '__return_empty_array' );
⚠️ The OAuth-locked case is the honest catch: if your account is connected via Stripe Connect, no WordPress code can override Link — the change has to happen in the Stripe dashboard. A good tool will tell you that instead of pretending to fix it.

The real problem: it keeps coming back

Say you did all of the above and Link is finally off. The trouble is that the next gateway update can quietly turn it — or PayPal "Pay in 3", or an express button — back on, and you won't know until it's been live for a while. That's not a Link problem; it's a visibility problem. WooCommerce has no native setting that locks a payment method or tells you when one changes.

Know the moment a payment method flips back on

That's exactly what PayDrift does. It snapshots your payment-method and checkout settings, diffs them after every plugin update (and once a day), and alerts you with the exact change — "Stripe Link: was off → now on." WooCommerce-controlled toggles revert in one click; for the OAuth-locked Link case it alerts you and deep-links straight to your Stripe dashboard, instead of faking a fix. Self-hosted, no account, no cloud.

See how PayDrift works

FAQ

Why does Stripe Link keep turning back on?

On OAuth-connected accounts Link is controlled at Stripe's end, so the WooCommerce toggle can't override it; and gateway updates have repeatedly re-enabled it by default. Either way it comes back without warning.

How do I permanently disable it?

Update the plugin, disable Link in WooCommerce, then disable it in the Stripe dashboard (settings/link + payment methods). On connected accounts the Stripe dashboard is the part that sticks; code filters are a last resort.

Will disabling Link break card payments?

No. Link is an accelerated-checkout layer on top of cards. Disabling it leaves card, Apple Pay and Google Pay working.

How do I stop the next update from re-enabling it?

There's no native lock. Be alerted when a payment method changes so you can revert it fast — that's what PayDrift is for.

Related: how PayDrift compares to activity logs, health monitors & settings-freeze plugins →