I've been working on an app on my dev environment and it's close enough to test on a live server. The problem is, Shopify is not sending any webhooks. I can edit my fulfillment service with a catch-all service like pipe dream, and it picks up the webhooks. When I switch it back to my live server, there's nothing. I check the server logs and it never even hits the server.
The server is hosted on Amazon.
The only thing I can think is that Shopify has some issue with Amazon servers, or the DNS is wacked.
Solved! Go to the solution
So I created three brand new servers and installed a web app to catch web requests. They were hosted on Digital Ocean, Vultr and Amazon. I then changed the fulfillment_service callback url to hit these servers, made a fulfillment request for each server from Shopify Admin and each time they received the webhook. Each server was a subdomain of my main server/'s domain.
I then went back to my server where the app is hosted, again changed the fulfillment_service callback url to mydomain.com, so it would hit mydomain.com/fulfillment_order_notification and still nothing. This new url that I set up is wide open, except for a middleware that logs requests. I can tail that log and see requests coming in when I hit it, but nothing happens from Shopify.
So is my domain blacklisted on shopify?