PayPal Buttons Not Showing at WooCommerce Checkout? Causes & Fix
The PayPal option is enabled, but the yellow buttons never appear at checkout — just an empty gap where they should be. Almost always the PayPal SDK script isn't reaching the page. Here's how to prove that in two minutes and fix it.
Last updated: 16 Jul 2026 · ~6 min read
The usual cause is that PayPal's SDK script is blocked or never enqueued. A JS optimiser that minifies, defers or combines it will break it; so will an unsupported store currency or button locations left switched off. Open the browser console at checkout and look for a request to paypal.com/sdk/js. No request, or a red error, tells you which branch you're on.
What "buttons not showing" actually means
PayPal's buttons aren't rendered by your server. WooCommerce enqueues PayPal's hosted SDK script, the browser fetches it from paypal.com, and the script draws the buttons into a container on the page. Three things must all happen: the gateway must be available, the script must load, and it must run without error. Break any one and you get an empty gap — not an error message.
That silence is why this is so annoying to debug. The customer sees a checkout with no PayPal option and leaves. You see PayPal enabled in settings and assume it's working. The browser console is the only place the truth shows up, so start there rather than in the WooCommerce settings.
The most common causes (most likely first)
- A JS optimiser is blocking or breaking the PayPal SDK scriptThe console shows no request to
paypal.com/sdk/js, or the request fires but throws. Turn off minify / combine / defer / delay-JS in your caching or optimisation plugin and the buttons come straight back. PayPal's SDK must load as its own untouched script — it cannot be combined into a bundle or delayed until user interaction. - Button locations are switched off in the gateway settingsButtons show in one place but not another — checkout but not cart, or nowhere at all — and the location checkboxes in the PayPal gateway settings are unticked. Nothing is broken; the buttons were simply never asked for on that page.
- Your store currency isn't supported by PayPalThe buttons are missing everywhere, for every customer, with a clean console and no failed request. PayPal only accepts a fixed list of currencies, and if your store currency isn't on it the gateway makes itself unavailable rather than erroring. Check the currency under
WooCommerce → Settings → Generalagainst PayPal's supported list. - PayPal onboarding or credentials are incompleteThe gateway settings screen shows the account as not connected, or the client ID field is empty. Common after a site migration, a domain change, or when live credentials were never added alongside sandbox ones.
- Cart and checkout shortcodes are on the same page — or blocks and shortcodes are mixedThe buttons render fine on a normal, separate checkout page but vanish on your combined one. The SDK expects one container per page; two carts' worth of markup on a single page leaves it unsure where to draw. A block-based checkout paired with an outdated PayPal plugin gives the same empty result.
- Another plugin's JS error stops the page before the buttons mountThis is the opposite of cause 1:
paypal.com/sdk/jsreturns 200, but an uncaught error from an unrelated file appears above it in the console. The script arrived and never got to run. A conflict test — plugins off, default theme — isolates it.
Where to look first
- Open checkout in your browser and look at the console and Network tab. Filter for
sdk/js. This single check splits the whole article: no request at all points to causes 1 to 5; a 200 plus a red error points to cause 6. - No request to PayPal at all? Turn off JS minify, combine, defer and delay-until-interaction in your optimisation plugin, clear the cache, and reload. If the buttons return, that's cause 1 — re-enable the settings one at a time and exclude the PayPal script from the one that breaks it.
- Still nothing, and the console is completely clean? Check the gateway settings: are the button locations ticked, is the account connected, and is your store currency one PayPal actually supports? That's causes 2 to 4.
- Buttons work on a plain checkout page but not yours? You're probably running cart and checkout shortcodes together, or mixing blocks with shortcodes. Split them onto separate pages and retest — that's cause 5.
- SDK loads with a 200 but nothing renders? Run a conflict test — deactivate other plugins, switch to a default theme, then re-enable in halves until the console error reappears.
Tired of finding this out from the console?
You can only see missing PayPal buttons by opening your own checkout and looking — which nobody does daily. That's the problem: this breaks silently, on an optimisation plugin update you didn't think twice about, and the first sign is a quiet week. DiagnosticIQ's free dashboard checks your checkout the way a customer's browser sees it, flags a payment gateway that's enabled in settings but not actually rendering, and the AI names the reason — down to "PayPal SDK blocked by JS optimiser" — in about 30 seconds.
Get the free plugin →Made by Prima Digital — the team behind this guide. Free forever; no card to install.
How to know you fixed it
Load checkout in a fresh private window with a real product in the cart — the PayPal buttons should render within a second, with a clean console and a 200 on paypal.com/sdk/js.
Frequently asked
Why does PayPal show in settings but not at checkout?
Because the settings only control whether WooCommerce offers the gateway. The buttons themselves are drawn by PayPal's script in the browser, and that's what's failing.
Do I have to switch off my caching plugin for good?
No. Keep it on and add PayPal's SDK to its JavaScript exclusion list. Only the PayPal script needs to be left alone.
Could an ad blocker be hiding the buttons?
For an individual customer, yes — some block third-party scripts. But if the buttons are missing for you in a clean private window, the cause is on the store side.
Am I losing orders while this is broken?
Yes, silently. Customers who only pay with PayPal see no option and leave without contacting you, so there's no complaint to tip you off.