To me, your question distills down to the Byzantine Generals problem. Short answer, yes, use webhooks.
You can write a lot of the transaction data to your db at the same time as you send it to Stripe, but using webhooks is a good idea for verifying events that are complex (refunds come to mind) have processed correctly. Stripe is pretty good about giving you useful synchronous responses, it depends on your use case, as always. I like using webhooks for everything remotely important that relies on a 3rd party service. It gives more verification that what you thought happened, actually happened. The fact you are dealing with customers and money are good darn reasons to do a little bit of "extra" work to protect your business and your sanity. https://en.wikipedia.org/wiki/Byzantine_fault_tolerance