you can just run these calls as data apis and return and save the data to the database without a webhook? if you do that then you can force the order of operations
if you want to keep the webhooks you could do a forward pass for the one that needs to run after the first one - just reschedule it on another api workflow for a few seconds in the future
for stripe I setup the customer and order when they initiate checkout process (runs in backend) so by the time they get to the payment page it is ready to go (otherwise there is a few seconds delay before the payment module shows). on order completion I send the data to the backend and then use data apis to store the necessary information.
I’m not sure if the workflows aren’t running because they are triggered at the same time. What we usually mitigate is the race condition in case they update the same thing.
Have you compared the Stripe log with the Bubble log?
I would simply make a ( yes/no) field defaulted to NO.
When the first workflow is done mark this field as YES.
Second workflow, put a condition…
Only when, ( THAT FIELD IS YES).
Not 100% sure if that will prevent the 2nd workflow completly to run as maybe everytime the condition won’t be met, but defintley i would give it a shot