How to remove express checkout buttons from cart page for specific product(s)?

Topic summary

Problem: A merchant needed to hide express checkout buttons (ShopPay, PayPal, Google Pay) from the cart page for specific products only, while keeping them visible for others. They already had a solution for the checkout page but needed one for the cart page on the Dawn theme.

Initial Suggestions:

  • One user proposed hiding all express checkout buttons globally using CSS in the theme.css file
  • Another user requested the store URL to investigate further

Working Solution: The original poster found a solution by modifying the main-cart-footer.liquid file. The code checks if any cart items contain a “no-express-checkout” tag and conditionally hides the express checkout buttons only when that tag is present. Merchants can then apply this tag to specific products where express checkout should be disabled.

Status: Resolved with a product tag-based conditional display approach.

Summarized with AI on October 29. AI used: claude-sonnet-4-5-20250929.

Hi,

I’m trying to set a few specific products to only have one checkout option. I only want it to be for those select products though.

I have an addon that removes the express checkout buttons and other payment methods from checkout page, but I can’t hide the buttons in the cart page before checkout.

The ones that show are the shoppay, paypal and google pay express checkout buttons.

I’m using the dawn theme.

Any help would be appreciated.

Thanks.

2 Likes

Hey there @nbt This process should sort it out cleanly

Go to online store > theme > edit code > assets > theme.css(file) and Paste the below code at the bottom of the file → Save

#main-cart-footer .additional-checkout-buttons{
    display: none !important;
}

Hey @nbt

Welcome to Shopify Community! Can you share your Store URL so I can have a look on it? Also, if you have password enabled then please share the password as well. Your cooperation would be greatly appreciated.

Best Regards,
Moeed

For anyone looking in the future, the solution was -

Change the code in main-cart-footer.liquid from:

{%- if additional_checkout_buttons -%}
    
        {{ content_for_additional_checkout_buttons }}
    

{%- endif -%}

to:

{% assign hide_express_checkout = false %}

{% for item in cart.items %}
    {% if item.product.tags contains "no-express-checkout" %}
        {% assign hide_express_checkout = true %}
    {% endif %}
{% endfor %}

{%- if additional_checkout_buttons and hide_express_checkout == false -%}
    
        {{ content_for_additional_checkout_buttons }}
    

{%- endif -%}

then add the ‘no-express-checkout’ tag to the products you don’t want it to show on.