Order.updated webhook called multiple times

It seems that our server is receiving multiple simultaneous requests to the endpoint we’ve set up for the order.updated webhook in the Checkout API.


The server is returning 200 each time (I’ve verified the payload is the same each time as well).
There are rate limits on a 3rd party api that we are calling on each request so it’s problematic from that standpoint. Is this expected behavior?

Yes, this is the expected behavior with webhooks. Orders are often updated after being created and paid for which triggers multiple update events. :slightly_smiling_face:

@Bryan-Square, as I can see, many users complain about this issue of having multiple simultaneous webhook notifications when there is no logical reason to do it. We as developers are looking to get notified when a customer literally “updates” the mentioned record, but Square’s API send many notifications about internal changes that we never can retrieve because these notifications are sent simultaneously. And on the other side, it’s impossible for any regular 3rd party api to have a system in place to receive multiple notifications for the same event and compare one with the other without saving it first, which makes it required to save all those notifications and then run processes to identify duplicates or latest versions and then act upon those findings. These requirements are none sense. The webhook notifications in any other system than Square, usually send the data once and only for changes that matter to any 3rd party API as customers interactions that would never do multiple changes at the same time. If Square would based webhook notifications on human behavior, as any other API out there does, this issue would never happen because humans are not that fast to cause many updates literally ‘at the same time’, don’t you think?