We have the store subscribed to 3 different webhooks
orders/paid, orders/updated, orders/cancelled
When we have a new order that is paid we get a webhook request. Works great.
We added orders/updated hook on this store and now this hook also is firing on the new order that was just generated.... is this correct?
Why is orders/updated firing on orders/paid hook?
When we cancel an order the cancel request fires but its also firing the orders/updated hook?
Why is the orders/updated firing on orders/cancelled hook?
Any help would be greatly appreciated. I'm trying to understand if we are doing something wrong or is this is the intended way the hooks have been implemented by Shopify.
We had the same issue.
Whilst I can't help with why they do this, we placed all of the order updates/cancellations/paid webhooks into a queue. In the script that processes the queue, we check for duplicates to make sure we only execute the update/cancellation once.
Hope that's of some use.
I understand this post is old, but the issue still remains as of 2021.
Why do two webhooks get called for Order Paid and Order Cancelled? i.e. in both cases you also get an additional Order Updated webhook at almost the exact same time as the the original webhook (paid or cancelled). This causes potential issues and unnecessary overhead.
In the case of Paid, we received the Updated webhook call first, then the Paid...which doesn't