Stripe webhook setup - Step-by-step

Yes, in the value you need to enter the dynamic parameter value you want to put within the square brackets…

So you don’t put the whole URL in brackets - just the part you need to define dynamically, i.e.https://api.stripe.com/v1/subscriptions/[subscription_ID]

Then you enter a value for the ‘subscription_id’ - to initialize the API call you’ll need to enter a static, valid Subscription ID - but obviously when using the call in your actual app you’ll make that dynamic - i.e. Current User’s Subscription’s Subscription ID (or wherever it is you’re saving the subscription ID in your database)

note: you need to uncheck the Private box in order to be able to set the value dynamically in data calls in your app.

I’m not trying to do anything apart from say to a user “You are now subscribed” or “You are now unsubscribed”. My use case is literally the simplest any payment gateway can ever be.

If that’s literally all you’re trying to do then I don’t see any reason to be using any webhooks - you can just use an API call to get a user’s subscription status as and when you need it.

I don’t know what custom metadata is

Custom metadata is just any additional data, that isn’t part of any Stripe object, that you want to include in an API call - primarily for tracking purposes or so you can retrieve that data later on to make it simple to keep track of all number of things you might need to keep track of (such as the customer, the products/services/subscription, etc).