Of course it would… unless you literally want to run the same workflow when a customer makes a purchase or is given a refund (I can’t think of any logical reason for doing that, but maybe you have an example?..)
Otherwise you’ll need to use conditionals to figure out what’s going on on the backend based on the request data (which even with 2 or 3 events can get complicated)
For example, if I listen for when a user is subscribed, I would have a single condition saying;
When user Stripe Status is "active"
then say “You are subscribed”.
But if the Customer has an active subscription, then their Subscription status will ALWAYS say active, no matter what event is triggering the webhook… they might just be updating their billing address, or might have passed a threshold date before their card is due to expire, or maybe they’ve made another purchase… but their subscription status will still say Active, so if that’s all you’re doing you’re going to have a complete mess of workflows being run at the wrong times, or multiple times, etc. anytime an active subscriber triggers any event in Stripe.
This used to be very easy before Stripe changed the way webhooks are initialized. I haven’t initialized the webhook at all, I don’t know how to.
Yes, before Stripe took away their ‘Send Test Event’ button all you had to do was set up your API worklfow in Bubble to be ready to initialize, then click the send test event button.
Now that’s not an options so you need to trigger the event some other way… as I’ve said before, you can use the Stripe CLI (I haven’t used that myself, so can’t offer any help with that)…
But the simpler way (what I do, and what is shown in the Video that @ankur1 shared) is to simply trigger the event from your Bubble app…
So you can just create a temporary page in your app to do that (or use the actual page from where the event will be triggered)… or if you’re specifically using Subscriptions you can use the Stripe test clock feature to skip to future times to test subscription renewals and things like that.
Once it’s initialized be sure to remove the /initialize
from the endpoint URL in the Stripe webhook.