Webhook isn't delivered to worker but works for e.g ngrok

Hey! I’ve gotten quite unusual issue that I can’t seem to debug. It all worked fine for the past half a year and only now started to work funny, but I can’t seem to spot an issue in the code.

Problem: When processing payments on a website, I’m supposed to receive payment status request via webhook to a url that I specify - I don’t receive it on my worker.
Let’s say, for the sake of this discussion, that the webhook URL is myWorker.dev/notify-url

What I did to debug this:

  1. Check 100 times that I’m sending myWorker.dev/notify-url value properly during payment process
  2. Check entire flow locally (using ngrok as a proxy for my backend) - the data is received on ngrok-url.com/notify-url.
  3. Check whether it’s not about endpoints capacity, remove all code on endpoint and only return 200 (not received).
  4. Use Postman and send POST request (as a way to mimick webhook) to webhook endpoint (it’s being logged in logger stream on cloudflare dashboard).

With those four points I can conclude:

  • it’s not an issue with payment API - the webhook is being delivered to ngrok when I run the flow locally
  • it’s not a direct issue with a worker, because when I ping webhook URL and use log streams to monitor, the request is there

It seems that suddenly, there’s an issue where 3rd party API provider is calling a myWorker.dev/notify-url URL and for some reason cloudflare is actually rejecting it/ignoring it.
Do you have any ideas what that could be and what I can check more?

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.