I've tested my webhooks locally, using the CLI, and they work fine. However, when I took the webhooks live and deployed them to Heroku, and went into "live" mode on Stripe (which I assume is necessary to be able to use live webhooks), Stripe just doesn't fire events at all, they don't appear in the dashboard, webhook endpoint doesn't get any requests, nothing; for example, no account.updated
when a I try to create a Connected account, or no checkout.session.complete
when I try to complete a Checkout purchase. Is there a step I've perhaps missed when taking my webhooks online?
CodePudding user response:
I ran into this issue myself- a few ideas:
- Make sure you are configured correctly in the dashboard, eg. only flip the "Test Mode" switch if you are looking at test data
- Make sure you have the endpoints set up for both live and testing. You have to add them each time
- Double-check that you're using the correct signing secret. The signing secret will be differnt for live, production testing, and local testing, even if you're using the same endpoint.
For example:
- [Production] Live - Endpoint = https://www.example.com/webhooks. Signing secret = xyz
- [Production] Testing - Endpoint = https://www.example.com/webhooks. Signing secret = abc
- [Local] Testing - Endpoint = localhost:5000/webhooks. Signing secret = efg