In short
Shopify treats a payment method as “on” or “off” for the whole store, no matter which products are in the cart. There’s no condition in the payment settings for “not for this product” or “not for this collection.” The fix is a payment customization: a rule that checks the products in the cart and hides the payment method once a blocked product, or a product from a blocked collection, is in there. These rules run as a Shopify Function directly at checkout — on any plan, but only through an app from the App Store.
The problem, in merchants’ words
The Community keeps asking variations of the same question: can a payment method be hidden on the product page, from checkout based on cart contents, or for a specific category. The reason is usually the same: a payment method is too risky or impractical for certain products — cash on delivery for bulky or high-value items, invoice for made-to-order goods, PayPal buyer protection for products the merchant doesn’t want to carry that risk on.
The native way in Shopify
Create or check the payment method: Settings › Payments. Manual methods like invoice, bank transfer or cash on delivery live under “Manual payment methods” — set a name and instructions, then activate it.
That’s as far as the admin goes. Once a method is active, it applies to every cart, regardless of what’s in it. There’s no product or collection field for an individual payment method — that includes provider-based methods with a logo, like PayPal or Klarna, which can only be turned fully on or off, never scoped to specific products.
Where Shopify stops
- Manual and provider-based payment methods have no product condition. Active means valid for every cart, whatever it contains.
- Shopify’s own fix is limited and Plus-only. Checkout Blocks can hide payment methods by product collection — a single product has to be added to its own collection first to use it that way. And the feature only runs on the Shopify Plus plan.
- The common workaround is a note in the product description or payment instructions. That informs the customer but doesn’t stop them from picking the payment method anyway.
How a payment rule solves it
The rule checks the products and collections in the cart and hides the payment method once a matching item shows up:
| Goal | Rule |
|---|---|
| No PayPal for a specific product | Product X is in the cart → hide PayPal |
| No COD for a collection (e.g. bulky goods) | An item from the “Bulky goods” collection is in the cart → hide cash on delivery |
| No invoice for made-to-order items | An item from the “Made to order” collection is in the cart → hide invoice |
What the customer sees: a cart without the blocked product shows the payment method as usual. As soon as even one item from the blocked selection is in the cart, the payment method disappears for the whole order — not just for that one line item.
Technically the rule uses Shopify’s Payment Customization Function: at checkout, Shopify hands the function the cart’s line items along with their product and collection IDs, and the function responds with “hide” once it finds a match. That runs on Shopify’s own infrastructure, without a detour through third-party servers and without touching the theme. Uninstall the app and checkout goes back to default.
Things to watch
- Collection upkeep is a prerequisite. If the rule should apply to several products, they need to be maintained in a collection — any new product you add later needs the same assignment, or the rule won’t catch it.
- The rule acts on the whole cart, not just the one line. If the blocked product sits alongside other items, the rule hides the payment method for the entire order.
- Limit: Shopify allows up to 25 active payment customizations per store, across all apps. This rule needs one.
- Combinable: The same mechanism works for any payment method and can be combined with other conditions like country or cart total.
Frequently asked questions
Can I hide a payment method on the product page or for a specific product?
Not with built-in settings. Shopify's payment settings have no field that ties a payment method to a specific product. A payment customization (an app from the App Store) checks the product and collection IDs in the cart and hides the payment method once a matching product shows up.
Can I hide a payment method from checkout based on cart contents?
Yes, but only through an app. This comes up regularly for products where cash on delivery or PayPal are too risky or impractical — high-value electronics, made-to-order items, or age-restricted products.
Can I block PayPal for a whole category or collection?
Yes, if that category is set up as a collection. A payment rule can hide PayPal whenever a product from that collection is in the cart, regardless of what else the customer adds.
Does Shopify's own Checkout Blocks cover this?
Only partially, and only on Plus. Checkout Blocks supports a product collection as a condition for hiding payment methods — a single product only works if you first add it to its own collection. And the feature is limited to the Shopify Plus plan.
Do I need Shopify Plus for a product-based payment rule?
No. Public apps built on Shopify Functions run on every plan. Only Shopify's own Checkout Blocks solution for payment rules is Plus-only.
Does the rule still work if the blocked product is just one of several items in the cart?
Yes. The rule checks every line in the cart. If the blocked product, or any item from the blocked collection, is anywhere in the cart, the rule hides the payment method for the whole order — not just for that one line.
Sources
- Shopify Help Center: Customizing payment methods and delivery options at checkout
- Shopify Help Center: Checkout Blocks — payment methods (product collection condition, Plus only)
- shopify.dev: Payment Customization Function API
- Shopify Changelog: 25 active Functions per API (May 2025)
- Shopify Help Center: Manual payment methods
- Shopify Community: "Hide payment method from checkout based on cart"
- Shopify Community: "Hide Certain Payment Methods on Product Page"