Webhook Fails with WP Discourse Plugin

The screenshot you posted above is a good indication that the payload URL is correct. The 400 response code that you are getting indicates that the WordPress server is rejecting the request. If the issue was a mismatched secret key, you would be getting a 500 response code.

If you have access to your WordPress site’s Access Log file, it would probably show you exactly what the problem is.