Skip to content

Free shipping only for prepaid orders — can a shipping rate depend on the payment method?

Not directly. In Shopify’s checkout the customer chooses the shipping rate first and the payment method after it. When the rates are shown, no payment method is selected yet, so neither Payflow nor any other app can hide or change a rate “when the customer pays by card” or “when the customer picks COD”.

Turn it around and let the shipping rate decide which payment methods show:

  1. In Shopify admin → Settings → Shipping and delivery, create two rates in each zone:
    • Prepaid rate — e.g. “PPL”, free or cheaper.
    • COD rate — e.g. “PPL – Cash on Delivery”, with the higher price or the COD fee in it. Its name must contain a keyword the prepaid rate does not have.
  2. In Payflow, set up Cash on Delivery Setup with that keyword. COD then appears only when the customer picks the COD rate.

The customer who picks the free or cheaper rate does not see COD and pays online. The one who wants COD picks the COD rate and pays its price.

Free shipping above an order value, prepaid only

Section titled “Free shipping above an order value, prepaid only”

Use Rate type → Order amount on the prepaid rate (price 0 above your threshold) and keep the COD rate at its price for every order value. See Tiered fees by order amount.