Multiple Webhook events for invoice.refund events

  1. When I manually process an Invoice refund (in my Square Invoices admin dashboard), I see two webhook logs (in Square Dev.) are created. I thought there should only be one?

  2. I am using my unique Webhook.site URL to subscribe to certain Square webhook events. From the above two Square webhook events (in 1. above), for some reason I am receiving two Weebhook.site event logs. This means a total of four (two for each Square webhook event). I send the data from the Webhook.site events to another application. My problem is that instead of receiving one refund webhook event in my end application, I am receiving four. I have thought about setting up a filtering process in my end App, but this is troublesome and shouldn’t be necessary. Any advice about how/why this is happening, and how to make it so I only get one Square event, and one Webhook.site event per refund?

Note that I have a similar thing set up for invoice.payment events. These are all working perfectly. I see only one Square webhook event per payment, and I also only receive one Webhook.site event.

For reference the two most recent invoice.refund event IDs are:
fda621b9-eeb0-5211-8503-212cd396f6d5 (2022-03-23 13:46:02 GMT+9)
39f9aad2-25a8-582e-bd6c-1cc83ba98e45 (2022-03-23 13:46:01 GMT+9)

Note both the above webhook events contain the same invoice id in the payload:
inv:0-ChA04brUR89eaB-B_8ZYfp-aEMsJ

Thanks in advance for assistance!

:wave: Are you subscribed to both the created and updated events? If so this is the expected behavior. Only the created event will fire once. The updated event can fire multiple times for any change to the object you’re subscribed to. :slightly_smiling_face:

Thanks for your reply.
I am subscribed to 5 events (see screenshot).

I was able to replicate this and I’m asking the team for clarification. :slightly_smiling_face:

1 Like

Any update on this Bryan?
Appreciate it. Tnx.

:wave: No update at this time but the team is looking to improve this. :slightly_smiling_face: