Skip to content

Tiered COD & Payment Fees by Order Amount

Shopify cannot charge shipping as a percentage of the cart — each tier stores a flat price only. Merchants still model “higher order value → higher fee” with Rate type → Order amount on a shipping rate.

Checkout is usually shipping before payment: the rate the customer picks must line up with the payment methods they’re allowed to use. This page is split so you can jump to the path you need:

For COD, the fee lives in a separate COD shipping rate (flat or tiered). Cash on Delivery Setup then links that rate to Shopify’s Cash on Delivery (COD) manual method — one guided flow, no manual Payment Customization.

Edit the COD (or any) shipping rate that should scale with cart value:

  1. Open Shopify admin → Settings → Shipping and delivery.
  2. Edit the rate (or create it). Use a unique title (include a COD keyword such as “COD” if this rate is for Cash on Delivery).
  3. Set Rate type to Order amount.
  4. Add tiers: Minimum, Maximum, and Price per band.
  5. Save.
Shopify Edit shipping option with Order amount rate type and tiered flat prices
Shopify Edit shipping option with Order amount rate type and tiered flat prices

Fee percentage

Target effective rate as a percent (e.g. 5).

Max order value

Top of the last tier — use your store currency.

Base shipping fee (optional)

A fixed amount added to every tier (e.g. real postage). Use 0.00 if the whole charge should come only from the percentage-style bands.

Tiers

How many order-amount bands to generate (e.g. 5 tiers).

You get a Minimum, Maximum, and Fee (flat) table, a footer summary, Copy as spreadsheet, a short example callout, and How to apply these tiers — all in one screen. Open the tool from the Help center or while editing Cash on Delivery Setup.

When Shopify only allows flat shipping prices, this Payflow tool takes your target fee percentage, a max order value, optional base shipping, and how many tiers you want, then shows a table you can copy into a spreadsheet and paste into Shopify’s order-amount shipping bands, with a short example of applying it in Shipping and delivery.
When Shopify only allows flat shipping prices, this Payflow tool takes your target fee percentage, a max order value, optional base shipping, and how many tiers you want, then shows a table you can copy into a spreadsheet and paste into Shopify’s order-amount shipping bands, with a short example of applying it in Shipping and delivery.

Copy each row’s Fee into Shopify’s Price for that tier, then Save. Tiers are fixed in the profile (not a live % each checkout) — see Limitations — No percentage-based fee on cart value.

Section titled “Link COD shipping to the COD payment method”

Finish in Cash on Delivery (COD) Setup: add keywords that match your COD rate name(s), confirm the COD manual payment method, set Active, and Save. Payflow shows COD only when the customer selects a matching shipping rate.


Other payment methods (same tiers, different Payflow rules) Payflow Pro

Section titled “Other payment methods (same tiers, different Payflow rules) ”

Shopify: Same as above — one named rate per checkout path and optional Order amount tiers.

Payflow: No dedicated wizard — you build two Payment Customizations yourself (Payflow Pro). Both use Hide payment methods only:

  1. Hide your method when the customer has not chosen the rate where it should appear (Shipping method nameIs not any of → those rates).
  2. Hide every other method when they have chosen that rate (Is one of the same rate(s) → Does not contain text with a substring unique to your method).

Condition type: Shipping method name. Match the customer-visible title (use Contains text or Refresh rates if admin and checkout differ). Create the shipping rate in Shopify first.

  1. Hide the target method when shipping is wrong

    • When: Shipping method nameIs not any of → the rate(s) where this payment method should appear.
    • Hide: Pre-defined / Contains text / Equals tosame targeting modes as any hide rule.
    First Payment Customization: hide Razorpay when the customer has not picked Standard shipping — so the gateway never shows on other rates
    First Payment Customization: hide Razorpay when the customer has not picked Standard shipping — so the gateway never shows on other rates

    Example above: Razorpay is only allowed when Standard shipping is selected; this rule hides Razorpay whenever shipping is anything else.

  2. On that rate, hide everything except the target method

    • When: Shipping method nameIs one of → the same rate(s).
    • Hide: Does not contain text → a substring only your method includes (e.g. Razorpay).
    Second Payment Customization: when Standard shipping is selected, hide every payment method that does not contain Razorpay — checkout then shows only Razorpay
    Second Payment Customization: when Standard shipping is selected, hide every payment method that does not contain Razorpay — checkout then shows only Razorpay

    Example above: once they’re on Standard shipping, strip out cards, COD, and other gateways so only Razorpay remains.

  • Without (1), your method could still show when the “wrong” shipping is selected.
  • Without (2), cards/COD/other gateways could still show when the “right” shipping is selected.

COD Setup does both ideas for COD in one place. For everything else, keep both customizations. In the screenshots, swap Standard shipping / Razorpay for your real rate name and checkout label.