Notification
If any service wishes to be informed of something that has happend on an order a notification is registered on the order. One way to do this is simply posting new hooks to an order when doing something else on the order, for example a payment adapter tasked with creating a payment on an order can at the same time create hooks on the order. Another way is to create a configuration that specifies that a notification should be added to an order on creation.
Once the notification is added to an order any change on the scope of the notification will check the notification schema if the notification should be triggered, if it should the order service will add a notification event on an internal message bus.
The notification service will pick up the message on the bus, create an Event and attempt to invoke the notification url. Every attempt is added to the event with information about how it went, like status code.
You can use the Notification API to filter for events, fetch a specific event and even retry a specific event.