Shipping rates not being requested from Shopify store to custom app

Topic summary

Problem: Custom shipping rates from a private Shopify app were not requested during checkout; the store never called the app’s callback_url and showed the error “Your cart has been updated and the items you added can’t be shipped to your address.”

Context: The carrier was successfully registered via Shopify’s CarrierService API and appeared in Shipping and delivery settings for the target zone. Direct tests of the callback_url with Postman worked, but no logs appeared during checkout.

Cause: The callback_url endpoint was implemented to accept GET requests. Shopify’s CarrierService callback expects POST requests when requesting shipping rates.

Resolution: Update the app’s callback_url to handle POST requests (e.g., www.myapp.com/callback_url should accept POST). After changing to POST, the issue was resolved and rates were requested.

Status: Resolved. A second participant had the same issue; the fix above addresses it.

Notes: CarrierService is the Shopify API resource for registering external rate providers; callback_url is the app endpoint Shopify calls to retrieve calculated shipping rates during checkout.

Summarized with AI on February 8. AI used: gpt-5.

I am trying to implement custom shipping rates to a demo store using a private app that I’ve built.

I have registered the carrier using the endpoint mentioned in the documentation:

https://shopify.dev/api/admin-rest/2022-01/resources/carrierservice#post-carrier-services

If I call the endpoint from: https://shopify.dev/api/admin-rest/2022-01/resources/carrierservice#get-carrier-services afterwards I can see the new carrier.

When I go to the checkout in the demo store, at the shipping stage it doesn’t call the callback_url which points to my private app.

In the admin panel shop settings: Settings → Shipping and delivery → General shipping rates

For the zone there is one carrier:

Carrier Name: MyPrivateAppCarrierName

Handling fee: -

Transit time: calculated

Services: -

So it looks like it is associated to the country I want to test. When I go on the demo store’s frontend and try to go to the shipping part of the checkout I get the error:

“Your cart has been updated and the items you added can’t be shipped to your address. Remove the items to complete your order.”

I have set up a log on my private app when the callback_url is called and nothing get’s logged so I don’t think the call from the store is being made.

I’ve tested the custom callback_url that I created in Postman and I can call it and get a response.

I’m not sure why this isn’t working. Please can anyone advise a solution or more debugging steps.

Thanks,

Hi, I have the same issue, did you solve the problem?

Hey, I managed to resolve the issue that I had. When creating the Carrier Service (https://shopify.dev/api/admin-rest/2022-01/resources/carrierservice#post-carrier-services)) I had the callback URL on my app use a GET endpoint, rather than a POST endpoint. For example, www.myapp.com/callback_url needed to be able to receive POST requests.