Checkpost

How to hide Klarna, Afterpay and COD for pre-orders on Shopify

Short answer: Hide buy-now-pay-later and cash on delivery when the cart contains pre-order products. In Checkpost, choose “Hide pay-later methods for pre-orders” from Templates, adjust the values, test it, then save and enable the rule.

The problem

Pay-later providers and cash on delivery don't fit pre-orders that ship weeks later: payment plans start before the goods exist, and COD buyers forget what they ordered. Stores selling drops and pre-orders often want card payment upfront.

How to set it up

  1. Install Checkpost from the Shopify App Store.
  2. Open Templates and choose Hide pay-later methods for pre-orders.
  3. Tag pre-order products "preorder" and list the methods to hide.
  4. Use Try this rule to test a sample cart, then click Save rule.

The rule

Hide payment methods containing "Klarna" or "Afterpay" or "Cash on Delivery" when all of these conditions is true:

Shoppers see no message: the methods are changed before checkout shows them.

Rule definition (JSON)
{
  "name": "No pay-later on pre-orders",
  "action": {
    "kind": "hide_payment",
    "methods": [
      "Klarna",
      "Afterpay",
      "Cash on Delivery"
    ],
    "match": "contains"
  },
  "match": "all",
  "conditions": [
    {
      "kind": "cart_contains",
      "filter": {
        "productTags": [
          "preorder"
        ]
      }
    }
  ]
}

Where this rule works

This changes matching payment methods that Shopify exposes to the customization. Payment rules do not have the same express-checkout coverage as cart validation. Shopify limits wallet customization and credit-card customization on non-Plus US/Canada stores. See Shopify's payment compatibility and verify your COD/manual method in a development store. Geographic payment rules currently use the first delivery group's address.

Tips

FAQ

Does it hide the methods for the whole cart?

Yes. Payment methods apply to the whole order, so one pre-order item in the cart hides them.

Can I select products by collection instead of tag?

Payment rules select products by tag. Tag the collection's products (bulk editing or Shopify Flow makes this quick).

Related rules

Add hide pay-later methods for pre-orders to your store