Registering Your Carrier Service
Your app must create a unique Carrier Service via the Shopify Admin API. A common and reliable place to handle this is during your app’s setup or onboarding flow.

Your app must create a unique Carrier Service via the Shopify Admin API. A common and reliable place to handle this is during your app’s setup or onboarding flow.
In the snippet below i search if any existing carrier service is already register on shopify, if so i just update (useful for development) else we create it.
Awesome, now shopify has ur url endpoint, now i u need to actually create it on your codebase. In the snippet below i will give a easy to use remix example
Verify the HMAC, the shop domain, and any required headers. This is the snippet i use in production i cqse u need it as well :)
I strongly recommend using Zod to validate the request body. It prevents strange Shopify payload variations from breaking your app
This is where the real power begins. Your logic can pull rates from your database, apply rules, create shipping zones, apply rush fees, calcualte distance on locations, use ai for smart pricing, just go crazy and build a fully custom shipping engine.
Carrier Services only work for merchants who meet one of the following: They have the Advanced Shopify plan, or They are on any plan but pay annually This is frequently misunderstood by merchants, so make it very clear in your UI and onboarding flow. This single detail can cause massive confusion if not explained early trust me it had so many times to us
Shopify is gradually trying to handle more shipping logic natively, which means they often update shipping behaviors, settings, or requirements. From experience, incorrect Shopify shipping settings in the merchant's store can break your Carrier Service integration. Always be aware of:
Conflicts with Shopify’s own delivery profiles and shipping rates or other 3rd party carrier services
Make sure shopify local delivery is disabled
Get to know the competition, collaborate, and enjoy being part of this amazing community