Skip to main content

Express Payment Buttons Not Clickable In UpCart

This article explains how to troubleshoot Shopify express checkout buttons, when they aren't working in UpCart

Updated over a week ago

Overview

Sometimes express checkout buttons aren’t clickable or don’t show up in UpCart— this is a common issue and mostly caused by how Shopify controls these buttons. In this guide, we’ll show you why this happens and what you can do to fix it.


Required Setup for the New Module

⚠️ These steps are intended for use with the new Express Payments module in UpCart, not the legacy version.

To make express checkout buttons work properly in UpCart, you must add a required snippet of code to your theme. Without this, Shopify won’t load the payment buttons correctly inside the cart drawer.

Here’s the code to add:

Refer to the Express Payments Module Guide for instructions on adding this code and completing your setup.


Why This Happens

Express payment buttons are handled entirely by Shopify, not UpCart. Here's what that means for you:

  • Shopify limits express buttons to only one spot per page (e.g., product page, cart drawer, checkout). If they appear elsewhere, Shopify may block them in UpCart.

  • Apple Pay only shows on Apple devices with Apple Pay set up.

  • UpCart can’t choose which buttons display—we only load the Shopify container and apply some light styling.

🎨 Note

The buttons in UpCart serve as visual containers, while the content and functionality within them are fully controlled by Shopify. As a result, we’re unable to modify their behavior or appearance.

Shopify Updated Documentation:


Common Problems & Fixes

Here are the most common reasons your express payment buttons might not be working—and how to fix each one.

1. Your theme has extra express checkout buttons

If your theme or app already adds express buttons (e.g., in the product page or another drawer), Shopify will block UpCart’s version.

What to do:

  • Look for express checkout code in your theme files (theme.liquid, cart.liquid, drawer.liquid, etc.)

  • Remove extra instances if possible so Shopify can allow UpCart’s version to work

  • Or ask your theme developer to remove them for you

2. Theme settings show express buttons elsewhere

Some themes let you toggle express buttons in settings.

What to do:

  • Open your Online Store > Themes > Customize

  • Disable express button options in the product page or cart drawer if they're turned on

  • Shopify will prioritize those over UpCart, so turning them off helps resolve the conflict.

3. CSS is blocking the buttons

Some themes hide the buttons by default using CSS (display: none) or other styling tricks. Below is an example of what this can look like:

What to do:

  • Check your store’s CSS

  • Have your theme developer review it

  • Make sure nothing is hiding or disabling the buttons in the cart drawer.

4. Legacy settings are interfering

If you used the older version of the Express Payments module, any saved settings may conflict with the new version.

What to do:

  • Go to the old Express Payments module (if still visible in UpCart).

  • Uncheck any options that were previously selected.

  • Save and retest to avoid interference with the new setup.


Still Having Issues?

Disable Shadow DOM in UpCart

Sometimes Shopify buttons can’t update correctly because Shadow DOM is turned on in UpCart.

What is Shadow DOM?

Shadow DOM keeps UpCart separate from other parts of your store’s code. This improves stability—but in rare cases, like this one, it can block express payment buttons from updating properly.

How to Disable Shadow Dom:

  1. Go to UpCart Editor > Settings > Advanced Settings

  2. Uncheck Shadow DOM

  3. Save and test again

⚠️ Important

Be sure to test your cart after turning off Shadow DOM, as it may affect other apps or theme elements.


Need More Help?

If you're still stuck after trying the above steps:

  • Reach out to your theme developer for help removing conflicting code or settings.

  • You can also hire a Shopify Expert for advanced theme edits or integration support.

Did this answer your question?