Skip to content

Custom Shopify apps, checkout & paymentsClient work

Native Shipping Settings Can't Express Your Rules: Custom Shipping Rates at Checkout

Custom shipping rates at Shopify checkout through the Carrier Service API, for rules native zones and profiles can't express.

For
Stores with non-standard shipping rules
Checked

Sounds familiar?

Tick what applies to you

The situation Custom Shopify apps, checkout & payments
How do I add custom shipping rates at Shopify checkout?

Tick the lines that describe your case.

Describe my task

How I solve it

What I build

I build a Shopify app that returns your rates at checkout through the Carrier Service API, from rules a merchant can read: collection, cart total, customer tag and destination country. The callback is tokenised per shop — a long random token instead of a spoofable shop header — so it cannot be called on behalf of another store, and it fails safe: bad input returns no rates rather than breaking checkout. A validator, a simulator and append-only rule versions catch a bad rule before a buyer ever reaches the payment step. On the same rails I can package the logic as a Shopify Function for delivery and discount rules.

The process

How it works

6 steps. Scope and a fixed price are agreed before the first one.

  1. Write the rules down

    as plain conditions a merchant can read and reorder.

  2. Build the rule engine

    behind the Carrier Service callback: collection, cart total, tag, country.

  3. Tokenise the callback per shop

    and rate-limit it, so it fails safe and cannot be spoofed.

  4. Add a validator, a simulator and version history

    so a rule can be tested before it ships.

  5. Test a real cart end to end

    and confirm the rate at checkout.

  6. Hand over

    with a usage guide, a rollback, and the rules as editable data.

Handover

What you get

  • Rates computed at checkout from your own rules, not from a manual price list.
  • A callback that fails safe and is tokenised per shop.
  • A validator, simulator and rule history — change a rule without a deploy, and roll it back.
  • A usage guide written for the person who owns fulfilment.
  • An honest boundary: if a standard app already covers your rules, I will point you to it instead.

Built with

  • Shopify Carrier Service API
  • Admin GraphQL
  • Remix
  • Polaris
  • Prisma
  • PostgreSQL
  • Docker
  • Vitest

Proof

Done before, with dates and numbers

Client work Done for real clients. Client details are anonymised.

Before → after

The rules native settings could not express — free pickup for a single club or school collection, paid delivery for mixed carts — went live at checkout in a build of 66 commits over two weeks (2025-10-22 → 2025-11-03). The callback is now tokenised per shop (a 192-bit token instead of a spoofable shop header) and covered by about 320 tests across 46 test files, verified 2026-09-03.

  • Club and school kit retailer

    delivered 2025-11

    collection-aware shipping rules at checkout: free pickup for a single club or school collection, paid delivery for mixed carts, delivery-only for some collections; 66 commits over two weeks.

  • Custom shipping-rules app

    my own product line (pilot)

    a rules engine with a validator, a simulator and append-only version history; the carrier callback is tokenised per shop and fails safe, covered by about 320 tests across 46 test files.

Rated 5 out of 5 on Upwork.

provides clear instructions on how to use what was created.

Upwork client, 2025 Upwork · 2025

What you can look at

A redrawn flow — cart → rule engine → Carrier Service → checkout rate — on synthetic data, plus an excerpt of the fail-safe path where bad input returns no rates. The same logic is being packaged as a Shopify Functions demo.

Client details anonymised. Figures come from delivery records and my own test suite, 2025–2026.

Price and timeline

What it costs and how it runs

A custom shipping-rules build is a Custom Engineering Project from USD 1,500, scoped and quoted in writing after we agree the rules. If your question is only “can this rule be expressed at all?”, a Working Session at USD 195 can answer it. Discussing the task is free.

QuoteFixed before work starts

Price
Custom Engineering Project from USD 1,500, scoped and quoted in writing after we agree the rules. A one-question read is a Working Session USD 195.
Timeline
Rules agreed and a fixed quote in writing before the build. The callback is tested end to end on a real cart before handover.
First step
Describe the task. I reply within one working day, free, and tell you which option fits — or that you can fix it yourself.
Describe a task like this

A note from Daniilbefore you decide

When you don’t need this

If native shipping zones and profiles already express your rules, keep them — they are free and supported. And if a standard app on the Shopify App Store covers your case, it will cost less than a custom build, and I will say so.

— Daniil

Questions

What people ask about this

Why not just use a shipping app?

If an app covers your rules, use it. This is for the cases apps do not express: logic driven by which collections are in the cart, or by customer tags.

How are the rates calculated?

At checkout, by the Carrier Service API, from rules you define as data. No manual price list.

What happens if the callback fails?

It fails safe. Bad input returns no rates so checkout continues, instead of throwing an error that blocks the sale.

Can I change a rule without a developer?

Yes. Rules are editable data with version history and a simulator, so you can test a change before it reaches a buyer.

Does it work on non-Plus stores?

Yes. The Carrier Service API is not a Plus-only feature.

Daniil Maximkin

Hi, I’m Daniil.

I work with you from defining the problem to implementation and handover. You talk to the person who does the work. I work in English and Russian.

Have a task like this?

Describe your task

The first answer is free, within one working day. Or write directly: next@taskfordaniel.com