And we have several use cases across microservices like that: a customer create orders with some products and, if the payment is successful,
the products should be delivered to the customer. So the we can perform the whole process with events and events is more understandable for customers also. These could be flow of events like;
a customer creates an order
the customer receives a payment request
if the payment is successful the stock is updated and the order is delivered
if the payment in not successful, rollback the order and set order status is not completed.
This is more humanly readable and, if a new business requirement appears, it is easier to change the flow.