A custom update checker for WordPress plugins. Useful if you don't want to host your project in the official WP repository, but would still like it to support automatic updates. Despite the name, it also works with themes.
I am passing valid downloadable zip file inside the json file and I'm able to download that opening the download_url directly in new browser tab .
I can see the notice of new version available but when clicking on update now link getting the following error
Update failed: Download failed. Not Found
Do you have access to request logs on the update server? If so, check if the download request shows up in those logs and if it has the expected URL and status. This will help determine if the request reaches the server or if it encounters some kind of a problem along the way.
You could try logging all HTTP requests sent by WordPress and plugins to see the full response that WordPress gets when it tries to download the update. Personally, I've done this before by using the Core Control plugin, but it has not been updated in a long time. Here's a more recent option: Log HTTP Requests.
Could it be that something on the WordPress site blocks outgoing HTTP requests? For example, if the site has a strict firewall, you may need to whitelist the update server.
Similarly, does the update server have anything that could block specific requests? For example, maybe requests sent by WordPress could look like automated traffic (because that's basically what it is), and something is trying to block all bots.
I am passing valid downloadable zip file inside the json file and I'm able to download that opening the download_url directly in new browser tab . I can see the notice of new version available but when clicking on update now link getting the following error Update failed: Download failed. Not Found