Custom Carrier Service not showig rates on checkout - I have development store

Topic summary

Custom app successfully registers a custom carrier service, but checkout does not display rates returned by the callback.

Setup details:

  • Carrier service payload sets name, callback_url (http://abc.local/dummy_service_callback.php), and service_discovery: true.
  • Callback script returns JSON with rates: two services (names, codes), total_price 10.00 and 20.00, currency USD, description.
  • Both callback and token URLs added to Allowed redirection URLs.
  • Testing on a development store; the app and callback run on a local machine (abc.local).

Current status:

  • OP requested suggestions twice; another participant reports the same issue and asks if it was resolved.
  • No solutions, troubleshooting steps, or confirmations provided in the thread.

Outcome:

  • Unresolved/ongoing. Key open questions include whether the remote checkout can reach the local callback endpoint and whether the response format aligns with what checkout expects.

Notes:

  • The provided code snippets are central to understanding the issue.
Summarized with AI on January 11. AI used: gpt-5.

Hi,
I’m new on Shopify apps. I’hv created a custom app that installs on shopify store admin and creates a custom service carrier. The carrier is added succesfully but the service’s call back URL is not fetching rates from the file. here is the code:

New Carrier Code (It is working fine and carrier is created succesfully):

$new_carrier = array(
	"carrier_service" => array(
		"name" => 'Custom Shipping Rate Provider',
		"callback_url" => 'http://abc.local/dummy_service_callback.php',
		"service_discovery" => true
	)
);

Callback URL file Code:

$carrier_services = [
    [
      'service_name' => 'Custom Shipping Rate 1',
      'service_code' => 'custom_rate_1',
      'total_price' => 10.00,
      'currency' => 'USD',
      'description' => 'All description is available...'
    ],
    [
      'service_name' => 'Custom Shipping Rate 2',
      'service_code' => 'custom_rate_2',
      'total_price' => 20.00,
      'currency' => 'USD',
      'description' => 'All description is available...'
    ]
  ];
  
  $callback_response = [
    'rates' => $carrier_services
  ];
  
  header('Content-Type: application/json');
  echo json_encode($callback_response);

I have added both of these URLs in the “Allowed redirection URL(s)” of the ‘app setup’
http://abc.local/generate_token.php
http://abc.local/dummy_service_callback.php

1 - I am checking this on the development store
2 - The abc.local is my local machine, so the app code is on my local machine.

Need you people’s suggestion, why the callback URL is not showing rates on the checkout
Thanks a lot.

Hi, can anyone mention what is the possible solution of issue or where I have done wrong,
Thanks

@xtramiledev

sir, have you got the problem resolved? I have the exact same issue here. If you have a fix, please share. Thanks.