I looked into the different order webhooks and was wondering when they are triggered. This is what I figured out so far:

  1. orders/updated is fired whenever an order is changed in any way, including when an order is created (even before it was authorized and orders/create is fired), closed or cancelled
  2. orders/create is fired when the user authorizes the payment
  3. orders/paid is fired when the merchant accepts the payment
  4. orders/fulfilled is fired when the merchant fulfills the order
  5. orders/cancelled is fired when the order is cancelled

Since orders/updated is also fired whenever the other hooks are fired, it seems as if adding an update webhook would be good enough for keeping a local datastore synced to the shop data. However, I want to confirm that my understanding of those webhooks is correct, i.e. is it true that orders/updated is always fired whenever an order changes in any way. and that the other webhooks are just aimed at more specific use cases?

Edit
Report